

The mind-boggling universe of JavaScript module strategies - sydneyburns
https://www.airpair.com/javascript/posts/the-mind-boggling-universe-of-javascript-modules?utm_term=javascript-modules&utm_content=bufferf942e&utm_medium=social&utm_source=twitter.com&utm_campaign=buffer

======
devons
The Lua community experienced a similar "Cambrian explosion" of module
standards followed by standardization. This stemmed from Lua's "mechanisms,
not policy" design philosophy:

"Despite our “mechanisms, not policy” rule — which we have found valuable in
guiding the evolution of Lua—we should have provided a precise set of policies
for modules and packages earlier. The lack of a common policy for building
modules and installing packages prevents different groups from sharing code
and discourages the development of a community code base." [1]

The same problem occurs when implementing commonly-used patterns where
standards aren't defined, like OOP class hierarchies and object instances.
History repeating, etc.

[1] The Evolution of Lua -
[http://www.lua.org/doc/hopl.pdf](http://www.lua.org/doc/hopl.pdf)

