[HN Gopher] My favorite Erlang Program (2013)
___________________________________________________________________
My favorite Erlang Program (2013)
Author : notamy
Score : 112 points
Date : 2022-06-06 12:01 UTC (1 days ago)
(HTM) web link (joearms.github.io)
(TXT) w3m dump (joearms.github.io)
| jimbokun wrote:
| 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?
| eismcc wrote:
| There seems to be a tipping point where above the line a
| developer starts removing work and below the line work is
| created
| sph wrote:
| 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?
| account-5 wrote:
| APL should suit you down to the ground.
| sph wrote:
| Learning array programming is something I'd like to do one
| day. Is there anything more approachable than APL and k?
| shaunxcode wrote:
| My favorite APL book is "APL with a mathematical accent".
| atulatul wrote:
| Following couple of short videos should interest you. How
| simple primitives can be used to build mechanisms. These are
| part of Erlang MOOC.
|
| 1. Joe talks about 'Turning Sequential Code Into Concurrent
| Code'
| https://www.youtube.com/watch?v=brklJ6yTH50&list=PLlML6SMLMR...
|
| 2. Next, 'Abstracting Patterns of Concurrency':
| https://www.youtube.com/watch?v=cvtrxeh8ZA8&list=PLlML6SMLMR...
| sph wrote:
| I hadn't seen those videos before, thanks.
|
| Let me add one to the list: "The Soul of Erlang and Elixir *
| Sasa Juric" -- https://www.youtube.com/watch?v=JvBT4XBdoUE
|
| I'm positive this video can turn any software engineer into a
| BEAM/OTP convert. It's one of my favourite demos.
| el_oni wrote:
| 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
| ubq323 wrote:
| why does this page need javascript to render anything? it's a
| static page...
| clone1018 wrote:
| 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.
| capableweb wrote:
| 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
|
| > All faults are mine and mine alone
|
| > Appears to work :-)
|
| Points to https://github.com/joearms/bookmaker which doesn't
| seem to exist anymore.
| Zababa wrote:
| https://joearms.github.io/index.html#Index
| ts0000 wrote:
| Comment section.
| napsterbr wrote:
| We miss you, Joe!
| Zhyl wrote:
| >"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.
| lloeki wrote:
| 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.
| Zhyl wrote:
| I would be interested in reading those if you wrote them!
___________________________________________________________________
(page generated 2022-06-07 23:02 UTC)