It speaks volumes of any kind of technology when you can express novel ideas on top of very simple concepts. Sure, you could do that in any other language, but the fact that it's 5 lines of code eloquently shows what Erlang is optimised _for_. It's the perfect level of abstraction for client/server logic.
Not sure where I'm going with this, I just think there is some kind of mathematical beauty when you can express complex ideas with as few symbols as possible. Writing a Universal Server in Java would be like writing a differential equation using only the four basic mathematical operation. Is that really ideal?
I love this demo, it what got me to pick up Sasa's book.
I was attending a show and tell following seeing this where an engineer was trying to isolate failure of certain functions from the rest of the system and i sent this to them.
No idea if they watched it but i became an OTP evangelist in that moment
>“What example program would best exemplify Erlang”
This should be more of a thing. When I see example code, I often see "Hello World", or tutorials which go through the primitives and other syntax.
What I want is a short program that shows the language doing something that it does well. Kotlin doing the job of lots of Java, JQ transforming JSON easier than trying to regex it, k doing insane things in 20 characters.
Tangentially related, since I had the (mis)fortune of having to write production code in 20+ languages over the years - not necessarily deep but not one-line-change-hackjob surface level either, more of the kind that requires to get to grips with fundamentals of the language at good enough level for code to be known reliable - I contemplated writing a series of articles about what made a given language feel like what it is at its core, how some syntax features, first-class items, data structures or object model, hierarchy design, conspire to make Ruby Rubyesque, Python pythonic, LISP lispy... reaching not to style, not to function, but to essence.
The end goal was not just theoretical but pragmatic, as giving in to the language and adapting my thought process seemed in my experience to increase productivity, reliability, and maintainability by several orders of magnitude, in connection with non-programming languages and linguistic relativity.
When the 10x developer topic comes up, I think about people like Joe Armstrong or Peter Norvig.
They come up to solutions to problems that very few others would even think of. How many times more productive does a solution like this make Armstrong, compared to the median developer?
Looks like the website is actually a thin layer of JavaScript that converts the blog post from markdown, injects it as HTML, and then renders the comments below it. Without JS the site is just a hidden textarea.
I'm not sure it's markdown specifically, seems to be a homegrown markup language, made by Joe himself. Here is the "renderer" part of the website: https://joearms.github.io/src/expander.js
> expander.js - a markup parser
> Hopefully the last JS I every write
> Very few regular expressions were used in the construction of this program
> No libraries were were used in the construction of this program
Not sure where I'm going with this, I just think there is some kind of mathematical beauty when you can express complex ideas with as few symbols as possible. Writing a Universal Server in Java would be like writing a differential equation using only the four basic mathematical operation. Is that really ideal?