Jumping between languages

Photo Credits — Luis Llerena I code for a living. Blogging isn’t something I thought of until I actually thought about it. There are things I can finish at blazing speed — 100 lines of code? Bring it on! But when I thought of writing a blog post, it took me a while. I don’t want to be harsh on […]

Photo Credits — Luis Llerena

I code for a living. Blogging isn’t something I thought of until I actually thought about it. There are things I can finish at blazing speed — 100 lines of code? Bring it on! But when I thought of writing a blog post, it took me a while. I don’t want to be harsh on myself and set really high expectations so I decided to start with something basic. We all started with basic, right?

I’m just putting down my experience when I switched from one language to another. I will leave the sharing of insights of different programming languages that I worked on for later.

So here’s the story.

Once, I was reluctant of using any other language than Java and related frameworks for writing an application. I had graduated with knowledge of C and C++. Though I don’t deny writing Hello World programs in Java.
I “really” learned Java when I started working for a company as a fresher. I found the language interesting, so I started reading more on deeper concepts of JVM, compiler, GC algorithms etc. I started liking it more.

I worked primarily on Java for the first 3 years. It was after two job switches that I started working on Node or basically coding using JavaScript(JS). I found the change a little drastic. Like, ‘3’ > 2 returned true. I could send 2 parameters in the method, which actually expects 5 (it sounded silly but yeah it could be done — and then break the code at your own risk). Callback Hell was something which was difficult initially. These were the things I never expected.

The development time was a little faster with JS. I could just create response JSON on the fly than writing a template for the same. Though I had to be very careful about using the variables since there is no enforced type-safety. Slowly, but truly, I got familiar with these, avoiding callbacks by using co-routines. Interestingly, I use JS more than Java nowadays.

There is another programming language I’ve used i.e., Go. One of my colleagues had already started exploring the language and wrote a feature using Go. I was supposed to write another feature and he managed to convince me to write it in Go. So I started exploring the language and the syntax. I had come back to the environment of type-safety, following method signatures, compilation errors etc. I felt a little good since I’m a little pro for these enforcements. When it comes to syntax, it’s a little different from many (or at least from the languages I know), like Method signatures, declaring variables are kind of reversed, you can return multiple values from a function (one of the features of the language I like the most). We did struggle a bit writing test cases with Go and packaging in Go.

I don’t really want to compare the languages here. Every language has its own advantages and disadvantages. JS can really speed up coding, but a developer’s mistake can screw up the application. Go syntax was difficult to adapt to but has type-safety, compilation etc which I prefer in a language.

What happened while I went from one language to another? Well, I’m not stubborn about a particular programming language anymore. I’m open to taking up any programming language and already have a long list to cover.

When you open your mind you see something good in everything and it’s up to you to utilise it in the best possible way!

That’s one thing I learnt at Crowdfire — Always Be learning, Be burning!

Aniket is a Backend Developer at Crowdfire. He’s fluent in Java, Formula 1 and food.

originally posted on Aniket’s Medium


Jumping between languages was originally published in Coding Big — The Crowdfire Engineering Blog on Medium, where people are continuing the conversation by highlighting and responding to this story.

Source: Crowdfire