lua-users home
lua-l archive

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

On Feb 7, 2008 11:28 AM, Fabien <> wrote:
> Then, there are macros. Macros are extremely powerful; as we've seen, they
> can make everything look OK, so it's hard for the language to convey
> opinion, and for a consensus on what's idiomatic to emerge. Another problem
> is, since by using them you essentially design your own single-use language
> for your application, you're the only one in the world using that language
> variant.

But every API and every piece of software out there is similarly
unique.  In order to use someone else's code, I have to figure out
what the heck is going on with it.  How much pain does that require?
It depends on the design, the documentation, and the degree to which a
community has already been built.  Macros aren't a dealbreaker here.
They aren't any worse than a baroque OO hierarchy or an ill-conceived
pile of function calls.

Rather than trying to see the history of Lisp as a product of its
syntax, you might just say, "AI Winter killed it."  C had a huge
installed base.  C++ took off.  Java took off from C++.  C# took off
from Java.  Worse Is Better.  Also, Common Lisp made the hugely stupid
decision of not defining a C FFI.  C++ did, assuring its popularity.
Once Java came onto the scene, a C++ FFI wasn't necessary for Java
because the OO paradigm was firmly entrenched in the mainstream.  C++,
Java, and C# were designed to have huge amounts of money in them.
That's why the Java guys will learn all kinds of abstruse crap,
they're getting paid.

Brandon Van Every