Live data from Hacker News

Marvin Minsky – The beauty of the Lisp language

webofstories.com

11–20 of 50 posts

Re: Marvin Minsky – The beauty of the Lisp language

#11

I got great grades in college, but could never wrap my head around LISP (Lost In Stupid Parentheses). For anything non-trivial, I cheated and handed in somebody else's work. There, I said it.

I felt the same way about lisp and always reached for the same acronym when I was in college at UT. 7 years later I'm a huge fan of lisp (CL/Clojure/Scheme) and enjoy writing Clojure whenever I get the chance.

It's hard to appreciate the elegance of the language before experiencing years of pain working with others. I have similar feelings about learning Haskell (and not appreciating it) in college.

Re: Marvin Minsky – The beauty of the Lisp language

#12

I got great grades in college, but could never wrap my head around LISP (Lost In Stupid Parentheses). For anything non-trivial, I cheated and handed in somebody else's work. There, I said it.

By contrast, I recall the story of a guy who had the choice between C and Lisp for his programming class, and chose Lisp because he couldn't figure out C.

IIRC Richard Stallman also has a story about secretaries at MIT using Lisp for basically the same reason.

Re: Marvin Minsky – The beauty of the Lisp language

#13

I got great grades in college, but could never wrap my head around LISP (Lost In Stupid Parentheses). For anything non-trivial, I cheated and handed in somebody else's work. There, I said it.

Unfortunately I think many people get "Lost In Stupid Parenthesis" because they either refuse to use or are not supplied with the proper tools. Lisp programs are of such an elegant structure form that they lend them selves to highly structured editing tools.

I use CL in my day job and would find it highly painful if I did not have all the editing tools I use. Basic things like auto closing parenthesis; this makes the whole I need to balance my parenthesis issue disappear, coupled with transforming existing symbolic expression.

Re: Marvin Minsky – The beauty of the Lisp language

#14
post #9

Earlier quoted context omitted.

Georgia Tech, one of the top schools in the US, couldn't even teach lisp. They tried scheme with SICP (IIRC, not sure what else would have been used in 2001). It ended with a major cheating scandal [1]. I was convinced at the time the issue was a lack of understanding on the parts of the TAs. Very few of them had a background in scheme, it was the blind leading the blind according to friends who had started that year…

At least as far as I can tell, the problem was that they required everyone to learn scheme, including the non-CS majors.

I don't think that was the problem, but it was a problem. I still contend the inability of the instructors to do their job was the problem. If the TAs had been prepared to teach scheme, and not come out of a year with a background in pseudocode (based on Pascal for CS 1311/1321/1511/too many other numbers) and Java (CS 1312/1322/1512/too many more numbers), but instead had a background in functional programming and scheme in particular, they might have been able to help their students out. That transition period from the pseudocode based intro to computing to the scheme/SICP based course should have been more gradual. Which leaves the ultimate failure on the part of the faculty who decided on an abrupt transition for their students, and ultimately failed the students in the process.

Re: Marvin Minsky – The beauty of the Lisp language

#15
post #10

What does he mean when he says that it's not possible to write a C program that can write other C programs? Seems like there are counterexamples here: http://www.nyx.net/~gthompso/quine.htm Furthermore, it's possible to encode another programs' code into a single print statement, thereby writing one piece of code with another. As that's trivial, I suspect he meant something else. What was it? :).

I suspect "possible" here is not used in the absolute sense, but more just "it would be a total pain in the ass in C, whereas Lisp excels at it".

After all, anything is "possible" with hand-written assembly code, too, but realistically speaking, it's not practical.

Re: Marvin Minsky – The beauty of the Lisp language

#16
post #10

What does he mean when he says that it's not possible to write a C program that can write other C programs? Seems like there are counterexamples here: http://www.nyx.net/~gthompso/quine.htm Furthermore, it's possible to encode another programs' code into a single print statement, thereby writing one piece of code with another. As that's trivial, I suspect he meant something else. What was it? :).

I think you might have missed the point of the statement "programs that write programs", it goes far beyond a toy quine.

You can't do it in C unless you also implement a compiler or evaluator. And even then generating any sort of reasonably complex C code with C would be highly painful to say the least.

You can possibly nearly get there with C macros but I would argue it's not C writing C there, rather a text preprocessor.

Re: Marvin Minsky – The beauty of the Lisp language

#17
post #10

What does he mean when he says that it's not possible to write a C program that can write other C programs? Seems like there are counterexamples here: http://www.nyx.net/~gthompso/quine.htm Furthermore, it's possible to encode another programs' code into a single print statement, thereby writing one piece of code with another. As that's trivial, I suspect he meant something else. What was it? :).

He's talking about macro in Lisp and C. see: http://en.wikipedia.org/wiki/Macro_(computer_science) The macro in Lisp provides you with much more convenience (and power?) than print statement.

Re: Marvin Minsky – The beauty of the Lisp language

#18
post #13

I got great grades in college, but could never wrap my head around LISP (Lost In Stupid Parentheses). For anything non-trivial, I cheated and handed in somebody else's work. There, I said it.

Unfortunately I think many people get "Lost In Stupid Parenthesis" because they either refuse to use or are not supplied with the proper tools. Lisp programs are of such an elegant structure form that they lend them selves to highly structured editing tools. I use CL in my day job and would find it highly painful if I did not have all the editing tools I use. Basic things like auto closing parenthesis; this makes the…

> I use CL in my day job and would find it highly painful if I did not have all the editing tools I use.

Just curious, what kind of things do you do with CL at work? I'm always interested in how people use less-common languages :)

Re: Marvin Minsky – The beauty of the Lisp language

#19

I got great grades in college, but could never wrap my head around LISP (Lost In Stupid Parentheses). For anything non-trivial, I cheated and handed in somebody else's work. There, I said it.

I highly recommend buying a copy of Structure and Interpretation of Computer Programs (SICP), downloading Racket http://racket-lang.org, and learning you some Scheme (err, Racket).

I took a class centered around SICP my first term in college, and it was an incredibly enlightening experience.

Re: Marvin Minsky – The beauty of the Lisp language

#20
post #18
post #13

Earlier quoted context omitted.

Unfortunately I think many people get "Lost In Stupid Parenthesis" because they either refuse to use or are not supplied with the proper tools. Lisp programs are of such an elegant structure form that they lend them selves to highly structured editing tools. I use CL in my day job and would find it highly painful if I did not have all the editing tools I use. Basic things like auto closing parenthesis; this makes the…

> I use CL in my day job and would find it highly painful if I did not have all the editing tools I use. Just curious, what kind of things do you do with CL at work? I'm always interested in how people use less-common languages :)

We do digital optimization

The modelling is done in MatLab but the automated experimentation platform is all CL.

Post reply on HN