Listen to this story
|
“English is the hottest new programming language” – nothing irks a software developer more than this latest quip in the tech circles. But apart from English, there are several programming languages too that frustrate software engineers and developers. Some earn the ire for their syntax and style, while some for the community built around them.
When the discussion around the most frustrating programming language went online, people chimed in. “Probably Python. Not that it’s too annoying to write, but rather it’s horribly slow and overused and overhyped for short-sighted ease of use,” said a user on X. He acknowledged that it is a good scripting language, but not for building an end product.
While experts around the world agreed that AGI will be built with Python, it also continues to be regarded as one of the most frustrating languages by many.
Python’s dynamic typing can lead to subtle bugs that may not be caught until runtime, and its performance can sometimes lag behind that of compiled languages like C++. Apart from people heavily discussing how dynamic typing is one of the worst things about Python, it is also the community that makes it worse for people.
As soon as someone says that Python is bad, the community calls the developer out as having “skills issues”. On the other hand, people say that any language that is not compiled, such as Ruby and Python, are the most frustrating.
Clearing the air: Every language is good and bad
The truth about the current programming world is you can choose any language that works for you. Anything other than that is just “language bullying”. Programming languages are, after all, just tools that a programmer should learn if he needs to. If Python works for you, why go the C++ route?
Consider C++, renowned for its intricate syntax and extensive use of pointers. Many developers find navigating its complexities daunting, often encountering segmentation faults that impede progress. People, who have been using the language for decades, still don’t claim to know the language 100%. There are so many hidden intricate pitfalls.
Several people narrate their stories about adding C++ to their resume, and then when asked a specific question about it, fail to answer. This is probably because C++ is a vast language. Knowing every detail of it is not required to get the job done. Most developers choose it over Python or any other language today just for its speed.
Meanwhile, in the realm of modern languages, Rust emerges as a double-edged sword. Praised for its robust memory safety guarantees, Rust too is not without its share of frustrations. A user on X captures the sentiment perfectly: “Can’t spell frustrate without rust.”
While Rust’s strict compiler checks can be frustrating for those accustomed to more lenient languages, they ultimately lead to more robust and reliable code. Rust’s focus on safety without sacrificing performance has endeared it to developers working on system-level software and performance-critical applications.
It is also one of Elon Musk’s favourite languages. Open-sourced Grok is also trained on Rust, but the language’s strict borrow-checker can be a stumbling block for the uninitiated.
However, C++ stands monumental when it comes to the complexities of computer programming. While its roots trace back to the venerable C language, C++ introduces a myriad of additional features, like classes, templates, and inheritance. While these features afford developers great flexibility and control, they also introduce a steep learning curve.
The language’s syntax can be daunting, especially for those new to programming, and managing memory manually can lead to a host of bugs, including dreaded segmentation faults. Yet, for many, mastering C++ is a rite of passage – a testament to one’s dedication to the craft of software engineering.
Meanwhile, lesser popular languages like React, Go, TypeScript, Java, Erlang etc have very few users, thus the frustration of the developers using them is not really out in the open yet.
The worst language? “The one I am working with right now”
This brings us to conclude that the most-frustrating language universally is the one most used by the developers.
According to Stack Overflow Developer Survey 2023, the most used programming language is JavaScript, and that’s something that has been consistent for the past eleven years. And undoubtedly, it is the most-hated programming language of all time. Well, some don’t even call it a programming language, but just a scripting language.
Regardless, JavaScript, the ubiquitous language of the web, presents its own unique set of challenges. Initially designed in a hurry to add interactivity to web pages, JavaScript has evolved into a powerful, albeit, quirky programming language. Its asynchronous nature, exemplified by callbacks and promises, can confound those accustomed to synchronous programming paradigms.
Furthermore, the ever-expanding ecosystem of JavaScript frameworks and libraries can overwhelm developers, leaving them grappling with decisions about which tools to use and when. But the truth is, it is the most-criticised language because it is the most commonly used.
As a user put on X, “The most important thing about a programming language is how it makes you feel.” Ultimately, the key to mastering any programming language lies in perseverance, practice, and the willingness to embrace the inevitable frustrations along the way.