Hacker News new | ask | show | jobs
by pwdisswordfish6 1918 days ago
> I swear I didn't see factories-making-factories-making-factories until that thing was published

No? That's a pretty good description of the sort of metaprogramming that Lisp gives you, and Lispers are really enthusiastic about that kind of thing. People will dispute the parallels, but the real difference comes down to:

- non-Lisp languages being significantly less powerful

- Lisp's veneer of respectability

... which shouldn't be all that odd, considering the person who gave us "design patterns" was Dick Gabriel, a Lisper.

At least the "SingletonFactoryWorkerVisitor" programmers use a nomenclature that reflects the ontology the object is supposed to fit into.

3 comments

My guess is that LISP programmers are largely a self-selected group of pretty decent hackers. I'm basing this on some exposure to Lisp Machines in the 1980s, and some Common LISP stuff in the 90s. Generally adults. LISP is my favorite language I'll never ship a product in (well, okay, after SmallTalk :-) ).

The Gang-of-Four-driven stuff I saw in C++ and Visual Basic (late 90s and early 00s) still gives me the shivers. Like, "Hey, factories are cool, let's make a bunch of them for no reason because we might need the flexibility someday." Sigh.

There is an effect where some things work well on some languages, but fail completely when translated to others because of superficially unrelated features.

Compile and run time code generation seem to be one of those things. Having a mostly pure language (even when there aren't guarantees) makes them much saner.

1 - Pre-compile time generation, by its turn seems to never work very well. And if there is developer interaction between the code generation and compiling, than it's always a disaster.

but lisp has homoiconicity so lisp factories create 1st class objects at runtime, including new 1st class lisp factory factories.