6 ms·
I'm curious what the distinction is between Rust (driven by Mozilla) and Go (driven by Google).
by ipsum2 7y ago
I'm curious what the distinction is between Rust (driven by Mozilla) and Go (driven by Google).
- ncmncm 7y agoRust has largely broken out of Mozilla already. If it can maintain its growth rate (not guaranteed, but so far so good) it will have a future. Check back in five years.
- baby 7y agoIt's a very different language than Golang though, very expressive, generics, no GC, etc.
- ncmncm 7y agoYou say that like those are bad things. Yes, the borrow checker is a PITA vs. Go, but there are compensations.
- baby 7y agoThese are not bad things if you’re writing system code.
- spopejoy 7y agoIs there ever a plan for GC?
- remram 7y agoThere are garbage collection libraries in progress: rust-gc[1] and shifgrethor[2]. If you mean language support, then no, not really, though it was discussed in https://github.com/rust-lang/rfcs/issues/415 https://github.com/rust-lang/rfcs/issues/415 [1]: https://github.com/Manishearth/rust-gc https://github.com/Manishearth/rust-gc [2]: https://github.com/withoutboats/shifgrethor https://github.com/withoutboats/shifgrethor
- collinmanderson 7y agoI feel like not having a GC is rust’s biggest advantage over higher level languages. It allows rust to work in environments that only languages like C, C++ can work in. (Embedded, shared libraries, etc)
- spopejoy 7y agoI more meant "GC for those who want it", as advanced GC with Edens and mark-sweep tenured generations can handle high-allocation and large-heap scenarios that are extremely challenging for simpler MM approaches. I don't know if this really can be done as a library though.
- ehsankia 7y agoI had a similar question, but rather, what's the difference between Go with Google deciding what goes in, and Python (a year ago) where the BDFL and a couple core devs decide what go in? Sure you could argue that a company may have different incentives than a BDFL, but in this context, it's not clear that Go would've been more likely to accept the change you're proposing if they weren't being led by Google.
- simonh 7y agoGuido always took the role of gatekeeper and arbiter (I'll consult with the community and decide what submissions go in) rather than a true dictator (I'll decide what goes in... submissions? What submissions?).
- uranusjr 7y agoI guess the most important distinction is the “B” part (benevolent). Guido is called that because he is known (since before BDFL is a thing) to listen to other people, and adapt when they disagree strongly with his decisions. Google has never demonstrated the same attitude afaict, and in multiple occasions showed exactly the opposite. Edit: And to answer the question, no, there’s no philosophical differences. And there’s nothing wrong with that. Python never called itself a community’s language (there are instances core devs said in no ambiguous terms that it is Guido’s project). The problem only arises if a project gives an impression that it is owned by the community when it actually isn’t.
- remus 7y agoGiven that the go core team has committed to adding generics I don't think it's fair to say they don't listen to critique from the community. Is there a more contentious issue in go?!
- pjmlp 7y agoNot really, that is the hand waving when the issue ever pops up. Rob Pike already stated publicly that he is against the proposed idea for Go 2.0. "Rob Pike - Go 2 Draft Specifications" - https://www.youtube.com/watch?v=RIvL2ONhFBI https://www.youtube.com/watch?v=RIvL2ONhFBI
- calcifer 7y agoBy my count, fewer than half of Rust's core team [1] are Mozilla employees, whereas the number is 100% for Go. Rust also has a very clear and open governance model [2], where the Go team is more closer to "we'll do what we want". [1] https://www.rust-lang.org/governance/teams/core https://www.rust-lang.org/governance/teams/core [2] https://www.rust-lang.org/governance https://www.rust-lang.org/governance