I am always playing with new languages. I love learning the thinking and philosophy behind them. Usually I throw them away after one evening (mostly mee-too’s), but there are some that are very interesting and get explored a bit further, and some are of course “adopted” into your toolbox.
The last ones that I spend quite some time with were:
I was expecting to find in Go the “right” native-compiled language. Go is simple, has great (integrated) tooling, very pragmatic syntax, etc. But it has a bunch of warts that just made me very uncomfortable when translating ideas into code:
At that time Mozilla’s Rust was still immature and I did not manage to build a decent package to start playing with it.
Rust is a nice language. It is a bit noisy from the syntax, but it has been improved a lot in the latest releases. Garbage collected pointers (@) are gone and moved to the standard library which means there is now only ~ and &. But it is a language that got a lot (almost everything) “right”:
This is very similar how the Java package is structured. I also built a package for rust-bindgen, which uses clang to parse headers and generate bindings for C libraries.
08.01.2016 - Updated repository URLs and package name
So, grab one of the repositories and:
zypper ar http://download.opensuse.org/repositories/devel:/languages:/rust/openSUSE_Tumbleweed/devel:languages:rust.repo zypper ref zypper install rustc