Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I feel like the author of this piece doesn't really have personal knowledge about what he is talking about.

I use Go and I use Erlang. I've never used Akka.

Go is not in the same class as Erlang when it comes to Cloud Computing. In Erlang the state and behavior of your entire datacenter can be contained in Erlang itself. Erlang will take care of bringing up new processes when your jobs break. Erlang will handle messaging between processes executing on different machines.

Go doesn't do any of that out of the box. There are some interesting projects like Go Circuit, which sort of kinda want to emulate Erlang's OTP and bring your datacenter behavior into Go, but Go Circuit isn't being run in production by anyone I have heard of. Maybe its ready to go, but it looks more like a research project to me.

As such, Go has nothing to do with managing a cluster other than that it gives you some nice single node concurrency features. You will need to build or import everything else you need.

I can't think of anything else out there which is quite like Erlang/OTP. Maybe Julia has some tools that are similar but I don't know too much about it.

Edit: For those Go programmers that are interested in what I'm talking about, check out this concise explanation from the Erlang docs: http://www.erlang.org/doc/getting_started/conc_prog.html

Erlang isn't as user friendly as Go, but it has a lot of stuff that can save you serious headaches if you think you will need to scale. Premature optimization is a waste of time ... blah blah etc., so maybe you don't need it for your project. Also Go on App Engine allegedly scales pretty well with very little programmer effort.



Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: