[lbo-talk] Another computer great passes: John McCarthy RIP

Tayssir John Gabbour tjg at pentaside.org
Thu Oct 27 16:00:48 PDT 2011


On Thu, Oct 27, 2011 at 5:22 PM, // ravi <ravi at platosbeard.org> wrote:
>> Barring disability or other misfortune, your post leads me to
>> believe that you can choose to be a senior software developer ...
>
> And what makes you so sure that I am not a senior software developer?

I imagine you are, but of course can't be 100% sure. (Would be awful if you're homeless or something, unable to hold a job, and here I am arguing with you while you're just trying to entertain yourself. And it's odd that a privileged senior software dev would joke on leftist forums about being a prole, and make fundamental errors about languages despite being offered evidence.)


> Breaking my promise to respond to this, since TJG raises questions about me:

Well, I came down with a cold but haven't had much time to rest. So maybe I'm cranky and humorless. But...

I do think you've done your audience a disservice. I've had two jobs where I programmed exclusively in Common Lisp, and can say you're misinformed on this topic.

Take for example your implication that Lisp isn't imperative. False; Common Lisp is deeply imperative, and not very functional. Or that you need to know "lambda calculus or monads or immutability". Even more false, on so many levels.

(An exception is when you need to deal with concurrency; then understanding some things about time and mutability becomes important. This is reflected in Clojure.)

You claim that Lisp users "need an advanced degree in CS, to do imperative programming." Sorry, but false again — I have no college degree and never took a class on programming. I just read books and experimented, not learned from rumors. First driven by the need for a job; then driven by curiosity and unexplained questions of why programming was so ironically non-automatable.

Lisp is not what you think it is. It's about interactivity, where you can inspect and change a running system without compiling/restarting. It's about being able to mutate your language, rather than waiting for some language designer to support a new kind of for-loop.

No tool is the best in all situations. I'm happy to tell you about all the negatives of all my favorite instruments. But let's also know what they're good for.

And it's important to ask oneself how you know what you know.

All the best,

Tj



More information about the lbo-talk mailing list