4 ms·
Was Erlang designed in light of any ancestor languages? Or is it fairly original - create from scratch? I'm interested in the language design process.
by dasmithii 12y ago
Was Erlang designed in light of any ancestor languages? Or is it fairly original - create from scratch?
I'm interested in the language design process.
- rheese-archer 12y agoYou can read about it in detail in Joe Armstrong's master thesis. I would recommend it be read from cover to cover: http://www.erlang.org/download/armstrong_thesis_2003.pdf http://www.erlang.org/download/armstrong_thesis_2003.pdf
- dasmithii 12y agoThank you - this looks like a great resource, and I'll definitely follow your advice.
- signa11 12y agoalso, might consider reading this seminal paper from jim-gray (tandem computers) "Why Do Computers Stop and What Can Be Done About It?" http://www.hpl.hp.com/techreports/tandem/TR-85.7.pdf http://www.hpl.hp.com/techreports/tandem/TR-85.7.pdf edit: if you look at the timelines, the thesis was presented in 2003, and is the result of stuff that started off in 1981. pretty cool (fwiw)
- adamnemecek 12y agoNot to nitpick but it seems like it's a doctoral thesis.
- davidw 12y agoThe syntax apparently borrows from Prolog, since the first version was built with Prolog, from what I've read.
- leoc 12y agoApparently http://delivery.acm.org/10.1145/1240000/1238850/a6-armstrong.pdf http://delivery.acm.org/10.1145/1240000/1238850/a6-armstrong... , PLEX https://en.wikipedia.org/wiki/PLEX_(programming_language) https://en.wikipedia.org/wiki/PLEX_(programming_language) .
- rdtsc 12y agoTry to find some of Joe Armstrong's talk on the history. It is pretty interesting. Unlike some academic languages, this one was created by a company with a few set of well defined goals. On of the top ones was high concurrency and fault tolerance. I think they have succeeded and later on, it turns out those same features came to be very useful for concurrent writing large concurrent and fault tolerant services. So in way it was created from scratch. It has a Prolog like feel but that is superficial only. Prolog was used as the original implementation platform. It is also interesting they didn't explicitly indent to make a "functional" language or use "actor programming" or "CSP" and so on. Those things fell out of the original requirements of fault tolerance and concurrency.