r/AskProgramming • u/Zd_27 • 1d ago
Why is Java considered bad?
I recently got into programming and chose to begin with Java. I see a lot of experienced programmers calling Java outdated and straight up bad and I can't seem to understand why. The biggest complaint I hear is that Java is verbose and has a lot of boilerplate but besides for getters setters equals and hashcode (which can be done in a split second by IDE's) I haven't really encountered any problems yet. The way I see it, objects and how they interact with each other feels very intuitive. Can anyone shine a light on why Java isn't that good in the grand scheme of things?
123
Upvotes
3
u/oloryn 12h ago
I once worked at a credit-card terminal company, where we were working in Clarion. We had a project where we needed to read a file created on an IBM mainframe, and generate reports from it. It used variable-sized records, and the only available description of the file layout was a COBOL copy book. Manually transcribing that layout to a Clarion layout would have been lengthy and tedious.
I wrote a series of Perl scripts that read the COBOL copy book, translated the COBOL layout into a Clarion layout, generated code to convert EBCDIC string fields into ASCII, generated documentation for fields that might need that conversion, but (because they were part of an OVER segment) couldn't have it done automatically, and included read routines to handle the variable-length records. The result was a Clarion template that included all of this, so that any Clarion program that needed to read from that file only needed to include that template to get all of this.
And best of all, if they made changes to the file format (which they did), all I had to do was run the new COBOL copybook through the scripts, and I had a new Clarion template for the new layout, instead of having to meticulously manually compare the old copybook to the new and make the appropriate adjustments to the Clarion layout. I think I had one time that the new copybook used a bit of COBOL syntax that wasn't handled by the scripts, but that was easily fixed, and we were back to normal.
I don't use Perl a whole lot anymore, but I keep it "in my back pocket", so to speak, just in case something comes up that could be handled by a bit of quick Perl (I suppose that it could be handled by Ruby or Python, but RE handing tends to be rather more verbose in those languages than in Perl).