I first read SICP after 25 years of professional development, and while I didn't learn anything new I did see things in a whole new light. I think it would have been really useful to have read the book 25 years ago: I think you're going to benefit from having a few years of real-world development experience before reading this book. The profundity, impact and applicability to your work will be much greater. Highly recommended.

This comment is for the Scheme-based book. I've never seen the Python-based version.

There is no Python-based version, Abelson and Sussman only produced one SICP based on Lisp.

It is unfortunate that there are other courses by people not associated with Abelson and Sussman that have kept the same name but not the material. It is misleading to refer to these as "SICP" as they lack pretty much everything that made SICP great. SICP works on _multiple_ levels, it is not [just] a book about Lisp or a book about programming. It is this "emergent" quality that it has that makes it a masterpiece.

Someone wrote that "Philosophy is any culture’s pole of maximum abstraction, or intrinsically experimental intelligence, expressing the liberation of cognitive capabilities from immediate practical application, and their testing against ‘ultimate’ problems at the horizon of understanding." In this sense, SICP is a supremely philosophical book.

Studying SICP in Python is kind of like reading the Odyssey via Google Translate. You'll get the gist of it, but you won't feel the earth move.

Python is a "Lisp lite" and the parts of Lisp that Python leaves out or cripples are incredibly important.

Mostly agree but:

Lua is a Lisp-lite, Ruby maybe a Lisp-lite, Python? No way, I'd go as far as say that Python is antithetical to the Lisp philosophy and yes, I know Norvig has claimed something similar in the past. It's still inaccurate and wrong. In an interview, Norvig pretty much admitted that popular appeal is more important to him than the inherent superiority [which he of course acknowledges] of the philosophy behind Lisp.

You can write lisp-y python quite easily. It's not good, pythonic or maintainable, but for learning purposes it is acceptable, especially on the 2.x series. Just start with list comprehensions.

Lua and Ruby I fail to see how they are in any way lisp-y.

there's also "hy", which gives you lisp syntax and access to the python libraries.

https://github.com/hylang/hy