In this article, I discuss how knowing different languages like C, C++, Java, Scheme, and Python helped me build a solid portfolio and simplified machine coding tests during my college placements.
I was excited about learning a new programming language during my college days.
The first programming language that I learnt was C programming language. I would accept that it’s a programming language that positively changed how people developed software. But yet, there were a lot of headaches and irritations.
After my first semester, I learnt about C++. As much as an excellent language, it had similar problems as C.
I found it difficult to continue in these languages, and then I learnt java. It was very verbose, and sometimes the camel casing felt weird, but it worked. It worked most of the time reliably. It supported applets and swings, which is a massive shift. It’s like moving from a black-and-white television set to a colour tv set. It felt wonderful.
As I got immersed in learning the depth of java, my friends were like, “Java is dying; time to study python.”
It was painful and scary, but I saw the python programming language samples. Wow! What a poetic language, I thought.
Attracted to the beauty of the language, I started learning python.
For a few months, I used python and then my placements started in the fourth year.
All the companies had a machine coding screening round. We had to solve a problem using the provided programming languages. Among them, Python programming language didn’t exist most of the time. Hence, I had to fall back to java.
I thought it would be an easy shift, but then my dependency on using IntelliJ IDEA for Java Development meant that I didn’t remember the syntax, and online IDEs couldn’t help.
When I wrote the first online screening test, I couldn’t complete it in time, even though I knew how to solve it, thanks to Java’s verbosity. Besides this, all interviewers and MCQ tests emphasised pointers. So, I left java and moved back to CPP.
During this time, I followed HackerRank frequently and came across an event sponsored by them, hosting a competitive programmer named mimino. The competitive programmer, mimino, would solve the problems of Project Euler. I felt this was worth joining since Project Euler’s problems are pretty complex, and mimino has been challenged to solve 78 problems in 24 hours. That’s a fantastic feat.
During the event, I saw how he used C++ STL and knew I had to learn it. Read through the concepts of C++ STL using some books available in my college library and made some notes on collections.
I think this was when I felt confident about my problem-solving skills. Over time, I gave many interviews and finally got an offer from Amazon.
Now, let me tell you how knowing programming languages helped.
C Programming Language
Learning C programming language helped me appreciate the languages I learned later, like C++ and Java. C programming language gave me the motivation to study other languages, and not to forget, it taught me a lot about basic stuff like pointers, data structures etc.
C++ Programming Language
C++ initially looked like the C programming language with additional object-oriented concepts, but once I learned about C++ STL, I was madly in love with this programming language. C++ STL made my life a lot easier. I didn’t have to write any new collection class. I didn’t have to write a sort algorithm. All I had to do was to use it. It was bliss. Object-oriented concepts were also something which helped me to become a better software developer in the professional world.
Java Programming Language
When I learned Java, I was excited about developing software and games because the language didn’t behave like a drunken monkey. I can focus on the implementation and design when I use Java. So it was straightforward. Yes, it was verbose but straightforward, and the IDE support provided by IntelliJ IDEA for Java is the best. So I was able to develop things very quickly with Java. And these things helped me to build a solid portfolio. If I had learned software development using C or C++, I would have had a tough time.
Python Programming Language
Python programming language taught me how to look cool. That was a language only a tiny fraction of people knew back in college, and it was a beautiful language.
I loved Python because it saved me from the unnecessarily complicated questions in the machine coding rounds (first round).
Especially the Big Integer stuff.
In C, C++ or Java, Big Integer problems are a big headache. Java has BigInteger class, but it’s verbose.
The answer for all the problems involving big integers was to use Python programming. As simple as that! It worked most of the time. If it didn’t, I used Java’s BigInteger.
Note: Another language I learned for fun was the lisp dialect called the Scheme Programming language. This is a functional programming language and was a massive shift from the above programming languages. I understood a lot about solving recursive problems because of this language. Sometimes, I also used this language to solve Big Integer problems! 🙂
I want to hear what your favourite programming language is. Let me know in the comments, or drop me an email.
If you liked this article, you might also like reading the following.