Luckily, I have come across few programming languages where I had my opportunities to use them quite extensively. The love with Perl began around 2007, it was by far the most flexible languages for me where I could manipulate data and generate report easily. After a while, the web / mobile applications became quite popular and I ended up programming in Java with Python. Honestly, before I came to use new languages extensively, I believed Perl is the best language out there because it was just so flexible I literally was able to do most of my task using Perl. I realized then that dividing the best programming language of all is quite meaningless and a waste of the time. I am just here to share my experiences with these 3 different languages I used most frequently and their pros and cons. I obviously used many other languages like JavaScript, Scala, Ruby, or C/C++ but I do not have extensive use of these languages and its probably best for me to leave them out of this post
Java is famous for its verbosity which is one of the things I like about the language. This was totally lacking when I was coding in Perl. Well, at first, I hated all the verbosities, but I started to see some benefits from these long names (descriptive) and strict coding standards. They actually helped me immensely understanding the entire software better. Especially, usage of an IDE (Eclipse at first) to code in Java was like finding an oasis in a desert. I couldn’t believe how easy and intuitive it was to code. Then I got my hands on IntelliJ (from Eclipse) which I believe was the turning point for me to really dive into a deep Java. Java is obviously well defined concurrent and object-oriented language. It is statically typed with an efficient garbage collector (GC). At the end of the day, GC ensures type safety and security that you do not have to deal with pointer arithmetics which could turn into like memory leak and cause memory overflows. It essentially does an automatic memory management. The language had a bad reputation for its performance, but it had been improved significantly over the course. As matter of fact, Java is slightly better performing than those interpreted languages which do not have an effective native-code compiler. Java all in all is a good language suitable for back-end functionalities.
From my experiences, Perl is very flexible with data manipulations due to its strong string parsing and regular expression abilities. Also, I can easily interact with the system well. I really see Perl Devs in 2 categories:
I prefer the former when CPAN option is available. Often, I delegate those system calls to the CPAN to handle as I feel safer that way. Sometimes there aren’t any good CPAN modules available though (which is one of the downsides of Perl) then it’s inevitable to leverage system calls to handle the tasks. I adapted to code in Perl around the year 2007 which actually is quite late in the game, yet it was still quite popular at the time. I believe it slowly lost its interests to other scripting languages Python or JavaScript.
Python offers intuitive coding and human-friendly scripting language. According to the Python website, Python programs are generally expected to run slower than Java or any other vendor supported languages, but they also take much less time to develop and from my experiences, I hardly noticed any performance slowness due to the language barrier. Here are the reasons why I love programming in Python: