Live data from Hacker News

SICP in Python

wizardforcel.gitbooks.io

11–20 of 136 posts

Re: SICP in Python

#11
i think this is rather dishonest to call this "SICP in Python" and the same goes for the title of this post. this is not SICP and is not simply a port of the code found in SICP to python with the text unchanged. it's simply a book that seems inspired by SICP but the introduction doesn't go into any detail other than saying it's "derived from" SICP. this is misleading to people who aren't familiar with SICP and think this book is it but just for python.

Re: SICP in Python

#12
post #10
post #8

Earlier quoted context omitted.

in the software world, one can avoid the monster that is c++ rather successfully, but it's gotten to the point that no matter what, python is thrust upon you to deal with. "hey here's this thing that is barely working" (in large part because it's written in python) "and we'd like you to maintain it but not switch from python" (because anything besides python makes us uncomfortable). meanwhile, python makes me uncomfo…

I have my misgivings about Python and C++ too, but when writing them for my job I think how much worse things could be. I could have a job that didn't involve coding, or no job, or even something involving Java.

i personally can't get past it. i've hated every second of developing in python in my jobs, and i just sit there wondering how nice it would be if i could move off of it, especially when debugging and finding yet another inane design decision in python or something that doesn't work. there's never been a reason to use it other than that's what someone unfamiliar with better choices chose for the project, and there's typically a very objective multiplier in risk and time in the development by sticking with python. moving to clojure, racket, f#, elixir, etc. would almost always be a better choice aside from certain uses of python-specific libraries (like for machine learning).

Re: SICP in Python

#14
post #6

Manual of Ice-Fishing rewritten for desert nomads.

I suppose this will sow even more confusion in young minds trying to figure out their way through programming languages.

Unfortunately, SICP for Python is like an overstretched analogy. It is a joke that only the person that wrote the joke understands and laughs at.

Two decades ago I was doing embedded development in C. I wanted all the nice (at least I thought it was nice back then) that was in C++ but my compiler would not support it. So I started doing it anyway. Yes. You can do it if you want. No. It is not a good idea.

Re: SICP in Python

#15
"Do not seek to follow in the footsteps of the wise; seek what they sought." - Basho

One of the reasons that the wizards stopped teaching SICP was the fact that the world changed. Back in the 80s, most programming was done from first principles, since the middle of the 90s it switched to programming against an API.

While learning to program from first principles is still amazingly useful, it is not what beginners need because most of them will never end up programming like that.

Re: SICP in Python

#16
post #15

"Do not seek to follow in the footsteps of the wise; seek what they sought." - Basho One of the reasons that the wizards stopped teaching SICP was the fact that the world changed. Back in the 80s, most programming was done from first principles, since the middle of the 90s it switched to programming against an API. While learning to program from first principles is still amazingly useful, it is not what beginners nee…

I’m not so sure. SICP gives a deep understanding of programming principles like abstraction.

I agree that gluing APIs is essentially what modern programming has become, but it is helpful to have that extra understanding, especially in the long term. We don’t know how programming will look in 2050, but abstraction will remain abstraction, and I wouldn’t bet against Lisp being more popular then than it is now.

Re: SICP in Python

#17
post #10

Earlier quoted context omitted.

I have my misgivings about Python and C++ too, but when writing them for my job I think how much worse things could be. I could have a job that didn't involve coding, or no job, or even something involving Java.

i personally can't get past it. i've hated every second of developing in python in my jobs, and i just sit there wondering how nice it would be if i could move off of it, especially when debugging and finding yet another inane design decision in python or something that doesn't work. there's never been a reason to use it other than that's what someone unfamiliar with better choices chose for the project, and there's…

The vast ecosystem of python libraries is an incredibly powerful argument for using it. One major library could dramatically cut the development time of your project.

You’ve not spelt out actual reasons why Python is so bad, could you give your top three?

Re: SICP in Python

#18
post #15

"Do not seek to follow in the footsteps of the wise; seek what they sought." - Basho One of the reasons that the wizards stopped teaching SICP was the fact that the world changed. Back in the 80s, most programming was done from first principles, since the middle of the 90s it switched to programming against an API. While learning to program from first principles is still amazingly useful, it is not what beginners nee…

What is an alternative resource that would be applicable to programming against an API?

Re: SICP in Python

#20
post #15

"Do not seek to follow in the footsteps of the wise; seek what they sought." - Basho One of the reasons that the wizards stopped teaching SICP was the fact that the world changed. Back in the 80s, most programming was done from first principles, since the middle of the 90s it switched to programming against an API. While learning to program from first principles is still amazingly useful, it is not what beginners nee…

Love the quote (and totally agree with that), but I'm not sure MIT's decision to teach their freshers on a different track needs to apply to every kind of beginner. Needless to say, there would be a sizeable audience (of whatever background), who would find it extremely useful to learn the ideas in SICP.

All the more because they might not otherwise get the experience of rigorous constructionist thinking, and instead get too used to gluing libraries and slinging boilerplate.

More importantly, for many people, it is an eye-opening spiritual experience where they realize there is more to computing than they previously imagined, and then learn to expect more from their computing tools, and set higher goals for themselves.

Post reply on HN