Part of attracting top tech talent to your business is creating an environment in which your new hire can thrive and enjoy their work. When it comes to developers, they know what they like.
A recent study by Stack Overflow has revealed the programming languages developers hate the most. We spoke to some developers to find exactly why these languages are so unpopular and about the importance of running projects in the correct language to ensure successful delivery.
Why are programming languages important?
Some languages (and frameworks!) are a better fit for projects than others. Once you are able to describe the goals of your project, your dev team will be able to advise which language to use.
There are several ways of programming. The major four are Dynamic, Static, Interpretive and Compiled. Statically compiled and strongly typed on the one hand or dynamic and interpretive on the other.
Older, traditional enterprise languages provide developers with compile-time errors rather than run time errors, ensuring safer, well-documented code with clean interfaces. Dynamic languages are more flexible and allow for easier testing.
But which ones do developers like least?
The biggest criticism laid upon Objective-C is that it's Apple-exclusive. If you don't have a Mac, you're going to struggle. Secondly, the syntax is complex and difficult to implement.
Sadly, what you get for this restriction isn't anything new. At the end of the day, Objective-C is just like the old plain C. This programming language also uses each and every character in its code, which developers find ugly in a world where languages like Ruby make things appear much more elegant and logical.
"There's nothing wrong with Objective-C. It's just so restrictive. It's great if you're a Mac user, but outside of that, you’re going to find it challenging to work in."
Ashley, Senior Back-End Developer
Even people who aren't programmers have heard of PHP. This is one of the most popular and most successful programming languages ever. Widely considered one of the easiest languages to learn, many devs cut their teeth in PHP as they develop their skills.
As a result of its popularity, PHP still underpins the systems of businesses all over the world to this day. So why do devs dislike it?
Even though it is a great language for website scripting and developing small applications, PHP begins to show weakness in large applications.
With the way the PHP preprocessor hypertext language was created, it is not highly modular. Huge applications created out of the programming language will be difficult to maintain.
"The bigger you go, the more unwieldy PHP becomes. This means that large applications need regular upkeep, which means more dev time. Like many of the 'old school' languages, more efficient ways of working have been built on the shoulders of PHP that are more effective for certain applications. "
Andrew, Senior Software Developer
3. Visual Basic
Visual Basic is Microsoft's proprietary programming language. As such, it is exclusive to Microsoft operating systems and is the bedrock of many business applications.
However, many professional developers don't seek and do work with visual basics (VBA). The main and important reason is the lack of tools and libraries for VBA. This makes it difficult to use when creating complex applications.
"Some people just don't like the Microsoft languages because they aren’t 'cool' languages. But VBA is easy to learn, so it’s easy to pick up and use."
Ray, SQL VBA Developer
In the late 90s and early 2000s, Delphi was to many, the last word in programming languages. With a clear syntax that was easy to read, an interesting architecture and support across the entire Windows API, the only problem with Delphi was being asked not to use it.
But that was about 20 years ago. Today, in addition to legacy issues, Delphi hasn't kept up with the times and has been eclipsed by more versatile languages.
"Delphi was great! But now it's a bit old hat. Developers like to work with the latest languages and help push the boundaries of the field. If you're looking to hire hot new talent, build in Python or something similar."
Andrew, Senior Software Developer
In the in the late 90s, Perl was one of the most popular languages. A developer's code, Perl has a complex syntax that is a rabbit hole that requires a lot of time invested in it. Ultimately, this complexity, while popular with older developers, does make it difficult for new devs to get to grips with.
These days, it's unfair to compare Perl to other programming languages because it isn't really an object-oriented programming language. It's more like a scripting language when you compare it to the capabilities of newer languages.
"There's nothing wrong with Perl, per se. It's just become redundant with the newer languages out there."
Ray, SQL VBA Developer
Dislike doesn't necessarily mean a lack of popularity
Acknowledging the study, Stack Overflow point out that just because a language is unpopular, that's no indication that the language is on the way out.
Clojure, a dynamic, general-purpose programming language, drew hardly any dislike in the study, but it’s still among the most rapidly shrinking languages. Another exception is MATLAB, which is shrinking despite not many people expressing dislike of it.
"This may indicate a limitation of the data for measuring sentiment: while any web developers might have an opinion on PHP, C# or Ruby, people who don’t work in data analysis have little reason to express an opinion on MATLAB."
David Robinson, Stack Overflow
Speaking the right language
Businesses looking to attract the top talent would do well to include Python projects as a means of standing out from the crowd when advertising a position.
The key is in understanding exactly what the candidate is looking for and making sure that the business, the culture and the candidate are a perfect match.
Here at Montash, we take the time to understand the needs and desires of both candidates and clients, in a language they understand. So, if you're looking for a new tech role, or have an upcoming project that needs staffing, get in touch.