Image credit: Photo by Nubelson Fernandes on Unsplash
The snowballing demand for and reliance of business processes and operations on technologies such as Cloud Infrastructure, AI, Machine Learning and DevOps, increasingly forces a closer look at the efficacy, value and economic viability of software development options.
In terms of efficacy, programming languages that are easier to learn and quicker to code are taking preference above the more cumbersome languages. For example, a survey conducted by JetBrains titled The State of the Developer Ecosystem 2020 found that Java is the most popular primary programming language, while JavaScript is the overall most used programming language. Meanwhile, Python has overtaken Java in the list of languages most used in the last 12 months.
The growing popularity of Python could be ascribed to its versatility of application and the fact that it is much easier to learn than many other programming languages, according to Kim Cooke, Talent Acquisition Specialist at Dynamic Talent: “Because Python is easier to code, it takes less time for developers, thereby favourably impacting development costs.”
There are several technological trends and other topical factors that might explain why we are seeing these changes. For example, the trend towards mobile as the focus of development might be the reason why JetBrains identifies Go, Kotlin and Python as the top 3 languages developers are planning to adopt or migrate to. “Mobile first” means that developers not sure why this is highlighted start programming from the mobile end – which has more restrictions – and then expand the features to create a tablet or desktop version. Other technological trends include a greater reliance on Microservices; Containerization and Container Orchestration; the rise of .NET Core; a growing adoption of DevOps and DevSecOps; and the increasing importance of AI, Machine Learning, and Codeless Development.
In addition, pioneering legislation such as the POPIA act, which finally takes effect in South Africa in 2021, holds very real and determining impacts on the way companies develop and engage with software.
But there might be another reason for versatile languages like Python overtaking Java. Specifically, the eventual outcome of the ongoing legal case of Google LLC v. Oracle America, Inc. is projected to impact the industry even more than POPIA has. This ongoing court case revolves around Google’s reverse-engineering of Java APIs (owned by Oracle America) in order to make Android Java-compatible. The as-yet-unresolved court case now poses the question of whether the alleged similarity to the “structure, sequence, and organization” (SSO) of Google’s software infringes Oracle’s copyright. A decision in Oracle’s favour would mean that even using a button on a window could require some kind of license — and license fees. Copyrighting APIs would lock many companies into complex agreements — and lock out many other developers from creating software for certain platforms, simply because they cannot afford it.
In light of this uncertainty many developers are turning to open-source languages such as Python. According to Kelly Britz, Talent Acquisition Specialist at Dynamic Talent: “Many developers prefer using open-source programming languages as they are readily available and mostly free to use. An added benefit is that any willing member of the user community can contribute to the code, and this potential for affecting change appeals to tech teams and independent developers alike. The strength of a willing community also contributes to the resources, effectiveness and purpose of open-source software.”According to Muggie van Staden, MD at Obsidian Systems, industry choices going forward will be determined by security, privacy, stack transparency, and the “voice from upstream of the open-source community.” (Shaping the landscape of innovation) Wietske Lentink, Account Executive at Dynamic Talent agrees: “Companies will have to become increasingly transparent in the way they develop software and systems, and constantly keep a finger on the pulse of the shifts and changes in tech innovation and its effect on the future of development.”