by davidpelaez on 11/15/15, 1:51 AM with 17 comments
by deckiedan on 11/15/15, 5:24 AM
Ruby is not a language that would ever be used for writing a web browser, Virtualmachine, OS kernel, or other high performance low-level software.
Nor is Go.
Rust is.
Ruby and Go are languages for writing servers, web apps, 'scripting', and high level stuff.
Rust has the interesting property that it may well be possible to write relatively sane higher-up-the-stack server software, in the land that Ruby and Go currently are popular, but it's not there yet.
If you want a replacement for Ruby, and don't want to use Go (for whatever reason), then I'd really advise asking "Why?", first.
If you want to learn and grow as a programmer, then learn a bunch of languages, and don't get too hung up on whether or nor they'll last. There's a good chance that in 20 years time we'll all be using something totally weird and different, so learning a bunch of different ways of working and learning to think in different terms from Ruby may be more use than any specific language. Learn Haskell, Rust, Racket, Erlang, Assembly, Forth, Ada, Fortran, C, D, Clojure and Scala, say.
If you want a very practical language for writing server stuff, quickly and without having to learn too much new stuff straight away, then maybe look at Elixir, Kotlin or Ceylon.
If you're happy with Ruby, then there's no real reason not to stick with it. It's a good language, and a lot of fun to use. (Elixir is superficially similar, if the aesthetic of Ruby code really appeals to you).
Rust should be pretty easy to write extensions for ruby in, so if you want to try branching out into Rust, for doing high performance / low-level stuff, then give that a go.
by derekperkins on 11/15/15, 2:48 AM
As for moving from Ruby to Rust or Go, Go is almost guaranteed to be faster for developers to learn. The reason for the complaints in the article is that Go is intentionally simple, and you're seeing many people migrating from dynamic languages to Go for those benefits. The fact that Go has its roots in C will make it immediately understandable to anyone with experience in a C-type language.
My final thought is going to address libraries and widespread acceptance. Regardless of your thoughts about Go as a language, there is no doubt it is here to stay. Underlying major technologies like Docker, it has already seen massive adoption. While initial signs are positive for Rust, you're still betting that it continues to build momentum and doesn't stagnate like Haskell.
by TheSwordsman on 11/15/15, 2:52 AM
That doesn't seem like the kind of comment to start a meaningful conversation. I must ask, what data do you have behind that statement.
I think both languages offer their own set of pros and cons.
For me, Go has been my go-to because of the maturity of the language. And, it has been implemented in systems that run at a very large scale by people within Google/YouTube as well as CloudFlare.
Would I consider it? Honestly, maybe one day. But that depends on how the language, and related things, mature over the next few years. And I think it's after the libraries have filled-in, and there is experience running systems built with it at scale.
Go is allowing me to solve the problems I have right now with some well-built packages. Is it perfect for everything, no. But it does well in a lot of areas.
by akacase on 11/15/15, 2:49 AM
by hartator on 11/15/15, 2:45 AM