Hacker News new | ask | show | jobs
by technogeek00 4948 days ago
Java has two strong points, its a great example of OOP and it forces you to understand types. I find that if students don't learn these things early on they will never get around to learning it, then when they get to C or Python where types are more of a suggestion, they have a really hard time with it. Java is stricter and harder to learn I agree, but the fact that it makes you understand OOP and types just to use it properly makes you a far better programmer in my opinion. I think Java should definitely be used as a starter language.
1 comments

> it forces you to understand types.

If understanding types is so important, then why not go all the way and use either ML or Haskell, or at least Scala?

Most freshmen who stumble through a Java-school curriculum will not understand types at all, and based on confusion among a number of colleagues just yesterday (all Java programmers) about what a "sum type" is, it's clear to me that Java doesn't encourage developing a rigorous understanding of types, even for professional programmers.

Too, it's not a very interesting demonstration of OOP. Smalltalk or Ruby would be a more useful tool to use to teach OOP, iff teaching OOP is actually a goal.