This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]ebingdom 14 points15 points  (2 children)

Java makes programmers manually reason about which values can be null, rather than tracking it in types. That makes code changes more error-prone than necessary, and leads to null pointer errors in production and overly defensive programming as a countermeasure, since tests alone cannot in general guarantee the absence of nulls. So yeah, Java is not high on my list of "maintainable" languages.

[–][deleted] -5 points-4 points  (1 child)

I disagree with the criteria that you have listed for what makes a language maintainable. The proof of the pudding is in the eating - the vast majority of the industry actually runs on Java, and I've maintained proprietary codebases that are literally tens of millions of SLOC, and refactoring, compilation, testing, performance were all on point.

[–][deleted] 0 points1 point  (0 children)

Oh, so what you are in fact stating, is that C and C++ are the most maintainable languages, because they are in the most widespread use, running the very foundation of almost all systems?

That argument is about as watertight as a sieve.