You are on page 1of 6

TOP 5 PROGRAMMING

LANGUAGES FOR SYSTEMS


ADMINS TO LEARN

COPYRIGHT ©2020 CBS INTERACTIVE INC. ALL RIGHTS RESERVED.


TOP 5 PROGRAMMING LANGUAGES FOR SYSTEMS ADMINS TO LEARN

TOP 5 PROGRAMMING LANGUAGES FOR


SYSTEMS ADMINS TO LEARN
Depending on the organization, systems admins may find themselves as participants in other IT
tasks. A little automation may help to free up valuable time to get it all done. These languages can
help.
BY JESUS VIGO

Full disclosure: I am not a programmer. I just began my 24th year in the IT industry, and let it be known that I am not
a fan of programming. It’s not because I don’t see the utility of it or how awesome it is to develop your own solutions
and applications. It’s far simpler than that—it just does not come naturally to me and takes significant effort to really
piece it together to create solutions and
such that help make my job easier.

You may be asking yourself, why write


an article about something you don’t
like? There’s a simple answer for that,
too. It makes the systems admin portion
of my job responsibilities significantly
easier. That’s the main reason I work so
hard at figuring it out, making sense of
it, taking courses, and ultimately putting
it to good use. There aren’t enough
hours in the day to give everything that IMAGE: ISTOCKPHOTO
personal touch or to repeat the same
task over and over across tens of thousands of clients, servers, and mobile devices on- and off-site.

As a hands-on IT professional, I can be found working on many jobs at once, attending meetings, and providing
support to colleagues at any given time. So, that’s why learning at least one programming language is so important:
The flexibility of automating tasks (particularly the repetitive ones) frees up time that is better spent addressing
matters that require the personal touch.

The languages listed below were specifically chosen for not only the benefit that they provide to admins in
their current roles but allow for them to pivot into any number of other roles across departments, such as
security and penetration testing, DevOps, and web development.

2
COPYRIGHT ©2020 CBS INTERACTIVE INC. ALL RIGHTS RESERVED.
TOP 5 PROGRAMMING LANGUAGES FOR SYSTEMS ADMINS TO LEARN

PYTHON
The top of the list among many different IT platforms is Python. Some of the language’s strengths are that it’s open
source, supported across most operating systems, easy to use due to its relatively low learning curve, and interop-
erable with any number of industries, like social media, web, administration, automation, and security.

In fact, many of the tools commonly used by penetration testers often include plug-ins to import Python scripts
into their workflow when assessing the security posture of systems on networks specifically due to its agnostic
approach to hardware and software and the facility by
which the scripts can be modified on the fly, as needed.
Also, it is extensively supported by a large community
and offers a breadth of libraries to shorten code devel-
opment time.

Roles best suited for Python programmers include


penetration testing, web developers, automation, and
DevOps.

BASH
Bourne Again Shell, or BASH for short, is the shell native to Unix/Linux-based systems by default. It is known
for combining its use of commands and applications on systems to construct scripts used to automate just about
anything on a system, including the retrieval of output data, or manipulating said output and channeling (known
as piping) data from one command to another to execute multiple commands against one set of data for added
efficiency.

One of the common cons about BASH is that it


isn’t supported natively across all OSes. Particularly
Windows systems, though Microsoft has made strides
to incorporate a BASH interpreter, which is available
as an optional install on Windows-based systems. Pros
for BASH include its speed and efficiency, as well
its unified support across *nix-based platforms and
will serve as a great skillset for sysadmins that wish to
remain in their roles but expand their knowledge base further.

Roles best suited for BASH programmers include Linux-based systems administrators, automation, and application
development.

3
COPYRIGHT ©2020 CBS INTERACTIVE INC. ALL RIGHTS RESERVED.
TOP 5 PROGRAMMING LANGUAGES FOR SYSTEMS ADMINS TO LEARN

POWERSHELL
Microsoft’s PowerShell (PWSH) has undergone a change in recent years, including limited support for
Unix-based systems, becoming open source, and
most recently adding more support for a large
swath of OSes, including popular Linux distri-
butions and macOS, among others. PWSH was
originally developed as a successor to the CLI
interface found in Windows systems with support
for systems management and role-based services
on servers.

