I know exactly what modern Java looks like, and it could be beautiful. But… legacy cruft and lazy devs make it painful. And tech debt, let’s be honest.
I’d view a greenfield project rather differently, but those are unicorns.
In my opinion, C# would be better for this job. It is similar, but has many features that simplify the code, such as top level statements, LINQ, collection expressions and stuff like that. It's also way more popular in game development and that's what most teens are interested in
2002, but it was Visual Basic. I got a fucking C in that class because I spent more time helping other kids figure out the assignment than spending time putting worthless clutter in my interfaces to the teachers standards.
Oh well. At least I learned how to write a GUI to track the hackers IP address.
At 14 I could barely get a for loop and if statement working properly. Pascal then VB for me, once a week for 2 years. Only really started programming in uni. Some Asian countries start in primary school at as early as 3 years old. It's as important as languages to them. By 14 they're already doing robotics and writing social media clones.
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).