Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Programming languages for distributed system [closed]

I've been doing socket programming for a while in C++, and kind of got tired of having to write the same code to handle for errors, serializing / deserializing data, etc.

Are there programming languages out there that have first-class support for distributed system?

like image 294
sivabudh Avatar asked Jul 23 '10 22:07

sivabudh


2 Answers

Erlang, as described by Wikipedia:

It was designed by Ericsson to support distributed, fault-tolerant, soft-real-time, non-stop applications.

You might also want to read the Distributed Erlang section of their manual.

However, note that Erlang is a functional language and will require a much different paradigm of thought as compared to C++.

like image 141
Mark Rushakoff Avatar answered Sep 20 '22 20:09

Mark Rushakoff


Go-Lang from Google is a pretty new language. It seems that among its many attributes, it may some day be suitable for large distributed systems requiring a lot of message queues to achieve scalable consistent and reliable behaviours, at least according to these folks at heroku.

Go seems to be focused on concurrency issues, threading primitives in the language, and so on, and this is perhaps a necessary-but-not-quite-sufficient starting point for distributed systems. Perhaps their thoughts will be helpful to you. I wouldn't call Go-lang's support for distributed systems "first-class", but rather, say that it would be possible to build a first class distributed-systems framework using Go's library and language primitives.

Update: I'm less impressed with Go several years later. I think it suffers from some sad and limited thinking on the part of its authors. I think its decisions on fault and exception handling are retrograde, and render the language unusable.

Update-2016: I'm actually impressed with Go again. I now think in terms of large team development where having N-factorial implementation options leads to N-factorial different coding tarpits. At least Go doesn't seem to have labrea scale tarpits, only certain conventional mudwallows. They absolutely love tabs and will insert them into your code for you if you fail to love them enough.

like image 29
Warren P Avatar answered Sep 21 '22 20:09

Warren P