News for hackers. Stuff that matters.
Re:The Importance of Humility in Software Development (2020) by smitty1e on Wednesday May 12, 2021 @05:24AM (#27128350)
Java, in my experience of having to puzzle out a couple of large codebases in my career (that is, not having been a serious developer) is what happens when a couple of idioms run amok.

Inversion of control, interfaces, and OO make wandering a codebase feel like being lost in a bureaucracy.

Then we het to the issue of projects being coupled to IDEs. "Oh, this is an Eclipse project." "Oh, this is IntelliJ".

All of that chrome and tailfin leads to projects that take longer to boot than the OS.

The disdain for Java may be less about the language per se than the attendant mindset.

Re:The Importance of Humility in Software Development (2020) by Viliam1234 on Wednesday May 12, 2021 @04:01PM (#27134480)
> Then we het to the issue of projects being coupled to IDEs. "Oh, this is an Eclipse project." "Oh, this is IntelliJ".

We use Maven projects, and edit them in whatever people prefer to use.

Re:The Importance of Humility in Software Development (2020) by ajuc on Wednesday May 12, 2021 @06:54PM (#27136157)
Yeah that's a weird complaint. Java build system situation is better than most other languages. Especially C++ is in stone age comparatively.
Re:The Importance of Humility in Software Development (2020) by smitty1e on Thursday May 13, 2021 @06:03AM (#27140416)
Maybe it was more historically true. Then there was the Ant vs. Maven vs. Gradle thing.

This would not be such a complaint (look at the explosion of build systems everywhere) if Java were less touted as "write once, run anywhere".

Build systems and configuration management are two hard problems.

Re:The Importance of Humility in Software Development (2020) by ajuc on Friday May 14, 2021 @02:22AM (#27151315)
Maven and gradle projects can depend on each other, are producing the same kind of artifacts and deploying them to the same repositories. And both can be used in any IDE you like.

And ant is prehistory.

In C++ they don't even have Maven equivalent (only thousands build systems but no universal way of naming/deploying/running projects or specifying dependencies).

In Python there's several maven-like systems that are incompatible and don't have the concept of universal project identifier or repositories.

In JS and Rust they basically copied the Maven system and changed it a little.

Clojure uses Maven wrappers with lispy syntax for pom files.

I struggle to find a language where this is solved better than in Java.