3 ms·
Java isn't a bad language for an intro programming language -- it strikes a nice balance between hiding low-level details that are often important to be aware o
by niftich 10y ago
Java isn't a bad language for an intro programming language -- it strikes a nice balance between hiding low-level details that are often important to be aware of, but are intimidating to firstcomers, it has a rich standard library and well-made collection types, and is statically typed, encouraging type rigor and making it a good fit for dogmatic OO -- but it's undeniable that the allure of instant-feedback environments like in-browser JS is strong, and OO's stronghold in mass-market academia is being challenged by functional programming as it happened in the industry.
In fact, F5-ability, and widespread real-world applicability are the biggest selling points of Javascript-as-an-intro-language, given that there's essentially no standard library to speak of, so every exercise becomes unique to the environment -- either window, or Node's APIs.
As others have said, perhaps Python strikes a better balance between approachability (not too much boilerplate), dogma (indentation), lenience (dynamic typing), standard environment (a featureful standard library), and rapid iterability (interpreted from source). Not sure why it's not more widespread in these settings.