Live data from Hacker News

SICP in Python

wizardforcel.gitbooks.io

21–30 of 136 posts

Re: SICP in Python

#21

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…

Agreed. Just a casual browse of the TOC will point out that even at the coarsest-grained level, only 40-60% of the book follows the SICP lesson plan.

Re: SICP in Python

#22
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…

But they might want to understand.

Re: SICP in Python

#24
post #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?

This would fall on the opposite end of the first principles vs practical knowledge continuum of learning.

https://automatetheboringstuff.com/

Re: SICP in Python

#25
It made me so sad when I found out CS61A was being taught in Python. I love Python, but I also know that I would have missed out on so much wonderful information if I hadn't learned Scheme.

It was truly mind blowing when they had us implement a Scheme interpreter in Scheme, and then add infix operators.

I think the original SICP was perfect for an intro course.

It was also the great leveler, because even if you entered college with programming experience, almost no one knew Scheme. So you were all on equal footing when it came to the language.

Re: SICP in Python

#27
post #25

It made me so sad when I found out CS61A was being taught in Python. I love Python, but I also know that I would have missed out on so much wonderful information if I hadn't learned Scheme. It was truly mind blowing when they had us implement a Scheme interpreter in Scheme, and then add infix operators. I think the original SICP was perfect for an intro course. It was also the great leveler, because even if you enter…

Thank you for explaining why you think Scheme is a better langauge for SICP than Python.

As a fan of Python, my reaction to seeing this course was: "oh cool, a course on interesting things in a language I'm comfortable with".

I was then somewhat discombobulated to see the Python bashing in the comments.

Re: SICP in Python

#28
post #8
post #6

Manual of Ice-Fishing rewritten for desert nomads.

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…

As a Python programmer, it would be interesting to hear why you thing Python in unprincipled? I haven't felt that myself so curious to see what your thoughts are.

Re: SICP in Python

#29

Earlier quoted context omitted.

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?

One thing I have felt is that python doesn't embrace the functional way of thinking, even to the extent that JavaScript does. I personally find that once I have been exposed to a modern functional approach like in Clojure, etc, I find python lacking. Not just syntactically, but conceptually. For example, IIRC, many list methods in python modify the list they are working on, instead of returning a new list.

Re: SICP in Python

#30
post #25

It made me so sad when I found out CS61A was being taught in Python. I love Python, but I also know that I would have missed out on so much wonderful information if I hadn't learned Scheme. It was truly mind blowing when they had us implement a Scheme interpreter in Scheme, and then add infix operators. I think the original SICP was perfect for an intro course. It was also the great leveler, because even if you enter…

Thank you for explaining why you think Scheme is a better langauge for SICP than Python. As a fan of Python, my reaction to seeing this course was: "oh cool, a course on interesting things in a language I'm comfortable with". I was then somewhat discombobulated to see the Python bashing in the comments.

If you're looking to learn cool stuff, I highly recommending finding a copy of the original SICP in Scheme and working through it. It will expand your mind to new ideas.
Post reply on HN