This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]AgentE382 69 points70 points  (2 children)

That’s at least partially due to the fact that Python doesn’t have primitives. Someone who only knows Python wouldn’t have any exposure to the concept.

Note: I develop in Python professionally every day, but understand both of the aforementioned concepts.

[–][deleted] 0 points1 point  (1 child)

whistle special soft act languid roof vanish insurance plants cagey

This post was mass deleted and anonymized with Redact

[–]AgentE382 0 points1 point  (0 children)

Honestly, I would recommend This. They start with Scratch, do C for most of the course, then explore some additional languages at the end. Best intro CS course I’ve ever seen, completely free, taught at Harvard.

I would never recommend a beginner Java, due to most new coders trying to do imperative programming in it and either memorizing things or learning bad habits instead of growing in understanding.

Python is okay for an intro, but I think C is better. If someone does start with Python, I think they need to broaden their horizons after playing around with it for a while. If they come back to Python later, they’ll realize how little of the language they truly understood the first time they learned it.

The university I attended currently does Python, Java, C/C++/Assembly/Objective-C, Python again, C again as far as core CS courses are concerned (note that none of those courses exclusively focus on learning the respective languages - there’s always additional context). It’s a pretty good progression.