Live data from Hacker News

CS61A: The Structure and Interpretation of Computer Programs

inst.eecs.berkeley.edu

1–10 of 39 posts

Re: CS61A: The Structure and Interpretation of Computer Programs

#4
Are there "conversions" for other languages as well? I know it's almost required reading for any software developer worth their salt, but I have several failed starts with the original version and have sworn to never have to read Lisp code. I get the gist. I get that Lisp elegantly represents the close tie between data and programs in a way that procedural programs never will, which is probably why it is chosen for the book. But no matter how perfectly suited for the task it is, I won't squint at lines ending in ))))) to try to see that meaning.

Re: CS61A: The Structure and Interpretation of Computer Programs

#5
post #4

Are there "conversions" for other languages as well? I know it's almost required reading for any software developer worth their salt, but I have several failed starts with the original version and have sworn to never have to read Lisp code. I get the gist. I get that Lisp elegantly represents the close tie between data and programs in a way that procedural programs never will, which is probably why it is chosen for t…

Reading Lisp isn't that onerous. For a start, the brackets (and particularly the closing brackets) are basically irrelevant. They help the computer parse the code but you can read it mostly based on indentation.

Anyway, there is a version in Javascript and the linked page has a textbook in Python.

Re: CS61A: The Structure and Interpretation of Computer Programs

#6
post #4

Are there "conversions" for other languages as well? I know it's almost required reading for any software developer worth their salt, but I have several failed starts with the original version and have sworn to never have to read Lisp code. I get the gist. I get that Lisp elegantly represents the close tie between data and programs in a way that procedural programs never will, which is probably why it is chosen for t…

But you are OK looking at this?:

        }
       }

      }
     }

    }

Re: CS61A: The Structure and Interpretation of Computer Programs

#8
post #4

Are there "conversions" for other languages as well? I know it's almost required reading for any software developer worth their salt, but I have several failed starts with the original version and have sworn to never have to read Lisp code. I get the gist. I get that Lisp elegantly represents the close tie between data and programs in a way that procedural programs never will, which is probably why it is chosen for t…

But you are OK looking at this?: } } } } }

"...if you need more than 3 levels of indentation, you're screwed anyway, and should fix your program."

Re: CS61A: The Structure and Interpretation of Computer Programs

#9
post #4

Are there "conversions" for other languages as well? I know it's almost required reading for any software developer worth their salt, but I have several failed starts with the original version and have sworn to never have to read Lisp code. I get the gist. I get that Lisp elegantly represents the close tie between data and programs in a way that procedural programs never will, which is probably why it is chosen for t…

> I get that Lisp elegantly represents the close tie between data and programs in a way that procedural programs never will

Procedural is probably the best paradigm box to fit most Lisp in.

> I won't squint at lines ending in ))))) to try to see that meaning.

Nor do people who read and write Lisp. The indentation is really all that matters when reading Lisp. When writing Lisp, having your editor highlight matching parentheses is really the only feature you need to edit an expression that is deeply nested at the end like that. I bet your editor can already do that :)

Re: CS61A: The Structure and Interpretation of Computer Programs

#10
post #4

Are there "conversions" for other languages as well? I know it's almost required reading for any software developer worth their salt, but I have several failed starts with the original version and have sworn to never have to read Lisp code. I get the gist. I get that Lisp elegantly represents the close tie between data and programs in a way that procedural programs never will, which is probably why it is chosen for t…

If you have reasons to believe that the ))))) is correct (or in any case you are not looking to convince yourself whether it is correct or not) then it just means "multiple expressions are being closed here, consistently with the indentation". There is no reason to stare at it.
Post reply on HN