Skip to content
Tags

I HATE JAVA

18/02/2016

I haven’t really added a post to this blog in, what nearly 3 years. The web is rammed with “bloggers” who think they are important and have something to say. I’m fairly certain I am neither important nor have anything of value to say most of the time. So file this post under the  “Rant and need to offload” category.

I’ve been working in 3rd Line / Dev / Application Support position for the past couple of years. Mostly I LOVE it, I’m naturally love a challenge, enjoy investigating, problem solving and helping others. Coupled with a great company and colleagues that are the best I’ve ever worked with, i really couldn’t ask for a whole lot more. Well, with one exception really I really really hate JAVA.

Our applications are massively complex, I mean massively complex, built up organically over the past decade and half. They have all been coded in Java, with Spring and Hibernate and to be fair, they are mostly pretty damn stable. They have never completely crashed in my time there. Due to their necessary complexity though, they are riddled with bugs. In part because we have 100s and 100s of JAVA classes, edge cases and the inevitable patching that introduces regression bugs or creates bugs in other parts of the interconnected system.

It’s my job, in part, to look through the code and (if I can) determine what it’s doing and if it’s doing it incorrectly.

I’m not a coder any more. Once, a long time ago I was a web programmer, but I was never very comfortable as a programmer nor any good. So my coding now is restricted to PL/SQL and Bash shell scripting.

I’ve never been a massive fan of the whole pure Object Oriented paradigm though. The purists evangelising how OO is the ONLY way to code and how anything else is just a bag of wanky shite. To me, OO coding has its place, but so does functional programming, procedural programming and all the other paradigms.

As our platform is all pure JAVA I’ve noticed not only how spectacularly verbose it all is but how unbelievable complex it is to read, understand and debug when working with enterprise level applications.

Typically, I find myself opening up a Java class, and then having to open, literally a dozen or so other classes so that I can understand what is going. Trying to keep all those classes in my head and understanding them all is so difficult. It’s not that I can’t read the java, the syntax is fine. it’s trying to keep it all in my head at the same time I find hard.

To help us improve my team has been on a JAVA training course for the past few days. Whilst I sit in the class I can understand what we’re donig and it is helping, but as we go through different elements I find the same little voice in my head getting louder and louder all the time.

This is soooooo very long-winded and verbose

Compared to Python, PHP, Javascript, Ruby, Smalltalk, C# of VB, Coding anything in JAVA just seems not just like a lot of typing, but a lot of mental acrobatics. Sure the IDEs like Eclipse and IntelliJ reduce that down somewhat, but only because they can automatically add all the cruft that Java seems to need. Even with the IDE adding a lot in for you, it’s still all seems like a very roundabout way of getting things done and maintaining and this is further complicated when you add MVC type frameworks in there too.

Today, for example we started with MVC and then GUI building with Swing. We literally spent all afternoon building a single window with a single label and single text box. All I could think of was how much easier it would have been if we’d been doing this in C# or Mono, VB, Lazarus, Delphi, HTML/Node, QML, QT or Python (with or without Pyside/PyQT)

Had we been using Netbeans we probably could have used their designer, but we were using eclipse (which I personally rather like as an IDE)

I’ve been looking at programming languages and code for decades now and the more I see and use JAVA the more i absolutely detest it. Whenever I have to do some code analysis my head and heart sink. they used to say that Basic led programmers to write spaghettii code, but nothing is more spaghetti like than having to juggle a dozen classes and even more methods in your head.

 

 

 

Advertisements

Comments are closed.

%d bloggers like this: