Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

New programmers don't know pseudo-code either; I'm not sure why being like pseudo-code would make it easier to learn.

I think Python is easier to learn than many languages - definitely its competitors at the time Perl and C++ - but I don't see why it is any easier than BASIC, Java, Clojure, Scheme, F#, JavaScript...



I also can't explain why it's easier than java, but it is. My theory is the syntax is just insanely clean, making it quick to read. There's also a lot of approachable scripts for it, that make it easy to get momentum. Javascript has too many "gotchas" to make it quick to learn. Sure BASIC is quick to learn, I learned the basics when I was kindergartenish, but it's not something you would use for the past 20+ years, and wouldn't be suited to modern applications.


Agreed, I wouldn't say Python is particularly easy to learn.

"Easy to learn" is difficult to define anyway. Is chess easy to learn? Any child can learn the rules of chess in a few minutes, but it doesn't make them good at chess.

Assembly is like the rules of chess (assuming RISC at least). Super simple, but you still need to learn how to do anything useful with it.

The Python book on my shelf is about 4 times as thick as K&R. So by that (admittedly rather silly) metric, Python is significantly harder to learn.

One might say Python being more expressive makes it easier, but nothing is more expressive than languages like Perl and awk yet they aren't considered "easy".

We could also consider the principle of least astonishment. Python has some surprises: semantic whitespace being the obvious onev and others like a trailing comma creating a tuple. It used to C type languages were "hard" due to what happens if you miss a semicolon etc, but modern IDEs have pretty much made it irrelevant. Python's surprises are still there.

So yeah I think Python sits somewhere with Scheme as being easy enough to get to the point of being able to do useful computing. But there's still tons to learn that any programmer has to learn regardless of language.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: