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

I 100% agree with this article. I'm a student that has learned Python, Java and C - using each depending on what I need to do.

Having taught as well, Python is not a language for beginners. They are punished for getting their spacing wrong, often confuse types, oo seems to have been an after thought and versions 2 & 3 are completely different languages.

C can also be confusing for beginners, but not for the reasons mentioned. Teaching people about pointers spins heads for the first time.

Java for me seems to be the middle ground. Good understanding of oo, portable code, solid types, well formed errors, beautiful garbage collection and well thought out (libraries, types, access, concurrency, etc).

C is obviously an advanced language, but like PHP there is a good reason why it's not ready to be buried yet.



One of the things (among many) that does make python a good language for beginners is its short developer feedback loop. The pleasure of programming is important, so even if they're writing terrible code at first, there's a strong motivation to keep going. Along the way their skills develop.


I agree, but this is achievable in other languages in the same way it is for Python - simply output something interesting via a package or library. First practical we have students drawing shapes in Java and crudely animating them.




Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

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

Search: