[ prog / sol / mona ]

prog


Marvin Minsky - The Beauty of the Lisp Language

238 2020-10-13 17:00

>>235

1.LISP has a unique feature X.

First of all, Lisp is a family of languages, so they share and differ in features. But they have a common spirit, indented/good style that let's them categorized into this rather vague group.

2.Feature X shown to be possible in Language z.

That being said, I'm not sure anyone uses the word "unique" the way you do. Of course, languages could be extended into also supporting it too, but rarely is this in the spirit of Lisp, rather, as shown in this thread as a POC.

3.LISP advocates claim that proper X could be only implemented in LISP.

Again, "proper" is difficult here. Any serious language has a formal part, the syntax, the semantics, the implementation, etc. and a social/implicit side. There is good and bad Lisp, well written and forced. It's the same with C or whatever other language. If you force onto it a Lisp style, while it obviously isn't at it's best in that shape, you don't gain anything besides a formal proof. All the proofs showing that C can have lambdas are worthless, just look at C++ and anyone can see that it's not the same thing as in Lisp -- which isn't bad in itself, it's just honest to say that.

4.Feature X shown to be equivalent to Feature Y.

Theoretically, but in relation to the whole language, it's never the case.
Each language has a feel, something that's hard to put into words, but everyone who has used it can relate to. Lisp is equivalent to Assembler or Conways Game of Life, when it comes to computational power, but if I want to try out some algorithm, I'll pick a Lisp because of a feeling of freedom and flexibility, that (at least I) don't feel in other languages. Maybe Python or Haskell come close, but both are in some sense influenced by that spirit, an abstract programming mentality. I don't assume that this will convince you, so I'll ask you now: Either give this a good faith interpretation, trying to understand the point, or don't do anything at all.

5.LISP advocates claim that Y isn't X, despite Y being far more useful than X in language Z, while doing 90% of what X does

So let's go over this in an example:
1. Lisp has `eval`
2. C can dynamically generate code and load it
3. This doesn't have the same standing in C as `eval` in Lisp (since Lisp has the "code is data" principle)
4. ???
5. dynamically loaded code isn't `eval`, because `eval` doesn't make sense in C (it's just the way it is)
6. (go 2)
That's my perspective, please correct me.

6.goto #1

We've seen a lot of this in the thread, that's for sure ^^

Its possible to graft LISP features(even EVAL) into low-level languages like C, without much benefit to C. [..]

Yes! But honestly, I don't get what you're issue is now. Lisp isn't used for efficiency, it's obvious that it's freedom has a price. But after having have paid that price, and experiencing the freedom that it grants you (inflexible and awkward) that people decide, if it's worth it or not. Any well, we think it is.

301


VIP:

do not edit these