lua-users home
lua-l archive

[Date Prev][Date Next][Thread Prev][Thread Next] [Date Index] [Thread Index]


On Thu, Mar 20, 2014 at 11:15 PM, Jeremy Ong <jeremycong@gmail.com> wrote:
> No. I don't really "get" go. It's not a systems language so comparing
> it to C++ or C makes no sense.

That is fair enough, I don't see it as a 'successor' language either.
But it has hit a sweet spot and acquired some momentum

First observation is the classic "Worse is Better" essay [1] by
Richard Gabriel, which is an attempt to understand why Lisp never got
really heavy momentum going: (tlr;dr: Unix and C are viruses, and so
could spread quickly)

The next is Knuth's famous "Premature optimization is the root of all
evil" quote - but in context. He is saying that most of a program does
not need optimization and so micro-optimizations should only happen
where they make a difference.

Go hits its spot - for its niche of writing server software because:
(1) it is an easy language to learn
(2) concurrency is baked in
(3) compiles very fast
(4) local type inference makes code uncluttered

It is an uncomfortable time to be a language purist because "worse is
better" always dominates, ultimately because most programmers are not
mathematicians and don't particularly care about the optimal solution,
just the one that works.

It's fashionable to dislike Javascript, although a lot of that is
inverse snobbery, a feeling that it's been taken over by well-dressed
people who work on Mac Airs in coffee shops.  Objectively, it's not
bad, although no where near as elegant and minimal as Lua!  It was
(after all) knocked together by Brendan Eich in a hurry; we could have
easily had Tcl instead (John Ousterhout was active at Sun at the
time), which would be 'worst is not better" ;)

(If Lua had been baked into browsers, it would be now fashionable to
complain about it and why it doesn't use curly braces like a real
programming language!)

steve d.

[1] http://www.jwz.org/doc/worse-is-better.html