It feels like some arcane spell when you first learn it, but once you are familiar with Java, each token in that declaration feels totally justified. Like yeah, the args are an array of strings. Yeah, the main function needs to be static and public. Yeah, it doesn't return anything inside the JVM, so it's void.
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.
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.
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).
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