logoalt Hacker News

TacticalCoderyesterday at 5:58 PM5 repliesview on HN

> Paul Graham is famous for sure (at least in HN circles), but I never considered him an exceptional or good programmer at all.

pg wrote a Lisp dialect, Arc, with Morris. The Morris from "the Morris worm". These people are at the very least hackers and they definitely know how to code.

I don't think a "not good programmer" can write a Lisp dialect. At least of all the "not good" programmers I met in my life, 0% of them could have written a Lisp dialect.

It's not because Arc didn't reach the level of fame of Linux or Quake or Kubernetes or whatever that pg is not a good programmer.


Replies

ruszkiyesterday at 6:54 PM

I met a coder, who has several self made programming languages, and I would never allow him anywhere near any codebases for which I'm responsible. So writing a Lisp dialect, is not something which makes you a good coder for sure. Even as a junior you can do that. Making it good, and be able to really reason for choices is a different story. I've never seen any good new reasoning from Graham like for example how Dan Abramov do all the time. They are not even close, and definitely not in favor of Graham.

steveklabnikyesterday at 7:54 PM

> I don't think a "not good programmer" can write a Lisp dialect.

You can write a lisp in 145 lines of Python: https://norvig.com/lispy.html

show 1 reply
anonnonyesterday at 9:48 PM

> pg wrote a Lisp dialect, Arc

Wasn't Arc just a collection of Scheme macros?

aerhardtyesterday at 6:57 PM

I take him to be a good programmer on top of a pioneer venture capitalist and entrepreneur but Hackers and Painters contains some pretty bad predictions and takes on programming, and if he didn't have that good foresight then, it has probably become worse with the years.

show 1 reply
eichinyesterday at 7:50 PM

Presumably he got better in the intervening decades, but part of how we stopped the Morris Worm was that it was badly written (see the various version of With Microscope and Tweezers for detail, particularly about the "am I already running" check that ended up being why it got noticed, "because exponential growth".) Even for "bored 1st year grad student skipping lectures" it should have been better code :-)

(Also, writing a Scheme dialect was a first-semester CS problem set - if you're in a 1980s academic CS environment it was more effort to not accidentally write a lisp interpreter into something, something in the water supply...)