9 ms·
Rust started as a personal project in 2006
- nimfan 5y ago"The apartment we moved into in 2005 had an elevator whose firmware often crashed, requiring walking up 21 floors." As a sw dev, I'd be sad too!
- Sharlin 5y agoYeah, I can so relate.
- speed_spread 5y agoStill better than the firmware crashing the elevator down 21 floors.
- tasha0663 5y agoThis is what happens when you use the (wiki) encyclopedia to write your paper. It's a paraphrase of "First appearing in 2010, Rust was designed by Graydon Hoare at Mozilla Research". See me after class!
- rascul 5y agoI had thought I remembered seeing something about how rust actually started in Graydon's apartment pre-2010. But then, later on, everything I saw said it was started at Mozilla, and I thought maybe I misremembered. But I was right!
- jacquesm 5y agoIt isn't rare at all for the origins of successful products to be claimed by multiple parties. I've had a first row seat to some people making off with my work and taking credit for it. Somewhat entertaining when they are asked pointed questions about how it all works and the fall right through the floor into the basement.
- kevingadd 5y agoWild, I had no idea. I sat next to some of the Mozilla Research people working on Rust when it was new so I just assumed that was where it started. In retrospect it makes sense that it was a personal project that pivoted into an official one, since emscripten was (afaik) the same.
- k__ 5y agoNice to see that Rust, the first language to really compete with C, was incepted by a dude in private because he had an elevator with shitty firmware.
- pjmlp 5y agoThere were plenty of such languages, the only thing going for C was UNIX, just like the browser for JavaScript.
- int0x80 5y agoI know were you are comming from, but it was very much not the only thing. The elegant model of C pointers to model memory and CPUs are definitely good aspects of C as well as its speed, transparency and overall simplicitity. Trying to claim that Dennis Richie's design is just bad as you constantly do in any thread mentioning C is just completely missing the point and couldn't be more wrong. One thing is pointing out problems of C and another very different is saying that the only thing going for C is UNIX.
- pjmlp 5y agoIf UNIX had won by being a successful commercial product instead of winning for being free beer, I might agree, but usually people don't look into the mounth of horses given as presents.
- deleted 5y ago[deleted]
- k__ 5y agoAh, yes. I assumed that C and Unix had "won" vor many decades already.
- pjmlp 5y agoYes, free beer usually "wins" the party.
- brandmeyer 5y agoIts also important to note that Rust changed radically in its early life. Here's one of its core authors describing some of the changes they went through (in part) as a result of dogfooding the language in its own compiler, in the context of BitC's failures: https://news.ycombinator.com/item?id=3750882 https://news.ycombinator.com/item?id=3750882 The language it had evolved into by 2012 is also radically different from the language it became by 1.0 in 2015.
- secondcoming 5y agoIt's interesting that he invented Rust but hasn't worked on it in 9 years. I'm not sure I'd be able to walk away like that.
- nicoburns 5y agoThe changelog is also worth a read. It goes all the way back to 0.1 in 2012: https://github.com/rust-lang/rust/blob/master/RELEASES.md https://github.com/rust-lang/rust/blob/master/RELEASES.md
- lioeters 5y agoThat long comment was insightful, comparing how Rust and Go solved (or avoided altogether) similar concerns. > ..we would have never found these things so early unless we had written the Rust compiler in Rust itself. It forces us to use the language constantly, and we quickly find pain points. I highly encourage all languages to do the same; it's a great way to find and shake out design issues early. This reminded me of Lisp, meta-circular interpreters, and self-hosted compilers. Reading up on Rust's beginnings, I learned that: > The language grew out of a personal project begun in 2006.. [In 2010] work shifted from the initial compiler (written in OCaml) to an LLVM-based self-hosting compiler written in Rust. Named rustc, it successfully compiled itself in 2011.
- brundolf 5y agoI know there are many benefits to self-hosting, but I’ve wondered in the past if it biases language design towards compiler-writing. Depending on the language’s primary domain (maybe with Rust it’s less of a concern), compilers as a usecase can be fairly unusual, in terms of both requirements and what makes them ergonomic to write. So if self-hosting inspires you to shape the language to make early accommodations for writing the compiler, that may not necessarily be the best thing in the long run.
- craigching 5y agoI think I remember that before there was git, I was following the monotone project of which Graydon was the lead. I think I remember when he left monotone to work on some new language for Mozilla, which was Rust.
- fmakunbound 5y agoI wonder when he interviews, do they still ask him to fizzbuzz and search a binary tree.
- granshaw 5y agoSystems design on how he’d build a hotel booking site
- cdbattags 5y agoJust had one of these myself for a CTO position
- semitones 5y agoMe too.... Fractal?
- speed_spread 5y agoI prefer asking for video rental store design. The fact that it's a dead business relic relieves from any performance consideration and allows focusing on meaningless "fun". There are no bad answers. It's interesting just to see how people envision a project top-down. Some people go for the DB, some are more OO oriented...
- gameswithgo 5y agohopefully not but i bet he also doesn’t pretend he can’t search a tree
- penguin_booze 5y agoInvert a binary tree -- that'll teach him!
- antifa 5y agoMy wishlist is something that is essentially coffeescript for rust, basically rust without semicolons or the borrow checker. The ruby syntax is not specifically important, but generally desirable. Ideally it would transpile individual files directly to rust with a GC or RC boilerplate sprinkled into it, then run the full rust compiler. Nim and Crystal are nice, but are not rust under the hood. This would open rust up more to smaller brained devs like me who can't do full rust full time. I think it's generally underestimated how valuable this would be to establishing the rust utopia we all want to see.
- UncleMeat 5y agoWhy Rust instead of C or C++ if you don’t want the borrow checker? That’s the whole thing that makes it superior to alternatives!
- antifa 5y agoThe goal is to abstract away the borrow checker for the business logic of software I write, not for the borrow checker to be absent from a rust compiler.
- chrismorgan 5y agoHonestly, if you remove the borrow checker from Rust, it’s radically not Rust any more. I hold that the defining feature of Rust is its ownership model; and there’s nothing left of that without the borrow checker. (You could assign similar semantics and just not check them, but without the ability to check them they’re completely useless.) Most of Rust’s design hinges upon the ownership model, and most features that it has are there at least in significant part to make the ownership model work or be tolerable. To be sure, you could create a dynamic/scripting language with algebraic data types (enum) and a struct/impl divide; even traits are possible, though mix generics in and it’ll be decidedly bothersome to achieve any sort of speed, yet you kinda need generics for traits to make sense over classical OOP (there’s a reason scripting languages tend to go for classes and such—Rust-style traits work excellently compiled, but not so well dynamic). But you’re talking about converting such code into Rust, and I say: without ownership modelling and the borrow checker you have absolutely no chance of converting it to anything but completely unsafe Rust code (as in: Rust will slow you down and gain you nothing, you should generate something like C instead). And you can’t just sling GC at it: Rust is really quite poorly equipped for that style of box-everything GC code, and the only ways of making it work at all will perform very badly.
- Shadonototra 5y agoIt died and became political when mozilla started to pick it, wich predates 2006, no matter what that dude says, dated papers proves it
- steveklabnik 5y ago"That dude" is the person who created it, so he would know. And if you knew him at all or followed Rust's development at all or even just read some of his comments on reddit when this topic comes up, you'd know that you were wrong: https://www.reddit.com/r/rust/comments/450zy7/comment/czuixjc/?utm_source=reddit&utm_medium=web2x&context=3 https://www.reddit.com/r/rust/comments/450zy7/comment/czuixj... > The Rust CoC has been in place since day one. [...] I wrote it before releasing any code, before even agreeing to work on such a project for Mozilla.
- mlindner 5y agoDoesn't matter when it was added. It was still a poor idea and remains so today. The "CoC phase" will be a thing we look back to being a transient period of oddness in the software industry. CoCs are weapons used by the privileged against the unprivileged.
- Shadonototra 5y ago> The Rust project was originally conceived in 2010 (depending on how you count, you might even say 2006!) as a Mozilla Research project https://blog.rust-lang.org/2020/08/18/laying-the-foundation-for-rusts-future.html https://blog.rust-lang.org/2020/08/18/laying-the-foundation-... Who is a liar? that dude or mozilla? or both?
- steveklabnik 5y agoThe "you might even say 2006" links to Graydon (aka 'that dude')'s initial commits. There's no discrepancy here. The Rust Project, aka the whole apparatus around developing Rust, started at Mozilla in 2010. The language was a personal project for just Graydon before that. They're two related but distinct things, and you could argue "Rust" started at either of them, depending on in what sense you mean. That Graydon started Rust on his own in 2006 is not disputed by anyone with knowledge of the facts, including the very post you linked. You also in your original comment said Mozilla picked it before 2006, which is also impossible and simply incorrect.
- pornel 5y agoHere’s the state of Rust as it was presented to Mozilla: http://venge.net/graydon/talks/intro-talk-2.pdf http://venge.net/graydon/talks/intro-talk-2.pdf The goals of the language remained the same, but implementation changed a lot since then. It used to be more like Erlang than C.