Live data from Hacker News

Marvin Minsky – The beauty of the Lisp language

webofstories.com

21–30 of 50 posts

Re: Marvin Minsky – The beauty of the Lisp language

#21
post #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.

Actually Stallman placed preference on Lisp and C as being his preferred languages.

The quote your referring to is part of his statement exposing the imbalance of the the educational system within the US in the 80's. Here is the quote which also came from the first announcement to his emacs editor under the tag /Blue Sky/:

When large numbers of nontechnical workers are using a programmable editor, they will he tempted constantly to begin programming in the course of their day-to-day lives. This should contribute greatly to computer literacy, especially because many of the people thus exposed will be secretaries taught by society that they are incapable of doing mathematics, and unable to imagine for a moment that they can learn to program. But that won't stop them from learning it if they don't know that it is programming that they are learning!

Re: Marvin Minsky – The beauty of the Lisp language

#22

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've been writing a book on Clojure, "Clojure for the Brave and True": http://www.braveclojure.com. It's meant to be an entertaining guide which focuses on getting you up and running quickly. It also explains the more novel parts of lisp in a clear, non-academic way.

It's free online and is going to be published by No Starch eventually. Hope you find it useful!

Re: Marvin Minsky – The beauty of the Lisp language

#23

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.

While SICP is a wonderful book and should be recommended, it is not meant as a tutorial on Scheme. SICP only uses Scheme to have some concrete language to talk about deeper themes. The grandparent might have better luck with a book that is about Scheme.

Re: Marvin Minsky – The beauty of the Lisp language

#24

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 get the impression Lisp tended to be taught awfully, uninspiringly. Maybe even worse than other programming languages. Cheating sounds like a reasonable response to such a farce of "education"; sad to hear when exposure to Lisp is a soul-crushing experience. I've seen a few old AI books where Lisp code is formatted unreadably. I wonder why.

The Little Schemer is think is one of the most inspiring ways to learn. Truly a book every software engineer should enjoy.

Re: Marvin Minsky – The beauty of the Lisp language

#25

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.

My prob wasn't really about being lost in parenthesis; I had an editor with bracket matching. My prob was the "inside-out" thinking that LISP requires. It's tricky when you're coming from a BASIC/PASCAL/C background.

I'm a sucker for punishment, so after my first (bad) taste of LISP, I took an AI course that was 100% LISP. My AI teacher studied under McCarthy at Stanford, so I probably can't blame him for anything.

Re: Marvin Minsky – The beauty of the Lisp language

#26

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've been writing a book on Clojure, "Clojure for the Brave and True": http://www.braveclojure.com . It's meant to be an entertaining guide which focuses on getting you up and running quickly. It also explains the more novel parts of lisp in a clear, non-academic way. It's free online and is going to be published by No Starch eventually. Hope you find it useful!

Your book is beautiful! Highly recommend! I very much like your style!

(there are some formatting errors though, like unresolved org-mode symbols)

Re: Marvin Minsky – The beauty of the Lisp language

#28
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 :)

I love hearing about that sort of stuff too... Especially video games (GOOL and http://en.wikipedia.org/wiki/Game_Oriented_Assembly_Lisp and https://play.google.com/store/apps/details?id=com.friendlyvi...) and Mars rovers (http://www.flownet.com/gat/jpl-lisp.html) and other things that now are dominated by other languages. With Lisp, I'm always reminded of this quote:

"Please don't assume Lisp is only useful for Animation and Graphics, AI, Bioinformatics, B2B and E-Commerce, Data Mining, EDA/Semiconductor applications, Expert Systems, Finance, Intelligent Agents, Knowledge Management, Mechanical CAD, Modeling and Simulation, Natural Language, Optimization, Research, Risk Analysis, Scheduling, Telecom, and Web Authoring just because these are the only things they happened to list." --Kent Pitman

Re: Marvin Minsky – The beauty of the Lisp language

#29
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.

Lisp macroes have access to code that has already been compiled (which means, everything above the macro, and everything defined in imported files). This gives you access to the entire standard library in your macro.

Also, because Lisp code is data rather than strings (code is represented as linked lists) it's much simpler to manipulate code in Lisp macros.

Re: Marvin Minsky – The beauty of the Lisp language

#30
post #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 preproc…

> You can't do it in C unless you also implement a compiler or evaluator.

Someone else already did that work. Your C compiler is very likely, in fact, already written in C. We don't expect a C-importable library interface for the C compiler, because none of the traditional old C compilers had one (gcc, MSVC, etc.) But libclang exists, and it's pretty easy to write a C REPL using it. From there, only a few steps to automation.

Post reply on HN