HN Hall of Fame Weekly email

Why do we need modules at all? (2011)

Screenshot of erlang.org captured 2026-07-20
Page preview · captured 2026-07-20

Resurfaced independently across 6 calendar years, with breakout response in 3 of them.

submissions
9
submitters
8
observed span
2014–2023
peak thread · 118 comments
155 pts
latest 20+ return · 2023-09-25
116 pts

Submission timeline

2007–2026

One slot for every year since HN launched. Height is that year's peak points; orange marks a 100+ point or 50+ comment breakout. Select a bar to open its strongest thread.

First comments on top threads

HN comment order

Armstrong's proposal reminds me a bit of Emacs extensions. Since Emacs Lisp doesn't have namespaces or modules, all functions must be uniquely named which is done by prefixing them: foo-replace. This is not that different from having a module foo, as Armstrong notes: "managing a namespace with namees like foo.bar.baz.z is just as complex as managing a namespace with names like foo_bar_baz_z". But what it enabled is an Emacs community where single functions are freely shared, for example on…

Whatever you think of the idea, I think the reasoning here is interesting and instructive. 1. Start by questioning a long held assumption ("Do we need modules? Why? Is it because we stored functions in files?" Etc...) 2. Consider alternatives / what ifs. ("What if we used a database instead of files?") 3. Think through implications of the alternatives ("How would we identify functions?") IMHO, this is a powerful technique for generating new ideas. Step 4, not explicitly performed here…

Joe was such a creative thinker, and he was never (that I could tell) embarrassed by the prospect of an idea of his proving to be a poor one, so it was always interesting to hear him talk. Genuinely curious, thinking outside the box (writing a new programming language on top of Prolog?), and he treated people with utmost respect. I was a nobody lucky enough to escort him around Chicago one day when he was attending a conference, and…

This seems like an exaggeration, but look who is saying it: Joe Armstrong.

The first top-level comment from each of the four biggest threads, in HN’s own order. Excerpts are shortened; open a comment for full context.

Breakout years
3

100+ points or 50+ comments

Total points
435

reference only — not used in Hall rules or ranking

Total comments
302

reference only — not used in Hall rules or ranking

Every submission

DateTitle as submittedByPointsComments
2014-11-07Why do we need modules at all? (2011)First breakout · Best threadthomas1115576
2015-03-14Why do we need modules at all?riffraff10
2016-03-24Why do we need modules at all? (2011)bkudria30
2017-03-07Program development is state change of a Key-Value databaselkrubner25
2017-09-13Joe Armstrong: Why do we need modules at all? (2011)henridf30
2019-07-05Why do we need modules at all? (2011)albertzak11
2019-08-18Why do we need modules at all? (Joe Armstrong, 2011)tosh30
2019-08-27Why do we need modules at all? (2011)Hall inductiontosh151102
2023-09-25(Erlang) Why do we need modules at all?Latest 20+ point returnsigna11116118