6 ms·
Six Years of Rust
- cjohansson 5y agoRust is great, would be awesome to get paid using it
- GolDDranks 5y agoHappy birthday (or rather, stabilization day) to Rust! I really enjoy programming in it, and I sincerely hope I'll manage to use it at work soon. Some years ago, I managed to write one component of a data processing pipeline with it, and it worked well, but the whole project ended up being scrapped because of unrelated reasons. Using Rust was possible because the project was really small, so I had a lot of freedom in choosing the technologies, but at the time the ecosystem and the human part of the equation wouldn't have scaled. I think the time is significantly more ripe now. The biggest hurdles are no longer in the language itself or the tooling or lately even because of ecosystem limitations, but rather, inertia and concerns about whether there are enough people who know it, and even that is improving rapidly.
- nyanpasu64 5y ago> Once again in 2020, Rust was been voted StackOverflow's Most Loved Programming Language. Typo?
- GolDDranks 5y agoThe 2021 poll results have not been released yet. I don't think the poll itself has been conducted yet, even.
- CryZe 5y agoThe "was been" certainly is a typo at least.
- smbv 5y agoI got into using Rust fairly recently (after using Go and Python almost exclusively for the past few years) and I just want to say that this is the first time in a while that I've really enjoyed programming. It's like C, but not C? I love it.
- vascocosta 5y agoPython and Go are also the main languages I've been using for the last decade. Noticing all the hype around Rust recently is prompting me to learn a new language. The last time I learnt a language from scratch was Go around 2010. Go was fascinating to learn, precisely because it looked like C, but it wasn't. Another aspect that makes me love Go is its minimalism and concurrency features. I also used to enjoy C++ and Java quite a lot for larger projects, so tell me, can I expect Rust to somehow remind me a bit of Go in comparison to C++ and Java? In other words, a simpler, more concise and more enjoyable to use version of C++ for instance?
- masklinn 5y ago> can I expect Rust to somehow remind me a bit of Go in comparison to C++ and Java? Nope. Go and Java are about on the same "complexity plane" (Java is there 20 years later and having made different choices obviously, but the original java was not so different). Rust is a much more complex language, in large part due to its purpose. It's often compared / conflated with Go because they arose around the same time, because the initial versions of Rust were much closer to applications languages (and Go e.g. runtime, green threads, segmented non-C stacks, …), and because Go's designers misleadingly called Go it a systems language. Rust is more like taking OCaml, or Haskell, painting it in a C/C++ livery, and making it suitable as an actual replacement for C with all that implies.
- eikenberry 5y ago> Go's designers misleadingly called Go it a systems language. I think one definition of what a systems language is one that you would use to write operating systems. I'd also call K8ts an distributed operating system and Hashicorp tools as components of one. Doesn't seem a huge stretch to call Go a modern systems language.
- thesuperbigfrog 5y agoIt is very exciting to hear about Ferrocene and Rust on Android: https://ferrous-systems.com/ferrocene/ https://ferrous-systems.com/ferrocene/ https://security.googleblog.com/2021/04/rust-in-android-platform.html https://security.googleblog.com/2021/04/rust-in-android-plat... More adoption for low-level, embedded, and safety critical domains will help Rust to mature in these domains and provide competition and new developments where there is too much complacency and stagnation.
- api 5y agoOne of these — global shared mutable state - is almost always horrible bad practice and leads to unwieldy code that is hard to test or compose with other code. It’s also a major culprit in bugs that arise when shared objects are used in multithreaded programs. I practice the rule that shared variables are always const and use e.g. const_cast if they need to be lazily initialized. I also make sure to make any lazy initialization thread safe. There are very few cases when a global mutable is good. Usually these arise in things like embedded or kernel code that by definition is only run as a single instance or if you need something like a global random number generator or global singleton access to something by definition unique. Even in the latter cases it makes me itch a little.
- leshow 5y agoHappy birthday Rust! It's crazy to think personally that it's been 6 years since I stumbled on this little esoteric language on hacker news and decided it might be fun to learn. Ended up changing the trajectory of my career in a big way. I owe a lot to Rust!
- nynx 5y agoHere’s to 600 more!
- toomanyducks 5y agoI'm curious if anyone has experience maintaining (not writing from scratch) pre-existing systems in Rust - now that it's 6 years old (!), what's it like to interact with in contexts where you aren't building from the ground up?
- Kenji 5y agoI am maintaining part of a popular Rust crate. Working on existing Rust code and modifying it is a pleasure. It's a lot of fun and I wouldn't trade it back for C++ in a million years.
- forgotpwd16 5y agoHow stable Rust is? That is does, and how often if it does, your crate break or becomes (idiomatically) outdated when a new Rust version is released? Can I for example compile with the latest Rust compiler 1,2,..6 year old code?
- nindalf 5y agoYour code will always compile with newer versions of the compiler. It will never break when you upgrade your compiler. (Modulo bugs that are rare and fixed quickly). The 6-year old Rust 1.0 stability guarantee still holds. > Can I for example compile with the latest Rust compiler 1,2,..6 year old code? Yes. There have been some backward incompatible changes, but those are opt-in. So it wouldn't affect you.
- Kenji 5y agoYou usually have a Minimum Supported Rust Version (MSRV). Depending on crate this has to be set higher or lower. Of course you try to support old Rust compilers as long as possible, but you will bump it up once in a while. Rust has become fairly stable now, especially since it's past the 1.0 release so stuff largely remains backwards compatible. You usually see MSRV requiring a compiler younger than 1-2 years, that's what I'm used to seeing.
- pjmlp 5y agoHappy birthday, to many more years and increase in security across the IT stack.