My process to choose a programming language!
The question seems to be extremely simple and you might have heard a common phrase. Go with any language logic remains the same only the syntax changes. But, there are various factors that affect language selection. I struggled a lot regarding which language I should go on with. As I mentioned in my previous post I was trained at my company in 3 different languages. Since I was sure that I want to go on with backend development the list was cut down to two languages Python and Java.
It’s a known fact that Python as a language is quite easy to learn. I got my basics of programming training in it. So technically it was the first programing language that I studied and develop a liking to. On the other hand, the second language that I learned was Java and I developed the backend of an e-commerce application using Springboot( a framework that uses java as a programming language).
Soon after training, I realized that I hadn’t learned any important aspect of DSA or backend development. I had merely scraped the surface of what was the true potential of these languages. I started exploring the various courses on the various internet platforms. I was uncertain about the languages but even in a short duration, I had developed my liking for Springboot. I decided to give Java a try in DSA as well. Using Lists(Arrays, ArrayList) was way more lengthy than python. Even the basic syntax was a drag let it be declaring a variable in my program.
Just because my resolve was not strong enough I ran away from Java and started studying Python. Now it was all fun until the libraries came into action. Whenever I opened LinkedIn I use to see job posts based more on Java. I went on to try Django the famous framework for Python. I started finding a lot of difficulties with dependency injection or creating a project. Because if you have used Springboot you know how smooth project creation and dependency injection are.
Now, as I moved forward I started having the voice in the back of my head for reading Java once more as the framework is really good. This to and fro was wasting my time on the other hand along with my struggle. I decided to step back and write the pros and cons of my two programming languages. I found out the hard way that both languages had a few troublesome parts and there were other languages that were better than Java or Python in that aspect.
I figured out the hard way that the first and foremost requirement for choosing a language is a strong resolve. Once I figured that out now I was one step closer to choosing a language. Now rather than making a list of pros and cons I started writing down things that I know about both languages. Once the list was finished I compared it and found out I had a slight edge over Python with Java. I decided to give a month's time to Java first and started learning from real basics as if I don’t even know how to print the hello world program.
During the time I didn’t even think about Python as if it didn’t exist. I improved and my liking grew towards java. Once that month period was over I chose the question which is easier to solve with python because of its syntax. I solved the problem using Java without hesitation. This is how I choose my language. It was troublesome and long but it worked for me.
The quote that I mentioned at the start is not wrong but It's not applicable to everyone. There is a certain level once a person reaches by developing expertise in one language it becomes easier to toggle between languages without any issue. Hopefully, my article helps someone who is sailing the same boat as me.