Python Enterprise Gains Momentum

InfoWorld recently published an article that shows Python enterprise development is gaining momentum as a programming language. Major products build using python are web applications for Dropbox, Pinterest, Instagram, Discus, and YouTube. Python is displacing programming languages including Java, Perl, Ruby, and PHP. According to the latest data by Tiobe language index, which measures programming languages popularity based on searches in search engines, Java is still perceived as the most used programming language. Last year Python was ranked eighth on Tiobe index. This month, Python has climbed the index ranking up to the fifth position with a rating of 4.18 percent. In December, it had managed to get to the 4th place with a 4.429 percent rating. So, where does Python fit among other leading languages?

Java

Java is celebrating its 20th anniversary and Coding Dojo indicates that Java runs on more than 7 billion devices worldwide. Readability, simplicity and its early roots as a multi-platform language made Java popular with software developers. Many programmers have historically used Java for building enterprise systems. On the TIOBE index, Java has the status of the most widely used (or inquired about!) programming language. Contributing to its growth is that Java is the native language used to perform Android mobile app development. Java has managed to remain as the most used programming language with IT organizations that view Java as having long-term compatibility, i.e. current Java applications are likely to work into the future. The Java community has leadership participation from Oracle and IBM, along with an extended community that supports the language, which is among the key reasons why many software developers are comfortable in selecting Java.

Python

With his first release of Python 1.0 in 1994, Guido van Rossum continued to develop the language at Google from 2005 to 2012. Today, computer science students are learning to code with Python. The reason people are using Python to teach programming is because it’s readable – as developers, we know code is read much more than it’s written! Python is a dynamically typed programming language, meaning you don’t declare a type for a variable name. x = 5 makes variable x refer to integer 5. x = “5” makes variable refer to string 5. It’s also strongly typed, meaning if x = “U” and if you try to add x + 2, this gives error. Unlike weakly typed programming languages (JavaScript, PERL) it does not output “U2”. Python has been widely used for extraction, transformation, and loading (ETL) operations but it is now being applied for as an enterprise software development language, particularly with enterprise python. Python is gaining ground in business applications, with efforts to address python security issues through organizations such as OWASP (Open Web Application Security Project). Major companies, such as Microsoft, Dropbox, Google and IBM, along with freelance developers support efforts to grow this language. Python is less infrastructure intensive and less prone to memory leaks than Ruby or PHP, which are typically used for simple websites rather than development of business applications. Popular python based frameworks include Django and Flask.

PHP

PHP is popular because it is one of the basic languages used by people learning to program. The language offers some additional capabilities, such as server-side scripting and web development. PHP makes it relatively easy to embed HTML code and combine it with several web template systems, CMS (Content Management Systems, e.g. WordPress), and web frameworks. A common website stack is referred to as LAMP (Linux, Apache web server, MySQL, and PHP). The language runs on most operating systems such as Windows, Linux, Unix, and Mac OS. However, enterprise software development companies do not favor use of PHP, as this language does not natively enforce MVC design patterns, it’s resource intensive [interpreted code], is viewed as less secure than C# or Java.

Ruby software development

Compared to programming languages such as C and C++, Ruby is an easy language to learn. The popularity of Ruby surged with the open-source distribution of the Rails framework in 2004, i.e. Ruby on Rails, but in the enterprise space, Ruby has mainly been confined to websites. Over the years, Ruby has evolved its own ecosystem. Ruby has frameworks and libraries such as Ruby on Rails and Chef that programmers can use in their projects. For Ruby software development, there are existing code sets that can be used, such as RubyGems to manage frameworks and libraries. However, Ruby faces many infrastructure inefficiencies (speed, failover, concurrency) relative to Java.

Perl Scripting

Perl scripting, not to be confused with Perl programming language, is mostly used for extraction, transformation, and loading. It finds usage in applications that have multiple database connections, and this makes it popular because many web allocations have to fetch data from databases. It has strong text processing capabilities, often useful for importing and parsing CSV files. It has gained ground in the Tiobe index and has managed the eighth spot in the latest ranking with a 2.251 percent rating.

Conclusion

Many organizations are adding Python skills to their development teams. Languages such as Java and C# remain highly used in business applications, but as a dynamically typed languages Python is gaining ground.