Java strikes back!

Mariel | Jul 29, 2022

Java was supposed to be the first programming language I would learn. I remember it was around 2013 when I had the idea about learning how to program. As a good newbie, I downloaded the official Java development kit (JDK) and then… I never really got around it, until now 2022

Background

Here’s a bit of history between Java and me. Well, me from 2013. My computer was a student laptop, a simple but sturdy Dell Inspiron 1545. I installed all the typical chemical engineering student software, i.e. Office, Maple, Mathcad, Polymath, MATLAB, Hysys and one heat exchanger simulator. Now that I’m writing down all the stuff I had in that laptop, I think it was a superb computer.

At some point in 2013, I was working on my bachelor’s thesis and I thought I could start learning a programming language. I remember reading that Java was a good language to start, and so I downloaded JDK. This is when my loyal and helpful Dell Inspiron was finally beaten. I couldn’t believe how slow my computer got, even worse than when I had to run simulations on MATLAB! First strike against Java 💢

The second strike occurred when I tried to write a simple “Hello World” and I couldn’t find where to do this. Me at 2013 didn’t know a thing about IDE’s nor about the enormous amount of info on the internet that could have helped me to set up a proper development environment 😐

I didn’t give Java another go because I got busy for almost one decade with my job and then my master’s degree. My previous jobs required me to use other languages, so I didn’t have the need to revisit Java. Most of my former colleagues had a strong bad opinion about Java. As the least experienced member in the teams, I would usually listen to the most senior engineers. As a result, I got polluted with this bias and I completely “forgot” about Java and my intentions to learn it. Or so I thought…

Episode IV

Fast forward to July 2022 and my quest to get projects put Java back into the table. An upcoming possible work opportunity is lining up yet one decisive requirement is to be able to write and read Java 💥 There’s a Spanish saying that roughly translates to “If there’s money, even dogs will dance”. To secure this opportunity, I have decided to give Java one final go. To say that I don’t have any bias towards Java, would be a lie. Yet I am confident that this time, the attempt will be successful because of three key points:

  • I have a more solid knowledge in setting up development environments
  • A need for learning Java, hence a powerful driving force
  • I’m leaving all biases aside

As a bonus, I decided to learn Java in my Linux laptop, and this has made the learning process more rewarding.

Resources used

Learning resources are almost endless nowadays. There are just way too many resources available, yet not all of them are actually good. After doing deep research on the learning resources for Java, I came across the Java Programming MOOC from the University of Helsinki. I skimmed through it and the contents and exercises looked quite good!

I’m using a small program called Clockify to keep track of the spent time on doing the course exercises and reading the material. In addition to this, I am posting my solutions in my GitHub repo.

To keep me extra motivated and focused into learning and producing code, I have curated a list of radio stations into Rhythmbox. So far, in the last three days, I have completed one part of the course, out of 7. I’m feeling the bias is eroding and I’m starting to appreciate Java. It reminds me to the time when I learned C#. A few months ago I was learning JavaScript, after 2 years of not writing anything else but Python, so JS was a good “intermediate” language to refresh my habit of writing semicolons, curly brackets and this. I do find Java a bit verbose and slower to type, yet it’s not as bad as I thought it would be.

Seems the efforts are paying off. So far so good Java.

public static void main(String[] args){
  System.out.println("Hello Java");
}