3 ms·
I second some of the comments posted there. I have been following Rust's evolution since its beginnings --as mainly an embedded systems programmer I was acquai
by pjbk 7y ago
I second some of the comments posted there.
I have been following Rust's evolution since its beginnings --as mainly an embedded systems programmer I was acquainted with Cyclone-- and through the years I have tried its different incarnations. The syntax, library support and environment has improved considerably. I have been trying to use it more in my work and personal projects, now that libraries have matured (specially networking and parsers/formatters) and has a better async model which is realtime-friendly. The availability of high level structures like tuples and traits are big time savers, and like Go and Python it can interoperate with C relatively easy.
The issue with the language is that it is an acquired taste. You only appreciate it once you know its history and the problems it is particularly trying to solve. That being said, some design decisions still feel arbitrary or an afterthought, which is annoying.
Most of my colleagues that program in high-level compiled languages and have tried it, hate it. For them it feels like a crippled C++ or Java that is unnecessarily restricted and with too much ad-hoc features ("why do you thought abusing the OR operator for closures was a good idea!"). The other half, which have been programming in C and Assembly (or more esoteric languages like Ada or Erlang) under certified environments for quite some time, are too much invested in those to make a change at this point. They recognize some advantages of the language as nice features to have, but nothing that will fundamentally change their systems programming. And it's another language to learn, track and target tools and libraries...
With more and more stuff moving to the Web and needing more high-level abstractions and becoming further declarative in nature, languages and environments have been getting increasingly polarized. Rust right now is stuck in the lonely middle ground. Perhaps it's just a good general purpose niche language for things that need safety and security like money transactions, and compiling browsers and webassembly applications. The language is still evolving and being actively maintained, thus only time will tell.