I've just "incompleted" my first Rust project: a Minecraft server. I gave up due to the protocol, not Rust. I finally learned the damn thing after spouting its hypothetical advantages all over the internet. My overall conclusion was correct, but the reasoning incorrect. The borrow checker is an amazing pair programmer, but that's not the primary reason I'm having genuine fun.<p>Rust is a systems language that <i>is a pleasure to build.</i> This "how to build on Mac/Windows/OSX" is a non-issue and should be a non-issue. Solving how to build something is an utter waste of time and is complete bullshit.<p>Please, for the sanity of the rest of us, stop using C build systems. They are just unbelievably terrible; people have tried and tried, but you can only do so much with a fundamentally flawed bad idea.
> Jon Gjengset<p>> The Rust programming language has become a serious contender in the space of "systems" programming languages, and has recently been adopted by many of the tech giants for "serious" projects. In response to this, more companies are now considering whether they too should add Rust to their tech stack. This talk hopes to help you make that decision. We go through how the language compares to many current alternatives and what the language has to offer, but also what it's primary drawbacks are and its long-term viability prospects.<p><a href="https://jon.thesquareplanet.com/slides/considering-rust/export.pdf" rel="nofollow">https://jon.thesquareplanet.com/slides/considering-rust/expo...</a>
I've been getting into Rust lately and really enjoying it so far. Coming from JavaScript, It can feel a bit verbose at times and I'm still trying to get an intuitive grasp of ownership but it feels like a really small cost compared to say C/C++. A nice bonus is that it has very good support for WebAssembly/Node.js which makes it easy to start using Rust for some JavaScript modules without having to re-write the whole codebase. And finally, the community is still very noob-friendly.
I'm 20 minutes in and he's spending a lot of time talking about how Rust gets correctness right.<p>Are there any anecdotal stories about how Rust programs have fewer errors?<p>Facebook, for example, rewrote Messenger with ReasonML:<p><a href="https://reasonml.github.io/blog/2017/09/08/messenger-50-reason" rel="nofollow">https://reasonml.github.io/blog/2017/09/08/messenger-50-reas...</a><p>And it had a lot fewer bugs:<p>"Messenger used to receive bugs reports on a daily basis; since the introduction of Reason, there have been a total of 10 bugs (that's during the whole year, not per week)! *"
Rust is interesting, so I decided to include it in a 3 language prototyping project. I wanted to experience how it is to code for these languages, compared to the outcome. The project was dead simple, read 2 files concurrently and match lines by id's. Data was a bit unstructured, some lines would go unmatched, some would be duplicates, and report on that while deallocating memory for processing large filesizes.<p>Ruby: Quick fun building the classes and methods. A bit trial and error on dynamic errors. Processing was 40x slower than golang implementation though, so felt a bit discouraging after the fact. But was fun language to prototype OO in! Nice for quick'n dirty projects.<p>Golang: I didn't find need for OO or interfaces, so simplified for processing code mostly. The language helped in this regard, as it is quite imperative-driven. Golang was the fastest language to develop in, and showed Ruby version to be a bit over-engineered.<p>Rust: Never coded in Rust before, I searched SO for most relevant code examples and patched it up from several examples. I didn't go into the deeper end of things or optimize anything, but instead spent 90% of the time writing naive processing code while battling the compiler. If I'd been proficient, perhaps no battle, but this required the longest dev time and processing was noticably slower than Go, though not by a factor.<p>From this short anecdotal experience: Ruby for quick'n dirty fun or OO modelling. Golang for prototyping <i>and</i> initial versions. Rust for where <i>you know</i> you need safe parallellism and special optimizations. Right tool for the job!
Even as a fan of Rust I've become exhausted by these posts. Surely everyone on here must at this point know what Rust is and roughly why people use it?
Can somebody please explain why Rust has so much buzz right now compared to scala?<p>Scala is a strongly typed, very-well vetted, functional programming language in the JVM. It pretty much has everything going for it. It's even adopted by twitter.