3 ms·
A genuine non-flamebait question - if one were to write a Whatsapp-like messaging system today, would you use Erlang, Elixir,Scala,Java 8 or Go? I'm kind of wo
by sandGorgon 12y ago
A genuine non-flamebait question - if one were to write a Whatsapp-like messaging system today, would you use Erlang, Elixir,Scala,Java 8 or Go?
I'm kind of wondering whether Go is not already eating into Erlang (and Scala). I am not an expert, but I understand that Go is not at par with Erlang today, but I am wondering about a 3-year bet for a startup.
- vertex-four 12y agoI would definitely go for either Erlang/OTP or Scala+Akka. No other platform you mention has built-in support for clustering to the extent that OTP and Akka do.
- samuell 12y agoYeah. Go is good for multi-core, but does not provide anything in terms of multi-node distribution. Even Rob Pike admitted (at GopherCon this year) the language would need some fundamental changes to support that.
- mhd 12y agoAs most people will tell you, it's not really all about the concurrency with Erlang, but more about the reliability that comes with the general programming model, the runtime and OTP. Compared to that, I'm not even willing to bet that within 3 years Go resolves their typesafety issues.
- sh1ps 12y agoI (personally) would bet on Elixir, particularly if the team writing it would be learning an alternative like Go anyway. Go can try to reach parity with Erlang one day...but Elixir already is Erlang...That combined with the fact that Elixir's package management already feels light years ahead of Go's disaster and I think it's a winner. I'm sure I'm wrong and the flames of Go lovers will engulf me in the responses, so take this with a mountain of salt.
- sandGorgon 12y agoAre you taking into account the recent efforts in the Go ecosystem to fix the pkg management issue [1] I may be short sighted, but I seeing the ecosystem around Go to be much more ... accelerated than Erlang. [1]https://news.ycombinator.com/item?id=7956078 https://news.ycombinator.com/item?id=7956078
- findjashua 12y agoFrom a technical standpoint, I'd say Elixir. Advantages over Go: 1. Reliability (OTP, supervisor, pre-emptive scheduling) 2. Clean code (error handling, higher order functions) 3. Far superior package management Advantages over Erlang: 1. Extensible (Macros) 2. Familiar syntax for Rails developers That being said, Go definitely has the advantage when it comes to marketing/hype (Google, Unix daddy etc), which as you can judge by the success of Node and Mongo, sadly trumps technical merit even in the tech community.