On a daily basis, Ben Kittrell translates the jargon-filled world of technology for clients of his tech consultancy. The Words that Frustrate (WTF) series aims to offer readers some clarity in an industry dominated by techies’ confusing argot.
If you want to see a bloodbath, lock a .NET and a Java programmer in the same room together for 5 minutes. We love our computing languages and will defend their merits to the end.
But the reality is that every language has its purpose and value in different environments and for different people. You might choose a language for web development, building an operating system or advanced mathematics. Some languages are easier to learn and use but may sacrifice speed or ease of maintenance. And sometimes new languages are created to shake things up and help us look at problems in a different way.
Let’s explore some of the common programming languages you might hear about these days.
Designed to overcome frustrations of running software on different types of computers, Java’s motto is “Write once, run anywhere.” Whether it’s a web server, desktop software, Blu-ray player or toaster, Java abides.
Java rules the enterprise world. Most large-scale corporate systems are running on Java because of its speed and security features. Much of its success in the enterprise market can be attributed to IBM, which has adopted it as the language of choice for its tools and services. Java is also the language that powers Android phones and apps.
It’s a fine language that I’ve spent a lot of time with, but it has failed to keep up with the pace of innovation we’re seeing with other languages. Because Java is less specialized and can be used for many different problems, it’s fairly verbose and repetitive. Much of the programmer’s time is spent setting up the plumbing of a project instead of focusing on the real business problem. This is not necessarily a fault of the language, just a reality of the balance of ease of use and functionality.
C# is one of the primary languages supported by the .NET framework. This framework is a collection of tools primarily used for Microsoft Windows development, but can also be used for web, mobile and games.
Very similar to Java, C# is also very popular in enterprise environments. Because of Microsoft’s licensing fees for their tools, it’s less likely to find C# among startups that favor free open-source software.
Created by Apple, Objective-C is the language of the Mac and the iPhone. I don’t say this often, but it’s a terribly inelegant language that should be banned from programming. I’m kidding, it’s obviously a very successful language as it single-handedly bolstered the mobile development movement.
Someone at Apple must agree with my opinion, though, because recently it introduced Swift, which adopts principles and paradigms of modern programming languages. It also includes cutting-edge development tools that allow you to instantly see your work as you write code.
One of the first languages to be written specifically for website development, PHP rapidly became one of the most widely-used languages on the web. It’s very easy to get started with PHP without knowing much about it or programming in general, which has made it a great tool for an introduction to web application development. PHP is probably most well-known as the language Mark Zuckerberg used to create the first version of Facebook.
PHP is generally used by freelance web designers and some startups. As projects grow it gets more difficult to maintain.
Where Java was created to make the computer happy, Ruby was made for the programmer. It’s full of what we call “syntactic sugar,” meaning it makes a delightful experience out of tasks that are painful with other languages. Of course, there’s always a tradeoff and most would argue that this sugar makes Ruby slower and more difficult to maintain.
Ruby was a relatively unknown language created in Japan until the release of the popular web framework “Ruby on Rails.” Similar to .NET, Ruby on Rails gives you all the tools you need to rapidly create web applications.
Ruby and Ruby on Rails are great for startups, agencies and web developers that need to rapidly create small- to medium-sized projects.