News for hackers. Stuff that matters.
Re:SICP taught by Abelson and Sussman [video] by hardwaresofton on Thursday April 10, 2014 @12:42AM (#7564246)
Thought others might also enjoy watching the series instead of reading it -- I personally greatly enjoyed the lectures, and they serve very well as an overview before a deep dive into the book (at the very least).

Always amazes me how slowly computer science moves, despite how fast technology is moving

Re:SICP taught by Abelson and Sussman [video] by camus2 on Thursday April 10, 2014 @01:14AM (#7564312)
well why things that were relevant 20+ years ago would not be today?

SICP is still the best introduction to computer science. The problem is the reliance on scheme/lisp languages to explain stuffs. it could be taught in almost anything that supports basic FP,it's even taught in JS !

http://www.comp.nus.edu.sg/~cs1101s/sicp/

Re:SICP taught by Abelson and Sussman [video] by exDM69 on Thursday April 10, 2014 @03:14AM (#7564608)
> SICP is still the best introduction to computer science. The problem is the reliance on scheme/lisp languages to explain stuffs. it could be taught in almost anything that supports basic FP,it's even taught in JS !

The fact that Scheme uses Lisp is what makes SICP work at all. The course would be difficult or impossible to complete using most other languages. The keyword is: homoiconicity, the "code=data" property of Lisp.

Most of the course focuses on writing interpreters and compilers for Lisp and making variations on it (lazy evaluation, non-deterministic). This would be very painful if a non-homoiconic language is used.

And indeed, the "JavaScript version" you posted is very painful to read. It's difficult to understand how the data structures used by the interpreter are related to JavaScript code. And the code most definitely is not idiomatic JavaScript. I would not consider this an improvement over the original Scheme version.

Re:SICP taught by Abelson and Sussman [video] by camus2 on Thursday April 10, 2014 @03:39AM (#7564697)
> And the code most definitely is not idiomatic JavaScript. I would not consider this an improvement over the original Scheme version.

in javascript functions are data.While javascript doesnt allow lazy evaluation,it's good enough to teach most of SICP concepts.

For someone that knows basic javascript,it's good enough.

I dont agree with you saying it is not idiomatic javascript. There is nothing such as idiomatic javascript ,that's why people keep arguing on how to write javascript,javascript doesnt care. If javascript did care,it would be a different language.

Anyway my point is ,what matters are the concepts , not the language. Most SICP concepts can be taught in many different languages.It's not about LISP, or javascript. It could be Haskell,CAML,or even Python it doesnt matter.

Re:SICP taught by Abelson and Sussman [video] by ilcosrn on Thursday April 10, 2014 @07:11AM (#7565207)
> The course would be difficult or impossible to complete using most other languages. The keyword is: homoiconicity, the "code=data" property of Lisp.

But if that is the case, wouldn't SICP be less language agnostic since (most of) the concepts taught cannot be universally applied to non-homoiconic languages?

Re:SICP taught by Abelson and Sussman [video] by yeahbutbut on Thursday April 10, 2014 @11:37AM (#7567095)
The problems can be solved in other languages, the tools are just clunkier. Lisp lets you solve the hard problems simply, and the solutions (not their expression) are what matters.
Re:SICP taught by Abelson and Sussman [video] by RogerL on Thursday April 10, 2014 @04:16PM (#7569408)
As I posted below, Abelson and Sussman have revamped the course to Use Python, and other notable schools have done the same, such as Berkley.
Re:SICP taught by Abelson and Sussman [video] by bodski on Thursday April 10, 2014 @02:01AM (#7564424)
Scheme syntax and main semantics are taught by the first couple of lectures IIRC. The main issue for me with the book and to some extent these videos is the assumption of the student being fairly comfortable with certain (fairly basic) mathematical ideas and techniques. This motivated me to pick these up as I went, but meant that the workload was fairly hefty. I still have not made it all the way through!

Tools and environment were another matter, getting MIT Scheme installed and running was a bit of a pain. Next time I'll probably try with Racket and Neil van Dyke's SICP support package :

http://www.neilvandyke.org/racket-sicp/

From the looks of it support for the 'Picture Language' is supported, looks like fun. :-)

There's something reassuring about these vids, possibly the timelessness of what they attempt to convey. The enthusiasm, Sussman's especially for me, shines through well. They were filmed at HP in the 1980s, there's some great examples of 80s fashion going on there at points :-)

Re:SICP taught by Abelson and Sussman [video] by a3n on Thursday April 10, 2014 @02:42AM (#7564523)
> Tools and environment were another matter, getting MIT Scheme installed and running was a bit of a pain. Next time I'll probably try with Racket and Neil van Dyke's SICP support package

I followed along with the video lecture in Racket using van Dyke's SICP package, and it went just fine. For all practical purposes I don't know scheme.

It was nice trying to run the sqrt procedure that I had built up, be told that the 'average' procedure was not defined, quickly define it and successfully run sqrt. Such a simple thing, but ... it just worked.

Interesting seeing fractional results displayed as actual fractions.

I think it's very helpful, having programmed for >25 years, that I knew where the lecture was heading. Nevertheless, it was a wow experience. I wish I'd been exposed to this in my early years.

Re:SICP taught by Abelson and Sussman [video] by kenferry on Thursday April 10, 2014 @04:47PM (#7569600)
The picture language is supported, BUT includes different primitive images.

SICP uses 'wave' and 'rogers'. The package for racket includes only 'einstein'. FYI.

Re:SICP taught by Abelson and Sussman [video] by mahmud on Thursday April 10, 2014 @01:25AM (#7564338)
Why would reliance on Lisp be an issue? It's a basic requirement. Lisp can be learned in 2 hours. If you can't spend 2 hours learning some basic rules, you have no business dabbling in computing.

Lisp resistence is a phobia, a problem of the afflicted person, not the wider computing community as a whole.

Re:SICP taught by Abelson and Sussman [video] by rhizome31 on Thursday April 10, 2014 @04:32AM (#7564859)
As someone lacking a solid scientific background, reliance on math was much more of an issue. I managed to get through Chapter 1 very slowly because I had to learn math concepts to understand what the code was about (Khan Academy helped a lot). Some sections took me up to 3 days to complete ! The beginning of Chapter 2 which is about data manipulation was actually much easier for me. Then I got to the section on the picture language which I found boring and I was also having less time to devote to my study, so I've given up at that point. But I'm really glad I made it so far. What I've learned so far is very precious and one day I'll carry on with the rest of the book !

Compared to the math, Lisp was a non-issue. I didn't even notice I was learning it. But I'm a "practical" coder lacking formal training, not a science student learning to code.

Re:SICP taught by Abelson and Sussman [video] by JackMorgan on Thursday April 10, 2014 @07:59AM (#7565361)
Skip the picture language section. Better to go through the book skipping a few parts then to stop because you can't do every single exercise the first time through! I just started chapter 4, and judicious skipping has thus far been the right choice. If the options are "skip a little and gain the value of the rest" or "try do it all, but get stuck and quit" choose pragmatism!

Also, a trick I like to do with the exercises is struggle with one for 20 minutes or so, and if I am not making progress, look up the answer. Usually that helps me understand what I was missing enough to then do it myself. That happens maybe 1/5th of the time, and usually because the question was vague or oddly worded, or most commonly, I didn't know how to test that it was correct.

Re:SICP taught by Abelson and Sussman [video] by RogerL on Thursday April 10, 2014 @03:59PM (#7569286)
And yet Sussman and Abelson themselves were behind the switch from Scheme to Python at MIT. I don't hold them out as infallible, even about their own course, but it should give us pause, yes?

They have a lot of data, we have ... opinions. And the data was saying that students were having trouble learning to do practical engineering problems after this course. So, 2 hours or not (and I say not), the reality is that really bright students had trouble with it, and their professors and designer of the course, co-inventor of the language, and author of SICP thought Python a better choice than Scheme for this course.

Empiricism trumps all.

Re:SICP taught by Abelson and Sussman [video] by camus2 on Thursday April 10, 2014 @01:33AM (#7564356)
> Why would reliance on Lisp be an issue? It's a basic requirement. Lisp can be learned in 2 hours. If you can't spend 2 hours learning some basic rules, you have no business dabbling in computing.

Yeah right, first you dont know me you are assuming I dont know LISP while i have GCL opened on my computer right now. Second, your kind is the problem, computer science has nothing to do with being able to learn LISP in 2 hours or not.that's good if you did. You must be the smartest computer science guy in the world.

I dont know you, but your message makes me say you are arrogant and bigheaded and i'm not interested in people like you. I'm interested in making knowledge accessible, even for those who "cant learn lisp is 2 hours therefor they have no business dabbling in computing".

You may be smart but i pity your coworkers that need to endure your arrogance.

Re:SICP taught by Abelson and Sussman [video] by axman6 on Thursday April 10, 2014 @02:23AM (#7564470)
For such a relatively innocuous and general comment, you're taking this very personally.
Re:SICP taught by Abelson and Sussman [video] by camus2 on Thursday April 10, 2014 @03:00AM (#7564559)
Well at least i'm sure this mahmud guy has better things to do than trolling me on HN now.

I did not come here for a fight just to suggest an alternative version of SICP.

I just dont like trolls and I responded appropriately.

Re:SICP taught by Abelson and Sussman [video] by mahmud on Thursday April 10, 2014 @03:08AM (#7564587)
You read way too much into my comment. I wasn't trolling.

My position is that if you're involved in computing in any capacity, you will have to learn countless formalisms and languages. And S-expressions are on the more accessible end of the spectrum.

If you and I learned it, so can others. Exclusively seeking out C-like syntaxes will only hinder you, professionally.

P.S. SICP introduces all the Lisp you will need as it goes. Really.

Re:SICP taught by Abelson and Sussman [video] by camus2 on Thursday April 10, 2014 @03:31AM (#7564667)
> You read way too much into my comment. I wasn't trolling.

yes you are trolling,now go back to wherever you come from,because you're not contributing to any constructive discussion.

Re:SICP taught by Abelson and Sussman [video] by jinfiesto on Thursday April 10, 2014 @04:10AM (#7564789)
I'm going to support mahmud here, and suggest that your behavior is the least constructive in this particular sub-thread. He's absolutely right that Lisp is simple and the basic rules can be picked up in an hour or two. He's also right that over the course of a career in computing, you'll have to pick up countless formalisms and languages. Additionally, SICP is not for the faint of heart. It is not an easy text, and the use of Lisp is fairly central to its main point. This is not to say that computing shouldn't be accessible. It definitely should be. That being said, SICP covers intrinsically "difficult" material. There's no substitute for an iota of determination here. If you don't have the determination (not intelligence) to be bothered to learn Lisp, you're not going to be able to complete SICP. It's not going to happen.
Re:SICP taught by Abelson and Sussman [video] by dang on Thursday April 10, 2014 @03:34AM (#7564686)
Please do not address another user this way on Hacker News.
Re:SICP taught by Abelson and Sussman [video] by JackMorgan on Thursday April 10, 2014 @07:19AM (#7565229)
While possible to do in other languages, I think of it this way, "why NOT have it in a language new to people?"

I'd rather it in something new to me (scheme) than be shoehorned into a language I know already. That way I can gain additional benefit of seeing similar concepts in a new form.

Trying to protect someone from having to learn a new language just doesn't make sense, like protecting people from regular exercise. Everyone should have the benefit of knowing multiple tools, and a language should be no exception.

Re:SICP taught by Abelson and Sussman [video] by Sirenos on Thursday April 10, 2014 @01:54AM (#7564409)
I don't know about you, but Lisp's uniform syntax makes it really to just dive in and explore the concepts of computation. The only problem I see is that the number of implementations in the Lisp family can be daunting to some people, especially those used to languages with a canonical implementation.
Re:SICP taught by Abelson and Sussman [video] by reddit_clone on Thursday April 10, 2014 @01:25PM (#7568099)
One of the main reasons SICP is still relevant today is _because_ it uses a timeless language like lisp(scheme).

If it was written using the flavour of the month language then, it would have disappeared into obscurity by now.

Re:SICP taught by Abelson and Sussman [video] by hardwaresofton on Thursday April 10, 2014 @02:27AM (#7564477)
I think it's the simplicity.

Towards the end, when they start building the machine simulator lisp, you get a very natural transition to machine-level thinking -- they build up to it with simple constructs, just like everything else in lisp, and I think that's beautiful. You can clearly see how you could wire up some buffers and wire up an ALU, and wire up some circuits and end up with a completely generic calculating computer.

The bottom-up approach a lot of classes take is somewhat more burdensome to pull together and hold in your head