While the crux of that hasn’t changed, it has


developed into a programming language in itself,
used by admins to support and manage devices
(one to many) with the flexibility to manipulate data in any number of ways, including automating virtually
all aspects of a system. And through the use of modules, similar to libraries, additional functionality may be
introduced to expand its capabilities for both first- and third-party services, including the Azure platform,
which allows for typically locally run services like Active Directory, Exchange, and Intune to migrate to the
cloud.

Roles best suited for PowerShell programmers include Windows and Linux-based systems administrators,
automation, and cloud engineer.

RUBY
Compared with most of the items on this list,
Ruby (and Ruby on Rails by extension) is among
the newer programming languages and arguably
the least popular. But that doesn’t mean that Ruby
should be discounted by any means, given its
strengths as being easy to learn and ideally suited
for web-based development and e-commerce, due
in no small part to its focus on clean code and
security.

Ruby has a substantial following among the security

4
COPYRIGHT ©2020 CBS INTERACTIVE INC. ALL RIGHTS RESERVED.
TOP 5 PROGRAMMING LANGUAGES FOR SYSTEMS ADMINS TO LEARN

community given its facility in aiding infosec pros to fuzz code, reverse engineer files and applications, and
perform a whole host of other popular penetration testing tasks. For anyone who may doubt Ruby’s security
prowess, Metasploit, the powerful framework used to develop and execute exploits on systems worldwide, was
written in Ruby.

Roles best suited for Ruby programmers include web development, pentesting, application development, and
e-commerce.

JAVASCRIPT
Unlike the relative newness of Ruby, JavaScript is among the older of the programming languages listed here, and
there’s a reason it has stood the test of time. JS was developed almost 25 years ago and has on its side speed, compat-
ibility, versatility, and simplicity. It can be found almost everywhere to some degree, but most often on a website
when communicating between clients and servers.
IMAGE: ISTOCKPHOTO
JS is updated frequently, with many of these updates
bringing new functions that allow for greater usage of
resources for web-based applications, mobile devel-
opment (like smartwatches, for example), and games.
Though it’s superior in many ways to other languages,
it isn’t without its share of limitations. There are
dependencies based on the browser installed, because
not all browsers support the same functions and
could “break” apps. Also, it’s not very well-suited
for managing systems and is plagued by a number of
commonly exploited vulnerabilities due to the way in which JavaScript conceals (or rather, does not conceal) code.

Roles best suited for JavaScript programmers include web development, application development, mobile device
development, and games development.

5
COPYRIGHT ©2020 CBS INTERACTIVE INC. ALL RIGHTS RESERVED.
CREDITS
Editor In Chief ABOUT TECHREPUBLIC
Bill Detwiler
TechRepublic is a digital publication and online community
Editor In Chief, UK that empowers the people of business and technology. It
Steve Ranger
provides analysis, tips, best practices, and case studies
Associate Managing aimed at helping leaders make better decisions about
Editors technology.
Teena Maddox
Mary Weilage DISCLAIMER

Editor, Australia The information contained herein has been obtained


Chris Duckett from sources believed to be reliable. CBS Interactive Inc.

Senior Writer disclaims all warranties as to the accuracy, completeness,


Veronica Combs or adequacy of such information. CBS Interactive Inc. shall
have no liability for errors, omissions, or inadequacies in
Senior Writer, UK
the information contained herein or for the interpretations
Owen Hughes
thereof. The reader assumes sole responsibility for the
Editor selection of these materials to achieve its intended results.
Melanie Wolkoff The opinions expressed herein are subject to change
Wachsman
without notice.
Staff Writer
R. Dallon Adams

Associate Staff Writer


Macy Batern Copyright ©2020 by CBS Interactive Inc. All rights reserved. TechRepublic
and its logo are trademarks of CBS Interactive Inc. ZDNet and its logo are
Multimedia Producer trademarks of CBS Interactive Inc. All other product names or services
Derek Poore identified throughout this article are trademarks or registered trademarks of
their respective companies.

Staff Reporter
Karen Roby

Cover image
iStockphoto/
SolisImages

You might also like