For a long time I have been maintaining the build of the Rust compiler and development tools on Haiku. For this purpose, I maintain a separate tree with the Rust source, with some patches and specific build instructions. My ultimate end goal is to have Rust build on Haiku from the original source, without any specific patches or workarounds. Instead we are in the situation where we cannot build rust on Haiku itself (instead we need to cross-compile it), and we need a customization to be able to run the Rust compiler (
rustc
) and package manager (cargo
) on Haiku. This summer my goal would be to find out the underlying issue, and fix it so that the patch will no longer be necessary in the future. Let’s go!
There seems to be quite a bit of excitement around the Rust programming language, so it makes sense for Haiku to jump on the bandwagon as well.
Why? Why does it have such an awful name? Calling things “rusty” is rarely a compliment.
I see a number of good reasons mentioned:
https://stackoverflow.com/questions/16494822/why-is-it-called-rust
I don’t. All I see is a bunch of unfunny puns in an effort to explain away a truly awful name. Good luck getting anything named “rust” approved by management. Compare with novel names like “Java” and “Kotlin” or evocative names like “Python”.
And yes, when it comes to adoption, such things make a difference.
You have no clue.
As long as it’s not a cussword or anything pornographic, no moderately competent organization gives a shit about the name of the programming language.
One of the most popular source control systems in use today is named “Git”.
If a tool solves a problem well, smart managers will listen and not make knee-jerk decisions; if they do, smart engineers won’t stick around for very long.
Git does not have a negative meaning to the vast majority of the world.
It’s happening. A lot of companies are starting to use Rust. https://github.com/omarabid/rust-companies
The name “Rust” is not equivalent to “BrainF***k”. It’s fine, and it’s doing fine. It’s as nonsensical and innocuous as anything else people have come up with to name a programming language. B, C, C++, D, R, Go, Fortran, Prolog, PHP, Pascal, Python, Java, Eiffel, Swift, Javascript, Lua, C#, IronPython, IronRuby, Perl, Raku, Nim, Crystal, Zig, Haskell, Elixir, LISP, F#, Scala, Clojure, etc.
Not being used or backed by a large corporation would be a bigger barrier to the use of Rust, but luckily Mozilla picked it up early on which gave Rust some serious credibility.
It also doesn’t hurt that it allows high programmer efficiency, compiled binaries, and close to C and C++ performance. Programmer efficiency is something which drove the adoption of interpreted languages, and now there is Rust which offers similar efficiency in a compiled language. It’s a no brainer to switch.
Bryan,
Yet so many managers have made knee jerk decisions when it comes to anything “cloud”. Two services can sell the same thing, yet the one using “the cloud” gets a lot of irrational favoritism. While I don’t think the name necessarily hurts languages like rust, I do think a better name might evoke more irrational favoritism (because I don’t have faith in the objectivity of most managers).
Flatland_Spider,
Ah, BrainF**k, now there’s a language that didn’t get a fair shake because of it’s name
I think there should be a prize to anyone who can convince their manager to use ArnoldC, haha.
https://github.com/lhartikk/ArnoldC
Don’t even get me started on cloud crap. That word nowadays is thrown around way too often. Every time I hear it I want to cringe. Most cloud services I’ve used are way too unreliable even though in a way they’re sold as if they are MORE reliable.
There were also “quite a bit of excitement” around many other programming languages that are now defunct (C#, R, Haskell, etc.) and I don’t see any difference with this rusty new one (pun intended).
C# is a frank success, ranking in the top10 or even top5 languages depending on what you measure. R is still trending up and surprisingly popular for a language specialized in statistics. Haskell has always been as influential as it’s been niche, but its popularity seems stable.
Rust is uniquely appealing because it combines the performance and versatility of C or C++ with safety that surpasses even most GC languages, modern tooling, and good APIs. It’s of course not the best tool for every job, but I expect it’ll steadily gain popularity during the next 10 years at least.
Haskell is a functional programming language and as a result it was not *meant* to be widely adopted. Functional programming is genuinely hard for complex problems but also rewarding since your programs have no side-effects guaranteed. But in our world where time-to-market is king for most software, Haskell was never meant to be popular. And functional programming languages also face competition from Excel when it comes to small problems.
Yes, Excel is meant to be used as “poor man’s functional programming” in case you never noticed. It was never meant to solve imaginary problems like helping households add shopping lists.
franzrogar,
You might say something like vb.net is defunct because microsoft stopped updating it, but C# is obviously not. It seems like what you meant to say is that they haven’t become dominant.
A lot of languages have genuine merit, but for better or worse merit isn’t always enough to overtake incumbents. It’s a matter of timing. C is inferior to most languages designed with the benefit of hindsight, but it became the de-facto language of choice with unix early on. All the mainstream operating systems as C based, then you’ve got a lot of popular IOT platforms and microcontrollers that encourage you to use C like arduinos. The new GPGPU programming paradigms are C/C++ based, this all cements it’s role for many more generations. I try to break free from it sometimes but given the dominance of C you create a lot more work and limitations for yourself by going against the grain. So even people like me who support alternatives end up crawling back to C over pragmatic reasons.
Also, Intel heavily optimized their processors to run C quickly, so when people benchmarked languages, C was quicker then others.
This is changing thanks to Moore’s law. There is TinyGo, for microcontrollers. https://tinygo.org/ Micorpython. http://micropython.org/ NodeJS which has been ported to lots of them.
I blame GPGPU being C based on C and Fortran ruling the HPC space. Plus, everything has a C foreign function interface to interoperate with C code, so it’s the path of least resistance. Of course, I just write stuff to run on top of the OS, so it’s not like I have some deep insight in to all of this.
You clearly have a very particular definition for the term “defunct” that does not seem to align with the common use of the word.
C# is pretty much alive and kicking in the Windows ecosystem. And R is very popular among its intended audience.
Rust fills a niche which others do not. Compiled, memory safe language which is suitable for systems programming. It’s biggest competition is D, but D hasn’t really taken off. D even has a several decade headstart on Rust.