The Programming Languages IT Should Learn

Which programming languages should today’s mainstream IT managers learn and know? TechRepublic writer Justin James has some advice. The highlights:

If you are running a Windows machine or network, PowerShell, a runtime shell editor on the .NET system, is the most important programming skill to learn. To write PowerShell scripts and ‘cmdlets,’ you need to learn a .NET language. I recommend C# at this point.


After PowerShell, I would get familiar with ASP.NET MVC, which is quickly replacing the difficult-to-learn WebForms system for new projects. ASP.NET MVC will allow you to write line-of-business Web applications.


For internal application development, I suggest taking a look at the OutSystems Agile Platform; it dovetails nicely with your existing Active Directory infrastructure, and for a reasonable licensing fee, you will get an environment that will let you create great internal-use applications.


The C programming language is the foundation of the *Nix family of operating systems, and you cannot go wrong by learning it. Unfortunately, C is a tricky language to write quality code in, and even simple C applications can cause big problems when written incorrectly.”


If you do not feel comfortable learning C, I suggest learning a C-like language (good choices are Python, Ruby, and Perl) that can also be used to manage a *Nix system. Many critical and common system utilities are written in those languages, and all three have a wealth of support and are easy to learn and forgiving to the new developer. Furthermore, it is easy to write Web applications in all of them. I recommend Python + Django or Ruby + Rails as a one-two combination for having a great system administration language and Web development framework.


Java is a possibility for Web development, but frankly, I find the Java ecosystem confusing, and it is not a great language for handling system administration tasks. Why learn multiple languages if you don’t have to?

Source: TechRepublic

3 Responses to “The Programming Languages IT Should Learn”

  1. @Marland, *nix is shorthand for “Unix Linux HPUX, Solarisix (ha ha)” Basically all the Unix derived operating systems. Becuase of their common heritage, many of the skills used for one apply to the others, “vi” for instance.

    But regarding the main theme of the article, it sounds to me like the author has drunk a huge batch of the Microsoft Coolaid. There are a variety of scripting languages that are multi-platform, and that seems to me an issue worth discussing these days.

    While the installed base of Windows is huge, it is an awful operating system and someday people will have enough of the problems that never get fixed my just wallpapered over.

    In my opinion, it is still important to write programs in non single sourced languages, and it is important to write scripts in transportable languages as well.

    The problem with powershell is that it is hopelessly Microsoft specific. To make things worse, the primitives you call from powershell are “.NET” specific as well.

    One of the reasons for keeping things portable is scalability. Microsoft soutions do not scale well,
    (perhaps I mean economically). It is far easier and cheaper to set up a server farm of *nix

    It takes a little longer to write solutions thant are platform neutral, but when marketing opportunities arrive, that is when things are either easy, or terrifying.

  2. Based on what I found via Google, it seems Mr James views the IT world as being either MS, or “IX”. That’s a rather narrow view of a large world. Believe it or not there are other OS than MS latest, or flavors of “ix”.