4 ms·
For those who may not be familiar with Erik's thinking and style, here is a sample post[1] from Erik on Paul Graham's Arc dialect of Lisp, which, I recall, stil
by jonjacky 5y ago
For those who may not be familiar with Erik's thinking and style, here is a sample post[1] from Erik on Paul Graham's Arc dialect of Lisp, which, I recall, still powers HN:
I have briefly looked at Arc. It is yet another demonstration of the
problem of too strong an ego that cannot live with what somebody else has
made. Be it the standard conditionals, nil versus false versus the empty
list, or whatever else this purportedly strong ego is too weak to accept,
it is nothing more than proof of the core problem of the IT world -- the
hardness of its pillars makes them brittle, not strong, so they cannot be
used to build upon. What was it that stood so much in the way that Paul
Graham could not have accomplished it without creating a new language?
Why was creating a new language and starting from scratch better than
building on what had come before? Why is the IT world defined by people
who are unable to deal with the concepts of continuity, longevity, and
design for long-term stability? Why do they believe they are so much
smarter than everything that has gone before them, when they clearly are
not and repeat mistakes that take years to undo, if not replaced by
another stupid "revolution" that itself starts from scratch?
If people built societies the way computer people build communities, we
would still live have small warring tribes and no concept of a law that
binds all people and absolutely no concept of a constitution that binds
lawmakers. For all the talk about the Internet changing the world, we
lag the real world by about 40,000 years when it comes to how we make
lots of people who do _not_ agree to everything live and work together.
Suddenly, I feel old and tired.
[1] archived at https://groups.google.com/g/comp.lang.lisp/c/O5Vss_BdSy4/m/ticLHuSRQesJ?pli=1 https://groups.google.com/g/comp.lang.lisp/c/O5Vss_BdSy4/m/t...
- tptacek 5y agoLike the Perl takedown downthread, this is pretty disappointing milquetoast stuff. It's sentence after sentence repeating the same question --- "why another new language?" --- that was literally one of the first Paul Graham answered when he did Arc. It reads as if Naggum believes he's the first to have thought of asking. Embarrassing.
- deleted 5y ago[deleted]
- erikpukinskis 5y agoHow is that "milquetoast"? You believe Naggum has something more to say, but is too timid to?
- tptacek 5y agoYes. That wasn't what I was thinking when I chose that word, but, come to think of it, that's exactly what I think. He's got, like, half a sentence of actual Arc critique (I'm not a fan either!).
- stingraycharles 5y agoThanks for the quote. As @tptacek has said, I don’t think his argument is very strong: it seems that he focuses mostly on the reasons for making it, bordering on an ad hominem. I agree with him in principle; it’s better to use what others have made, than to reinvent (a slight variation of) the wheel. I personally believe that pg’s reasoning was mostly because it was just fun to make, and as someone as active in the startup ecosystem as him, making something new rather than using the status quo makes a lot of sense. Regardless, I would have found it much more interesting if he gave some concrete examples, and/or focused on facts. I also don’t know Erik Naggum that well, and I’m wondering if this quote is an accurate representation of his style.
- jonjacky 5y agoI picked this quote because it is actually a better than average represention and shows Naggum's thinking and writing at its best without the bitterness and meanness that often crept in. I saw this post of his as not so much a criticism of Graham and Arc in particular, as a lament over the tendency in computing to dismiss the good work done in the past and just start over all the time.
- ncmncm 5y agoYet, plenty of bitterness.
- agumonkey 5y agoI believe societies weren't that different, they probably tried to reinvent rules and laws too. Cycling around, massaging ideas until they provided enough social stability to stay. It's easy to assume ego is behind making a new language, but many languages were imperfect creations based on a set of strange constraints. It's also a honest path too, you don't like something, you make your own. Some people would rant about the existing state of things which is not helping. A working website was made with it so it's not a toy. Most things exist because the status quo felt not good enough that someone tried another path. And in the context of lisp it's a very strange attack.. lisp explicitly embedded the foundation for people to build their own dialects so they wouldn't have to suffer prior decisions too much.
- erikpukinskis 5y ago> the hardness of its pillars makes them brittle, not strong, so they cannot be used to build upon I think this is generally correct. Most of the time starting over from a clean sheet leads to something that will be discarded by history. And you're much more likely to build something of lasting value if you look for a small contribution to make within the general scaffold of the status quo. But this leaves open an interesting question: When does a clean sheet reset lead to something the work can build upon? In my opinion, tech progresses in phases of expansion and contraction. In the expansion phase, people take the status quo for granted, and add useful refinements in niche areas. In the contraction phase, the status quo has calcified a bit, and there are many unnecessary assumptions baked into the architecture. This phase in the cycle is ripe for someone to come in, tear out all of those assumptions and start new foundations. Those foundations will be weak in many areas, but users can stomach that because the status quo was already beginning to really slow them down. This is the classic "disruptive technology" moment. The question I think for anyone wanting to make a contribution is: When you look at your problem domain, where in the cycle do we seem to be?
- kazinator 5y agoBut Arc does use what others have made: it's hosted inside another implementation like Racket. > If people built societies the way computer people build communities, we would still live have small warring tribes and no concept of a law that binds all people and absolutely no concept of a constitution that binds lawmakers. If people built societies the way Eric Naggum wanted them to build communities, we would all be Roman citizens speaking Latin. Also, if computer people built the way Eric Naggum wanted, we wouldn't have ARM chips for embedded, for instance. Your mobile phone's chip would be running IBM 704 instructions. We wouldn't want to invent some new, incompatible machine language instruction set, right?