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

> Do you need to use Java20 to learn inheritance?

Do you need to prohibit Java 20 to teach inheritance? Working with an outdated version as basis is fine, not accepting newer versions for no reason is something different imho.

> I still see an awful lot of projects in java 8 and only a few in java 11.

Sure, but that doesn't mean knowledge of newer features should be discouraged.



> Do you need to prohibit Java 20 to teach inheritance?

Java20 did not introduced inheritance, nor did it introduced any OO concept. Java20 adds no value to those learning OO. If you're writing java code but are not using any Java20 feature, you are not writing Java20 code.

> Working with an outdated version (...)

It is not outdated. You are not using any feature. You're just succumbing to the misplaced belief that new means more value. It doesn't, specially when the only thing that you get is more complexity.

> Sure, but that doesn't mean knowledge of newer features (...)

Repeat after me: Java20 adds no OO feature. You do not have to use Java20 to learn OO. OO courses are not java courses. Do you understand this?


> It is not outdated. [...] You're just succumbing to the misplaced belief that new means more value

Sure, technically you can still teach HTML in Internet Explorer 6 and OOP in Java 7 or something, but that has no added benefit and is actually more difficult to set up nowadays. And you can't deny that old versions are outdated when they don't even receive security updates anymore.

> the only thing that you get is more complexity.

What part of OOP basics got more complex in Java? And why teach Java at all if simpler OOP languages exist? Not to mention that avoiding complexity can actually be counterproductive for teaching. As an example, I got more than 5 years of Java-focused programming education and afterwards I still didn't know what a classpath is and couldn't write a single line outside an IDE because nobody wanted to expose complicated stuff to the students. Instead of forbidding students from using a newer Java version one should focus on the actually important part.


The reason is it creates extra work for the teachers (having to keep up with newer features, bigger diversity of solutions they receive) without much benefit regarding the substance of what they need to teach.

Some universities choose a more “exotic” but more stable programming language for that reason (like SML or Scheme or Smalltalk), but then also get criticized because it’s not a major industry standard.




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: