In the world of programming, every language has its own strengths and weaknesses, its unique syntax, and a specific set of use-cases it's most suited for. The big question, however, is how to navigate between different languages effectively without feeling overwhelmed or lost. Today, I found a key to answering that question, and it all starts with realizing that at the end of the day, it's just a language.
Recently, I had been grappling with the challenging task of dividing my time between learning Python and Java. The reason? My upcoming course, CS112 at Boston University, utilizes Java, a language that has not been my favorite, to say the least. I found myself juggling between the love for Python and the academic necessity of Java.
Earlier today, I thought I'd get a head start by diving into the coursework of CS112, which is readily available online. My initial plan was to finish the problem sets and lab assignments ahead of time, hoping to lighten the load for the coming semester. What I discovered, however, changed the entire game for me.
CS112 is primarily focused on two aspects: first, solving coding problems on paper (thanks to BU's outdated paper-based exam format), and second, the study of Data Structures and Algorithms.
The realization hit me like a ton of bricks. I had been trying to master Data Structures and Algorithms with Python while simultaneously struggling with Java for my course. The revelation offered a unique opportunity: why not merge the paths of learning these two languages through the lens of Data Structures and Algorithms?
This approach has multiple benefits. Firstly, it helps unify my focus on both Python and Java, centering it around a single, critical topic. Secondly, it will serve to prepare me for job interviews, which I will begin in mid-August. And most importantly, it makes Java a little more palatable, as I can now see its direct purpose and application.
Now, I've embarked on a journey with two parallel Udemy courses - one for Java, the other for Python, both focused on Data Structures and Algorithms. As I learn simultaneously in both languages, I am beginning to see them in a new light.
This is why I titled this blog post "It's Just a Language". Just like human languages, programming languages essentially communicate similar ideas but do so in different ways. While Java might not be my preferred language, understanding how it performs the same tasks as Python can be incredibly grounding.
Sure, Java might still taste a bit bitter, but now, it feels like it serves a purpose, making the whole learning process a little bit easier to digest. Learning to love Java? Well, I might be a long way off from that. But learning to understand it, respect it, and use it effectively? That’s a journey I am excited to embark on.