Perhaps the only thing programmers value more than their own code is their programming language. Many an argument (serious argument) can be found on chat boards and sharing sites over the advantages and disadvantages of Python, Ruby, Java and the hundreds of other options currently in circulation.
These battles are being waged anew in the age of DevOps, which requires not only speed and agility but the ability to create increasingly lightweight products that are both portable and highly functional. So at the risk of being seriously flamed, here is what some experts on the web consider to be the crucial programming languages for DevOps.
One language that is getting a lot of buzz lately is Python. According to Savaram Ravindra, writer at Appmajix Technologies, Python is in fact transforming the DevOps landscape by virtue of its ability to act as both a programming and a scripting language. This means it can support both the dev and ops sides of DevOps to enable full lifecycle support under a single framework. As well, it uses a very direct syntax that provides an easy learning curve, allowing coders to become proficient in Python and then use it as the foundation to explore other languages. And as an added kicker, Python is also emerging as a key enabling technology for blockchain.
It seems clear, then, that there is no one single language that will serve all your DevOps needs. So which ones should the budding programmer bone up on now to ensure they have the skills to meet virtually any challenge later? SpringPeople’s Payel Bhowmick has narrowed the field down to eight:
- SQL, for its container support and ability to store, manipulate and query data in relational databases.
- Bash, which is already in use as a command shell and scripting language on Linux servers across the globe.
- Perl, dubbed “the duct tape of the Internet,” can support simple and complex projects ranging from web apps and text processing to database interfaces and GUI development.
- Java, an object-oriented, class-based language that is also concurrent in nature and is ideal for jobs that require minimal implementation dependencies.
- Ruby, a very flexible language that can be altered to fit unique requirements.
- C/C++, a higher-level language that occupies leading OS kernels like Windows and UNIX. It supports functions like real-time simulation, mobile sensor applications and high-performance image processing.
- Python, as mentioned above, is both a GP and scripting language and is very easy to learn.
Undoubtedly, there are many other languages that provide all kinds of advantages to the DevOps process, but there is nothing wrong with building knowledge around a core set of leading solutions and then matching the more esoteric ones to highly specialized projects. And with the right API, there is no reason why a single project cannot accommodate multiple languages.
Just make sure that the language you use for development does not end up hampering the performance of operations, testing, security and other aspects of the continuous application pipeline.
Arthur Cole writes about infrastructure for IT Business Edge. Cole has been covering the high-tech media and computing industries for more than 20 years, having served as editor of TV Technology, Video Technology News, Internet News and Multimedia Weekly. His contributions have appeared in Communications Today and Enterprise Networking Planet and as web content for numerous high-tech clients like TwinStrata and Carpathia. Follow Art on Twitter @acole602.