codeblog

My experience of learning 3 programming languages in 3 weeks.

Disclaimer: I don’t claim to be an expert in any of them. This was just a thought experiment.

Here’s how it all began :

In the last week of May, I was working on the front-end part of my personal project, which got me frustrated and bored to some extend. So I decided to take 1–2 days off to refresh myself. I decided to take a deeper look at the world of competitive coding (i do solve some questions, but not very seriously). So wandering on the internet I came to this website called code wars.

While signing up, they asked to pick a language, but they had more than 50 languages, which got me thinking, why people make so many languages when we already have so many computer languages. Why do they exist?

So I start to search about each one of them but had no success in understanding the difference between them because google cards show the same result for every language, Either it is a multi-paradigm programming language or general-purpose programming language. Thanks, Google.

Searching more on the internet, first came across Rust programming language, saw a few talks/conferences and it fascinated me. Rust is the new C++. Next, I came across Golang, a replacement for Java, and then Julia, one programming language that takes on Python, R, Octave, and Matlab (I will refer to them as PROM )in one shot. So I decided to do a thought experiment, learn 3 programming languages in 3 weeks.

I set my main aims to be :

One thing I want to make clear: I don’t claim to be a professional/expert with these languages, and 6 months in the future, I am pretty sure I will forget their syntax. Nonetheless, this article is about my experience learning going through this thought experiment and learning about different programming languages.

I also wrote 3 articles on medium about each one that you can check out :

Understanding why these languages were create

These programming languages were created to overcome the long list of features and functionality that can now have become an essential part of software development(more on that later) and other engineering tasks

What new features and advantages they bring that do not exist elsewhere?

For an in-depth overview of each of these programming languages, please refer to the articles linked above. Here I will just be comparing them with existing ones

Time to solve = design time + programming time + testing time + debugging time + run time + time for visualization of results

Understand their basic syntax, design paradigms

Well, looking at the few lines of code, it’s easy to tell that these modern programming languages have a more sensible syntax.

Neither writing verbose code (java) nor purely in symbols (C++) is fun, from anyone learning to code to professional developer. Rust, apart from amazing features it provides, balances between both the properties and that’s why its the most loved programming language according to stack overflow 2020 survey. Even Go is not far behind.

Performance comparison with existing ones

I have an in-depth performance comparison in articles about each.

Here is a quick overview :

Current Industry usage

To be honest with you, I am just a student who has partial knowledge about industry usage. During this period, I tried to research current industry adoption, nonetheless, the knowledge I have doesn’t represent the industry and it’s better to hear it from actual professionals.

Golang

Rust

Julia

Future of these programming languages

Well, if you are wondering why anything of these programming languages hasn’t been in headlines all over the internet is because :

I think that’s the major reason why they aren’t famous, but that doesn’t mean industries aren’t betting on them. All these languages have gotten more and more attention from companies as compared to other modern programming languages. But I think it’s safe to say, you so start learning them now, 4–5 years in future, you will definitely have an earlier adoption advantage.

I hope you like this article !