Best Programming Languages for DevOps

    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.

    While scripting is important in the DevOps pipeline, it’s important not to let it overshadow key programming capabilities, says IT Pro Today’s Christopher Tozzi. His top languages include Go, Python, Scala, Ruby and C because they all provide high degrees of scalability, efficiency, modularity and other characteristics. But he’s down on Javascript because it was designed as a client-side scripting language for web pages and is therefore not as versatile when it comes to cross-platform and general-purpose coding. The caveats here are that every situation is different and all programmers should use the tools their fit their particular needs. So if Javascript fits the bill, go for it.

    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.
    • Javascript, (yes, one person’s no-go is another’s must-have), offers less server interaction, immediate feedback and richer interfaces than other languages.
    • 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.

    Arthur Cole
    Arthur Cole
    With more than 20 years of experience in technology journalism, Arthur has written on the rise of everything from the first digital video editing platforms to virtualization, advanced cloud architectures and the Internet of Things. He is a regular contributor to IT Business Edge and Enterprise Networking Planet and provides blog posts and other web content to numerous company web sites in the high-tech and data communications industries.

    Latest Articles