DEV Community

Sai Sakthi
Sai Sakthi

Posted on

My Life as a Dev III - (From Python to Java , And the Moment I Realized Languages Have a Purpose)

So if you see one of my old posts, I started with python and then Java

Let's talk about Java

One Word, Bro Code

An absolute legend for me in my programming journey, So let's start on how I started Java
After seeing how horrendous C++ was to me, I tried Java, from what I heard at that time, the opinions were mixed

Some complained "It is too old and mostly centered around OOP"
Some said "If you want to become or even remotely do something with a old company, go blindly learn Java"

For me, both point of view is correct
Java might not be the new flashy language or tools everyone chases for, it chases for another thing, stability

The only thing that even keeps Java in this field to be honest, there is no pain to migrate from Java 5 to 6 with 100 breaking changes, or tools that just suddenly gives you a breaking change once a month, like it's milk delivery

It's core idealogy is around, "If it works today now it should work tommorow" atleast that's what I understood personally

So let's start with how I learned Java

The very first thing itself just made me regret my decision
class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello world");
}
}
just imagine, I came from python and seeing words like public static void class main

Man I was ready to give up, but something just said to like pursue it, I don't know what it is, the feel you know that you should do it, I got that feel and I continued it

And it was one of the best decisions I ever made, Java was good, like very good and easy if you understand what OOP is and why it is there in the first place, the history of java itself is another story to learn,

Untill that point, I saw languages as more of a convertor from our language to it's machine native language, like a translator

But I was so wrong when I heard about java, and practised and what I heard changed me forever

Languages are not mere translators, most if not all of them is built for a purpose, to solve a specific problem in a industry in compromise to something.

Like take python, we know it is heck slow to be even called to be a programming language, but you know why almost all AI companies and even all beginners (including me) started there, it's not about the speed, it's about the image and entry to barrier to the space of programming language itself. Python is just plain english language and even a baby could understand it, and that's why it hides almost all abstractions and just leaves on what is necessary to learn and do things like scripting, and there is another deeper side

Inside python, it uses a C++/C engine, and most python libraries are indeed made in C++, so again the speed is not the issue, it's the understanding that we get when we use Python

Same for Java, It is primarily built for stability, backward compaitability, long term reliability and most importantly Cross Platform Running,

We forgot this after docker huh, most languages at that time like C++ C etc did not cross platform, you have to take the source code recompile into it's orginal one and then run it, pain in the ass

So java decided, F**K it I build a VM which can run it, and it worked like a charm, now just drop your JAR (not your home jar, I won't be responsible if you broke it 🤣🤣)
But Java Jar which runs if you have java, no recompiling from source code and hoping it won't break

that's one of the story, I did learn till Method over-riding and then left it after seeing there is just way too much in that

So, now I did learn Languages, what about projects,

For that let's start in our next story

Top comments (0)