8 ms·
What’s New with “The Rust Programming Language”?
- ardit33 10y agoI have a serious question: Is anybody using Rust in production? I mean, I have seen so many countless blogs about it, but I have yet to hear it being used seriously. At this point it looks like it is just a lot noise/marketing but no real large scale deployments yet and why is this?
- nercury 10y agoIt takes time to build things.
- steveklabnik 10y agohttps://www.rust-lang.org/en-US/friends.html https://www.rust-lang.org/en-US/friends.html Lots of names that will be familiar to the HN crowd on there: Dropbox, Coursera, Habitat (Chef), Postmates, Sandstorm... Also, Mozilla's logo is up there, but it's in Firefox now, specifically. Just a small amount of code, though hundreds of millions of users is a big deployment.
- sotojuan 10y ago> At this point it looks like it is just a lot noise/marketing but no real large scale deployments yet and why is this? Maybe because unless you're building a new product from scratch (that fits Rust's use case), it's hard/impossible to either convince your boss or your team to switch?
- steveklabnik 10y agoWe've seen success with people using it as part of a stack, rather than a new product. For example, Coursera, which didn't change their product, but integrated Rust into their deployment structure. Or Skylight, which re-wrote a Ruby gem from Ruby into Rust, without changing anything else about the rest of their product.
- eximius 10y agoFrom what I can tell, there are plenty of production uses that are specialized enough to not really be shareable. There aren't any killer frameworks to attract the same attention products from other languages might get.
- pornel 10y agoFWIW, I'm using it for https://imageoptim.com/api https://imageoptim.com/api — it's an image compression API. Rust is at its very core (with high-level fluff in NodeJS). It's not large scale yet, but that's only because I'm just starting. Rust is working great. It's stable and reliable. I don't love Cargo, but it's still sooo much better than autotools. I've got efficiency I need for pixel-pushing, and I'm not worried that an off-by-one error will get my servers owned.
- namelezz 10y agoWhy don't you like Cargo? Do you use pure Rust or have FFIs to C libs?
- seanlane 10y agoWired has an article describing how Dropbox switched over to Rust as they moved away from AWS: http://www.wired.com/2016/03/epic-story-dropboxs-exodus-amazon-cloud-empire/ http://www.wired.com/2016/03/epic-story-dropboxs-exodus-amaz...
- jat850 10y agoSteve, TRPL has proven a fantastic resource for learning Rust. I'm wondering if you have a plan for how it will track the advancement of the Rust language itself - do you intend to maintain a version of the book for major point releases of Rust, minor point releases, etc? I wish I could cite some specific examples but I didn't keep notes, but I think I've come across a a few instances where, say, something behaved differently in Rust 1.10 versus Rust 1.12. Will the book attempt to tackle this?
- steveklabnik 10y agoThis is a great question, with a lot of details. So, let's start from the beginning. In a sense, there _is_ a version for each version of the language: * https://doc.rust-lang.org/1.8.0/book/ * https://doc.rust-lang.org/1.9.0/book/ * https://doc.rust-lang.org/1.10.0/book/ etc. Since the current book is stored in-tree, this is just part of the regular release cycle. That said, I haven't been working on the book because I've been working on the new book, so it's largely the same, just with some typos. The second bit is, thanks to the stability guarantees, these days, the book doesn't really go out of date. Everything works. That said, there are sometimes new features added that it doesn't always cover; this is really tricky in general. There's an overall tension here, since it's an official project: I feel the need to be comprehensive, yet a good text is often defined just as much by what you leave out as what you put in. So the book tries to be _mostly_ comprehensive, but not totally so. So it's okay if new features aren't immediately in the book. This also ties into Rust itself, and something the team has been thinking a lot about. With most languages, you have major releases in order to sort of chronicle the language through history: new idioms, new features, etc. With our release schedule, and no plans to make a "2.0, major breaking changes everything is different" release, we don't have that normal point to tell the story of how Rust is changing. So I can imagine that major updates to the book will happen along these same "epochs", as Rust changes over time. We're still trying to figure that all out, though. But the key is that many Rust releases aren't game-changing: only some features actually change idioms. Finally, No Starch will be publishing the book in paper form. So there's also the question of that, but at the moment, we're mostly interested in shipping this one, but everyone is on board with _some_ sort of periodic refresh of the printed edition as well. We'll see how it goes. Does that make sense?
- steveklabnik 10y agoHi all! As always, happy to answer questions here.
- kevinmgranger 10y agoThe Rust Programming Language remains as one of the best introductions I've had to a new programming language. I thank you for your work on it.
- steveklabnik 10y agoThank you so much. :)
- bluejekyll 10y agoYes, and the work on the documentation in general. It's amazing. So many other young languages are crap in this area, even mature ones. I think the thing that makes Rust amazing is that it's young, and yet well documented, making it easier to get started. Can't thank you enough, nice work.
- sdegutis 10y agoSlightly off topic, but the previous blog post's embedded tweet isn't centered like it seems like it was meant to be. Just caught me off guard and figured I should mention it.
- steveklabnik 10y agoThanks, I'll check it out. Dunno what's up. Gah!
- code18 10y agoJust a quick comment, there's no date on the post, at least when viewing it via mobile. It's kinda important when you're reading an article with the title "what's new ... ". :)
- 10y ago
- EduardoBautista 10y agoI really like Rust. As someone who never had a formal computer science education, the early version of this book helped me understand how programs handled memory in a way that no other resource has been able to. I started looking at my Ruby programs and would focus on trying to reduce the amount of memory allocations in order to improve performance, and it worked. Even though I don't think I am going to use Rust in a production environment soon, it taught me to think about my code in a new way. It definitely is a language that everyone should take the time to learn.
- steveklabnik 10y agoI am really glad to hear it. One of the reasons I had made the Ruby -> Rust jump fairly easily was that I'd been programming in C for most of my life, and got a BS in CS. But I also know that a _ton_ of people have not. So it's really really important to both me and the Rust team broadly that we make Rust accessible to this crowd. (I also agree with you with going back to Ruby; I look at my code now and go "oh no so many allocations" "oh no is this threadsafe I have no idea" :) I will still always love Ruby though. )
- dman 10y agoOne feature request - could the book be made available in info format so that its idiomatically integrated into emacs?
- steveklabnik 10y agoIs there a good markdown -> info converter? I don't use emacs.
- dbaupp 10y agoThe default answer for "is there a X to Y?" converter for text formats is pandoc, so one could possibly go markdown -(pandoc)-> texinfo -(makeinfo)-> info. I do not know if this is sufficiently high fidelity.
- dman 10y agoWill give this pipeline a shot and see what the results look like.
- seeekr 10y agoOT/typo: "and I’m proud to have her name next time mine on the cover" should have -time and +to. Keep up the good work!
- steveklabnik 10y agoGah, thanks!
- doppp 10y agoHas anyone used Rust for game development? I know about the Piston engine but has anyone successfully released a commercial game on Windows, Mac OS X and Linux with it or is it still pretty much an academic endeavour to make games in Rust?
- rsaarelm 10y agoI've been developing a hobby game engine and did a 7-day roguelike with it last year: https://github.com/rsaarelm/phage https://github.com/rsaarelm/phage I'd say it's about on par with C++, effort-wise. Big learning curve to get something as complex as a game off the ground, and you need to think about the design, but I can't think of many long-term annoyances. The ecosystem is still sparse, so viable game projects will probably skew towards 2D and otherwise modest scale.
- carols10cents 10y agoThere's Shar Bringer, which is still in progress but is looking like it's gotten way past academic: https://www.reddit.com/r/rust_gamedev/comments/4qlftu/look_our_game_writen_entirely_in_rust/ https://www.reddit.com/r/rust_gamedev/comments/4qlftu/look_o...