Especially for beginners its a bad language. You have the understand artificial concepts about classes, objects, abstract states before you re able to learn the important stuff like if/else, looping etc pp.
I would always give beginners a language which is at least in their way as possible.
It also encourages good basic habits, such as not making a variable mutable unless you specifically need to (val is way more common than var, the IDE makes them very visually distinct).
Java is a good language if you’re a beginner, but if you’ve already coded before in other languages, it’s going to suck.
Especially for beginners its a bad language. You have the understand artificial concepts about classes, objects, abstract states before you re able to learn the important stuff like if/else, looping etc pp.
I would always give beginners a language which is at least in their way as possible.
You don’t really have to.
You can just handwave
public static void main
, and only deal with primitives, then static functions, before introducing objects.That’s what they did at my high school. It’s weird, and there’s much better ways and languages to introduce procedural programming, but it’s possible.
They should’ve just picked Kotlin.
It also encourages good basic habits, such as not making a variable mutable unless you specifically need to (
val
is way more common thanvar
, the IDE makes them very visually distinct).