Re: [Vala] Vala++
- From: Dmitry Golovin <dima golovin in>
- To: Al Thomas <astavale yahoo co uk>, "vala-list gnome org" <vala-list gnome org>
- Subject: Re: [Vala] Vala++
- Date: Wed, 05 Apr 2017 13:45:03 +0300
04.04.2017, 15:29, "Al Thomas via vala-list" <vala-list gnome org>:
From: Alessandro Pellizzari <alex amiran it>
Sent: Tuesday, 4 April 2017, 10:27
Subject: Re: [Vala] Vala++
You seem to over talking Rust and under talking Vala.
Rust, on the other hand, is a general language, that can be used for
many things: CLI apps, OS kernels, C-compatible libraries, GUI apps,
servers, web apps, etc. etc.
The https://www.rust-lang.org/ website still labels Rust as a "systems
programming language", but going through your list and applying Vala:
CLI apps, for Vala see:
https://valadoc.org/glib-2.0/GLib.OptionEntry.html - for handling args
https://wiki.gnome.org/Projects/Vala/IoChannelsSample - for handling pipes
https://valadoc.org/curses/Curses.html - although an ncurses binding would
be good
OS kernels, well that's not a good use of Vala
C-compatible libraries, surprisingly the Vala compiler is mainly in a
C compatible library called libvala. If you want to write a library in
Vala then a few tips:
--hide-internal switch of valac controls symbol visibility with GLib's
G_GNUC_INTERNAL macro
Producing a GIR with valac and then using g-ir-compiler allows bindings
to be produced that can be used in many languages
There is the beginnings of a tutorial at
https://wiki.gnome.org/Projects/Vala/LibraryWriting
GUI apps, hmmm GTK+3 anyone? Vala includes excellent bindings and also
composite template code generation routines with the use of the
[GtkTemplate] attribute.
Servers, web apps, etc. :
[DBus] attribute for code generation
https://valadoc.org/gio-2.0/GLib.Socket.html
https://github.com/arteymix/valum/ and importantly work on Vala Server
Gateway Interface (VSGI)
http://www.ambitionframework.org/
Maybe all of these don't fit with your needs, but there is an active Vala
community and I hope these examples have broadened your outlook a little.
Bacause of this, the ecosystem is many times bigger, so it's easier to
find skilled devs, but also crates (linkable libraries), bindings for
current libraries, etc.
There are certainly more resources put in to Rust. Remember it is sponsored
by Mozilla. There is a core team:
https://www.rust-lang.org/en-US/team.html
and some of them are paid to work full team, e.g.:
https://news.ycombinator.com/item?id=13324458
Mozilla's audited financial statement for 2015 (
https://static.mozilla.com/moco/en-US/pdf/2015_Mozilla_Audited_Financial_Statement.pdf) shows $414,380,000
in royalty revenue and $214,187,000 software development
expenditure. Whereas the GNOME Fiscal Report for 2015 (
https://www.gnome.org/wp-content/uploads/2016/08/GAR2015-web.pdf ) shows an income of $644,174. Notice the
missing zeros at the end there.
Vala follows a very different development model. What is amazing that after
a decade from the initial release Vala is still going strong. Look at the
latest release notes (
https://mail.gnome.org/archives/ftp-release-list/2017-March/msg00119.html ) and you see at the end 31
people credited with contributions.
Vala/Genie is a very useful tool for producing performant native binaries for
a wide range of applications. Including embedded systems, command line and text
based user interfaces and graphical user interfaces.
Vala certainly has some rough edges that need smoothing off before any
1.0 release - but that is another thread :-) If you wish to participate
then great, otherwise good luck with your chosen development platform.
Al
P.S. for a more critical view of Rust one article is
http://esr.ibiblio.org/?p=7294&cpage=1
_______________________________________________
vala-list mailing list
vala-list gnome org
https://mail.gnome.org/mailman/listinfo/vala-list
Hello,
OS kernels, well that's not a good use of Vala
Well, maybe it is not the best use of Vala, but it is definitely possible to have kernel written in Vala.
Here are some links:
- Multiboot kernel written in Vala: http://sites.google.com/site/mfpuentear/Home/multiboot-vala.tar.bz2
- Linux kernel module written in Vala: (sorry, can't find the link but it exists)
- posixvala: https://github.com/radare/posixvala
- Vala for AVR microcontrollers: https://github.com/apmasell/avr-vala
But the majority is using Vala for graphical applications.
Regards,
Dmitry
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]