[ prog / sol / mona ]

prog


Marvin Minsky - The Beauty of the Lisp Language

101 2020-10-08 22:15

>>100

I don't know why I'm doing this

You're probably doing this because you enjoy Lisp, agree at least somewhat with Minsky, and are willing and capable of having a discussion about it. No shame in that.

CLOS

This is a good example of extensibility. But Minsky didn't claim extensibility. He claimed "open future" and juxtaposed that with the notion that any algebraic language(which is how old timers refer to C because of ALGOL) is "strangely limited". And of course plenty of other languages have object systems so object systems are not unique to Lisp.

potential to adapt to new paradigms

This is originally what I assumed Minsky was taking about. But no examples of Lisp adapting to new paradigms have been given here. And if you look back at the shifting paradigms of the past 50 years or so, Lisp has not uniquely adapted to any of them. In fact, some people blame this kind of Lisp evangelism for the "AI Winter" of the 1980's(which is strange because Minsky predicted the winter but that is a separate discussion).

to create an object system for Lisp is a student's homework

This may be a valid claim that implementing an object system in Lisp is far easier than C. But simply making this claim without examples or data doesn't help Minsky's case. Also, words like "easy" and "difficult" are nearly impossible to quantify.

Just my unqualified opinion, but I would guess that implementing a useful object system in Lisp that is compatible with the outside world would require similar effort to implementing the same capability in C.

there's computationally nothing Lisp can do that C can't

Then we're back to claiming that extensibility leads to an open future. But C is extensible so this doesn't account for Minsky's juxtaposition.

that's not what "open ended" and "strangely limited" should imply

Minsky specifically said "open future". This implies that Lisp is capable of more than other languages. We're only discussing extensibility because other posters have assumed that's what Minsky was referring to. But again, other languages are also extensible. Claiming C, a language that has been extended via macros, inline assembly, toolchains, compilers, pragma, forks, etc. to run on every accessible platform known to mankind, is somehow not extensible seems silly.

There's an interview somewhere in which Sussman describes Lisp as a collection of through-hole electronic components. He specifically mentions that you can see the stripes on the resistor and know exactly what you're dealing with. Similarly, he suggests, one can build systems with Lisp knowing all the details of all the parts. Let us examine this analogy a bit closer.

50 years ago a handful of through-hole electronic components was a powerful thing. One could build the most powerful computing devices in the world with such components. But today that is no longer true. Large through-hole parts are not physically capable of operating at the frequencies involved in modern computational hardware due to inductance and other limitations. So a large clearly labeled resistor in today's world is essentially useless for doing any real work, at least in a computational sense. They're neat. They're fun. They're good educational tools. They're good for prototyping sometimes. They have niche uses. I hope they never go away. But their once central place of importance in the world is gone forever. And if I claimed through-hole components have an open future because they're more clearly labeled and easier to put together than SMT components, no one would take me seriously.

301


VIP:

do not edit these