4 ms·
And again, people compare Go and Rust while they have completely different goals. Go is about capturing dynamic languages' flow of development and put that on
by rakoo 12y ago
And again, people compare Go and Rust while they have completely different goals.
Go is about capturing dynamic languages' flow of development and put that on top of types and static compilation so you can improve early on performance and correctness (That doesn't even include inserting a "generic" way of coding concurrent processes).
Rust is much more about replacing C++ in features (from my little-knowledge POV): provide higher-level constructs to model your problem than raw C, with a heavy control over memory for maximum correctness and performance.
Rust may be better designed, yet I find it much more verbose and harder to understand than Go. While this may be a reason for the difference of adoption, a much bigger reason must be the difference in maturity.
- coldtea 12y ago>Go is about capturing dynamic languages' flow of development The only features it has regarding that is GC, built-in hash-table and type inference. Hardly the gist of what makes dynamic languages flow a fast/nice one. Plus Go was also advertised as "systems language" -- and besides, the same kind of programs Go is used for, servers, REST, network infrastructure stuff, etc, Rust will be used for too. It's not like Rust is only (or primarily) for anything much lower level than Go.
- rakoo 12y ago> The only features it has regarding that is GC, built-in hash-table and type inference. No, the real feature is understanding that a language doesn't stop at the syntax, the tooling and the environment are extremely important: - unless you want to build multiple binaries in one command, there is no need for any build helper. - hack-compile-test cycles are really short, to the point you can run simplest go programs as scripts - go has its own package manager, allowing you to manage dependencies extremely easily (not technically specific to dynamic languages, but in practice often associated with them) (Note that I'd prefer if everything was managed by my OS package manager, but we're not there yet) The go creators (and community) has spent a lot of effort in improving the overall development environment, and this is a characteristic I have seen more developed in dynamic languages (again, I'm not saying that it's tied to a type of language, but I have seen this more developed with the pythubyerlascripts) > It's not like Rust is only (or primarily) for anything much lower level than Go. It's not, It's just targeted at different problems. You wouldn't use Go to build a game engine [1] (you need tight control over memory and have some realtime requirements), and I'm not sure you need the tight control that Rust gives you over memory when you build an image processing server [2] (you'll need concurrency primitives for this) [1] https://github.com/Jeaye/q3 https://github.com/Jeaye/q3 [2] https://github.com/ReshNesh/pixlserv https://github.com/ReshNesh/pixlserv
- pjmlp 12y ago> You wouldn't use Go to build a game engine Why not?! Not all game engines need to be the next CryEngine or Unreal. http://azul3d.org/ http://azul3d.org/ https://www.youtube.com/watch?v=cjn3twYB7xQ&list=UU7n_g2xDySrmKRaf41rSwlg https://www.youtube.com/watch?v=cjn3twYB7xQ&list=UU7n_g2xDyS... https://www.youtube.com/watch?v=uzQ2dnVac3Y&list=UU7n_g2xDySrmKRaf41rSwlg&index=4 https://www.youtube.com/watch?v=uzQ2dnVac3Y&list=UU7n_g2xDyS...