I absolutely agree. Python is a wonderful language that made me rediscover how fun programming can be.
Still, SICP was transformational experience for me. And it wasn't transformational because it was a kind and gentle intro to CS. On the contrary, it was a slap in the face of my silly imperative programming habits. It made me pause and reconsider my preconceptions about computation and computers.
In this sense, Python's biggest strength (expressiveness and ease of use) is also its biggest weakness. It will let you get away with having a bland and linear understanding of computation. A good intro program should make you acutely aware of how little you know, and still yearn for more.
"A good intro program should make you acutely aware of how little you know, and still yearn for more."
I agree completely.
A good intro program should also be enough to give you enough tools to do something useful and meaningful, even if you can't compete with someone who goes through the full course.
One heck of a balancing act to pull off, there. Python still has my personal "best balance" vote.
Still, SICP was transformational experience for me. And it wasn't transformational because it was a kind and gentle intro to CS. On the contrary, it was a slap in the face of my silly imperative programming habits. It made me pause and reconsider my preconceptions about computation and computers.
In this sense, Python's biggest strength (expressiveness and ease of use) is also its biggest weakness. It will let you get away with having a bland and linear understanding of computation. A good intro program should make you acutely aware of how little you know, and still yearn for more.