4 ms·
Applies in any language. If the non trivial problem is well defined and you solve it, using a distributed computing pattern, e.g. lots of c++ process communicat
by easytiger 12y ago
Applies in any language. If the non trivial problem is well defined and you solve it, using a distributed computing pattern, e.g. lots of c++ process communicating over a specific transport (say zeromq) using a unified object description (say protobuf) then you get pretty close to this exact same promise. That's essentially how most erlang solutions feel to me at least.
Am i missing something?
- rdtsc 12y agoYou are not, very good observation. I am doing the same with Python. Except in Erlang you can have a lot more processes and distribution & serialization is built it + many other diagnostic and debugging tools. The point about function idempotent and minimization of state made by Ulf Wiger is also important I think. Being able to test a function will all the inputs and then say, well it works and this part is done. While if it is a method attached to a large object you might not be able to easily do that without lots of mocks. This of course applies to any language too not just Erlang.
- CmonDev 12y agoYes, Erlang is pretty much a domain-specific language for reliable distributed computation. With all the pluses and minuses of DSLs.
- easytiger 12y agoYes, i see your point. I did read the Armstong book many years ago and played with erlang and was blown over by its feature set. This definitely bled into some of my current work along with the zeromq book by Pieter Hintjens. This led me to my current work where i fully reimplemented a couple of existing commercial solutions my client had purchased for $millions in licensing fees and simply boiled it down in to a series of steps which were then implemented in single threaded processes (except for one!) in python communicating as above. With almost no magic the throughput and timliness of the data increased 10 fold. Then these processes were individually rewritten in c++ & one particular one in java and the throughput increased massively again. My point being this whole divide and conquer thing is totally legit :)