My journey with Java

A lot of people ask me why I prefer Java over any other programming language like Python. They reason themselves with ‘Python is easy to learn,’ ‘Python commands are easier to remember and shorter to write’ and so on. Some suggest me to switch to python, claiming Python has a lot more libraries than Java. Yeah, they are correct but I am kinda old-school. JVM is much better than the Python interpreter. The JVM and JIT Compilation in Java makes it very fast when compared to Python. And, being platform independent is one of the greatest features of Java that I exploit. For example, a Python program written for Raspberry Pi 2 (using GPIO pins) might not run properly in Raspberry Pi 4. The code needs to be edited for compatibility. However, for Java, there is no such issue. The Pi4J Java library for Raspberry Pi has been automatically updated for Raspberry Pi 4 and I am able to run the same code that I wrote for Raspberry Pi 2. This is just a single example of platform independence. Yeah ‘3 Billion Devices run Java.’

It is not that I am an orthodox Java user. It is not that I stick to Java, no matter what. My projects are usually a combination of more than one programming language. I use a modular approach when it comes to programming – I break my project into different modules. Now, if one module is better done with Java, I do it with Java; if one module is better done with C, I use C; and if another module is better done in Python, I use Python. Fun fact: I even use QBASIC in parts of my projects. I don’t stick to a particular language but I prefer Java over the rest.

I try to keep the main logic of my projects in Java. This is because the extensive availability of Data Structures like ArrayLists, Lists, Stacks, Queues, Vectors, HashMaps and so on. I find the garbage collection and memory management of Java very strong. And, yeah, Java using static datatypes and the availability of Wrapper classes makes me feel that I am controlling my program, not my program controlling me. And obviously, the indentation of Python is a headache. I would rather type a couple of braces more that count the number of spaces at the starting of a line.

I started programming when I was about 12 years old (now I am 19). My first language was QBASIC. My first project in QBASIC was called ‘Missive Man,’ a database to store messages over local network. Not really a database, the messages were written in a file and each authorized user could login using his own username and password and read his messages others had sent. At that time, I felt it was a very good project (I was 14 years old then) but later I realized it had severe security issues. I started Java when I was 15. The OOP concepts seemed to be very logical and I didn’t take much time to understand it. I am a fast learner myself (though I tend to forget stuffs), and I took only 2 years to get to a standard where I could implement OOP concepts easily. I tried to contribute to open-source projects and that helped me to learn faster. Moreover, I started to learn Embedded-C (Arduino) alongside. When I was in my tenth standard, my project in Java, ‘Phone Interface’ was able to communicate with a connected Android device over USB or WiFi using ADB (Android Debug Bridge) and could make calls and SMS from any PC. Considering it to be in a time when Internet Calls and Instant Messaging was not so popular, it was a good project. Since then, I am increasing my knowledge.

Now, I am in the first-year of my college and am actively participating in Hackathons in order to increase my skill set and to gain exposure to the industry. No, I usually don’t participate in hackathons with a mindset of ‘winning’ any award. I participate for the learning experience. And, frankly speaking, the ones that I won were completely unexpected. (Thanks to my teammates). I am so confident about my OOP concepts that Java has always been my primary weapon, seriously. Gaining the Oracle Java SE 8 Programmer Associate certification boosted my confidence a lot. According to me, Java is one of the most versatile and powerful programming languages. 

要查看或添加评论,请登录

Aditya Mitra的更多文章

  • 17th Century to 2023: What's happening?

    17th Century to 2023: What's happening?

    This might sound very weird coming from me, since I do not usually indulge in such topics online. Well, the first point…

  • Will AI really take over humanity someday?

    Will AI really take over humanity someday?

    Every day when I open any social media, among most posts, I come across some with a common question. "Will AI really…

  • The Computer is too big

    The Computer is too big

    I have always been fascinated by the way computers have shrunk in size and increased in performance over the years. It…

    2 条评论
  • Don't Blame The Organizers

    Don't Blame The Organizers

    For the past two days, I have participated in HackSRM. According to me, I worked hard for the project and literally…

    3 条评论
  • Decompilers: A threat to Android Industry

    Decompilers: A threat to Android Industry

    Importance of Source Code security: Before going into the topic, let me make a brief statement about what is Source…

社区洞察

其他会员也浏览了