Recently, StackOverflow released a report stating the most liked and disliked programming languages. We’ve discussed a lot about popular programming languages; let’s talk about the 5 most hated programming languages. Why? What is wrong with them? Today we are going to discuss that only.
Contents
Top 5 Most Hated Programming Languages
1. Perl
In the early 97s perl was the most likable language. Then what happened to it in today’s era? Why have people lost interest in it? The first and the most important reason behind its failure is illegible Syntax. It is very complex to use. It includes a lot of special syntaxes and operators which is tough to even understand. If any of the syntax errors arise, it is difficult to sort it out too.
Also, it is pretty hard to read someone else script and to adapt them for your own deeds. Perl Encourages “Hard To Read” Programs. Hard to Read programs are tough to know, tough to understand and thus tough to implement.
Secondly, it uses too many special constructs called Formats. These Formats are difficult to create as well as difficult to return from functions. Another problem with perl is hard to build data structures. Defining interfaces is another problem with it as it lacks signatures.
Last but not the least, the major drawback with it is that it is not really an object-oriented programming language.
Also Read: Top 5 Easiest In-demand Programming Languages in 2018
2. Delphi
Talking about another observed problematic programming language, the first reason for its failure is lack of Multiple Inheritance. Also, there are some legacy issues with it. For example, even if you work with Delphi 3, the legacies are less reliable to use. It confuses you. In earlier days it was using binary data in strings. But now, suddenly they are using Unicode strings that are not reliable at all.
And the worst part of all? Even the compiler does not warn about it. Also, you need to have at least one from {$ENDIF} and {$IFEND} to run the code efficiently.
Also Read: 5 Best Online Programming Courses for Beginners
3. VBA
Most of the professional developers do not seek and do work with visual basics. The main and important reason is the lack of tools and libraries for VBA. The programs written in visual basics cannot be transferred to other operating systems. This is one of the major problems with visual basics.
In VBA, It is not possible to initialize an array of structures at declaration time. There is no much importance of memory management, garbage collection, threading and other important programming features in visual basics. Also, it does not have drag and drop IDE.
Also read: 7 Best Online Compilers to Practice Programming Online
4. Objective-C
The thing that we do not like in Objective-C is it’s restriction to Apple users. It means you have to buy Mac to use it. It is the big reason for its failure. Secondly, the syntax that Objective-C uses is kind of weird. The syntax is not so easy to understand and implement. There is nothing new about Objective-C. It is just like the old plain C.
This programming language uses each and every character in its code that looks ugly. While other languages like Ruby are not like that. It does not use namespace! Surprised? You can use it by adding a number of prefixes but do not use apple’s namespace that is “NS”.
There is only one choice available in the case of Objective-C, one and only Xcode. So you are forced to use only that. Do we need to elaborate more?
Also Read: Top 5 World’s Most Difficult Programming Languages
5. PHP
Most of the people think that it is one of the easiest languages to learn. But we say, they might be ignoring its other side. PHP lacks built-in functions. It also lacks multi-argument forms of system() and exec(). The pcntl extension is also not enabled by default.
A “Default Value” Operator cannot be used in PHP like any of the other programming languages. Another adverse disadvantage of it is its closures. If you will use a PHP version greater than 5.3, closures aren’t there.
Also, built-in function arguments and the return values are inconsistent.
14 Comments
Where is JavaScript??!
What the …? Where did you get these informations from? Do you program in these languages yourself?
Perl -> fully agree
Delphi -> There are other mechanisms to achieve multiple inheritance (interfaces + delegates). You don’t need any {$ENDIF} or {$IFEND} to achieve performance… Why? Where did you get this from? Borland / Embarcadero implemented Unicode-Strings many years ago and announced these changes. If someone needs the old strings back then just change the defaults of the project or use AnsiString that is compatible to the old strings. I started programming GUI-applications with Delphi 3 – it came to the market in 1997… Someone programming for so long with Delphi knows how to migrate to newer versions of Delphi.
VBA -> this is a nearly dead “scripting language” – the only recent use-cases i know of is the automation of Excel / Word / Access
Objective-C -> It started very domain specific and never got the attention it needed
PHP -> Another language i learned long ago. system() and exec() are big security-risks and should be disabled by default. Current PHP supports default values for sure: “public function test(string $myString = ‘defaultValue’: boolean { … }”. Closures are available – since PHP 5.3 – published in 2009. PHP 5.3 is now end of life (since 2014). Why should someone program with this version? And why do you want “pcntl” be enabled by default? It is a very domain-specific extension i never needed for web-development (and other implementations) and i never heard of someone who needs it…
The reasons about hating PHP are wrong or maybe outdated.
PHP has a lot of inbuilt functions, it supports closures and even first class functions and it also has default value operator (?:) as well as null coalescing operator (??).
Please explain this statement:
“Another adverse disadvantage of it is its closures. If you will use a PHP version greater than 5.3, closures aren’t there.”
I dislike PHP because it doesn’t support the dot notation syntax.
Instead, you have to chain functions one within another, which makes the code incredibly difficult to debug (if you’re not using a debugger)
What does this even mean, PHP uses arrow the same way C# or JavaScript uses dot, to access properties and methods of objects. How does it make debugging difficult?
Each language has its own beauty. VBA is most used language so.in office, BI and many tools as it was easy to integrate. VB is easiest of the language I have known. Perl is good for techies.
I don’t agree with the fact that PHP is disliked. It’s a C-Type language with understandable and easy syntax and also supports OOP. Moreover, it is still extensively used for Server-side logic and most backend developers actually start up with PHP. It is really an awesome, and certainly liked, language!
To be honest, I think you just don’t know much about Perl.
‘If any of the syntax errors arise, it is difficult to sort it out too’
That’s not true. I’ve programmed in many languages over the last 35 years and I think Perl’s error messages are the clearest I’ve ever seen.
‘Perl Encourages “Hard To Read” Programs’
Perl certainly doesn’t encourage this at all. It’s true that twenty years ago people had fun writing deliberately obfuscated Perl code. But that was showing off. It wasn’t ever intended as code to be used in production.
“Secondly, it uses too many special constructs called Formats”
This really demonstrates how little you use Perl. Formats haven’t been an important part of the language for over twenty years. In fact, I think they were removed from the standard language distribution about five years ago. In over twenty years of using Perl, I have used formats once.
“Defining interfaces is another problem with it as it lacks signatures.”
I’ll admit that Perl was late adding signatures to the language. But they’re there now. They were added in Perl 5.20, in 2014.
“the major drawback with it is that it is not really an object-oriented programming language”
Perl’s build-in OO features aren’t great, I admit (although they are incredibly flexible) but with add-on libraries like Moose and Moo, Perl can have some of the best OO programming support around.
If you’re writing about things you don’t know about, perhaps spend a little more time researching 🙂
Your perl exposition is nonsense. I believe Dave has already given you the highlights of what you have got wrong.
Very informative ! I love these kind of articles!
I would love to see an article about the pros and contras of every programming language.
Could be a nice wiki page as well.
Please feel encouraged to make one.?
You seem to hang on to very specific features of the “hard programming language” to explain why they are hated, where some reasons don’t make any sense (Delphi lacking multiple inheritance? Java and C# lack this as well but are still to of the most popular languages), weirdly opinionated (Perl “encouraged hard to read”? Does not! Admittedly it’s easier to create “write-only” programs in Perl than in other languages, but Perl people most definitely do not consider that a good property and do not encourage it – see, for example, all the work done to make regular expression readable in Perl 6), or plain wrong (Objective-C limited to Apple only? See gcc-objc s and GNUStep; “PHP lacks built-in functions”? Does not! Also closures are available in any supported PHP version, though they are different than what you might expect from JavaScript or Perl and work more like in C++).
The fact of the matter is that “hated” – as well as “loved” – labels are me trendy fads than actual declaration of quality, and most definitely are not the result of specific language features. As a demonstration of that fact, none of the languages listed above made the 5 most hated list in the 2018 survey – except VBA, which is indeed truly attrocious.
With my best regards —
Why TF is coffee script more hated than Java.
Php is simple and very powerful language.I can be picked up very easily by begginers.A hell lot of web applications are built using PHP.The most popular socialing site Facebook is built using php