> From: Alessandro Pellizzari <a...@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