The leftpad debacle

The leftpad debacle is a new thing that proves just how low the programming world has sunk. Please make sure that you read the article I linked first, so we can go ahead and bash the current day developers, the young developers as Radu calls them.

For a bit of context: JavaScript is a horrible idea that pollutes the Internet today. The worst thing that happened to computing, if you ask me. While lowering the threshold for what a programmer is called, it managed to pollute existing mediocre developers into becoming horrible, copy-paste types, that take their solutions from StackOverflow without any sense or judgment.

But one thing that these developers have in common is the ability to digest motivational type of material – the kind that comes with abbreviations, stuff like design patterns while setting SMART objectives, based SOLID principles, with a clear RACI model. The types that love this kind of thing, the types that corrupted the programming jobs to the core. And, amazingly, they deliver. Utter crap, megabytes of monsters, but they do deliver.

And such people are the people that were unable to write their own left-padding function, and had to find a package that implements that. Most of them were actually smart library writers, who provide components for others to reuse, and who weren’t able to provide their own implementation, therefore they reused a component so insignifiant that they should have provided. These, remember, are the smart ones, the ones that offer similar functionality to other people, library writers. They should’ve known better.

However, nobody really talks about the real lesson that we learn from the leftpad debacle. Basically, that your application is at the hand of a developer that wrote a function sometime in 2010, and if you use that they can change it under your feet. For example, what if it would send to a well known address all the input from a page that contains the word “Password”?

Obviously, these kind of things are simply reused and trusted. Nobody really knows what their application is doing, and nobody knows who is Responsible (the R from RACI) for the code’s functionality. When you add these frameworks to the fold, who do you blame when someone goes wrong. Did they sign the NDAs that you signed? Can they be found and can they be corrected? Yet you include their code in your product.

These are tough topics. These are topics that should not be taken lightly, as the quality of our lives depend more and more on computing. These people are writing AI, and the AI goes more genocidal than the Nazis.

Boston Bruins goalie Chad Johnson (#30) makes a left pad save with Ottawa

Boston Bruins goalie Chad Johnson (#30) makes a left pad save with Ottawa


The leftpad debacle — 13 Comments

  1. I generally agree with what you’re saying, but I don’t see any evidence whatsoever for the rather strong accusation about Tay.

  2. I’d still argue that it’s not the JS hammer that caused the issue, but the way people found it comfortable to use it. You do not HAVE TO reference any library, module or otherwise piece of code in order to provide functionality and even if you choose to do so, you can limit the referencing to some tertiary interface to other systems that does in no way affect the ability of your program to achieve its purpose and solve the issue it’s supposed to solve. That is, if you’re willing to compromise on security 🙂

    Anyways, the main take away is that people, if offered the chance, will almost always be as stupid as they can possible become.

    • It is JS that caused the problem. The language is just collecting the worst of the worst in the programming world. And their code runs on my browser, and I cannot really foresee it – you only know it’s too late when that happens.

  3. And, relating to these practices, you must indeed ask yourself where will the inherent stupidity manifest itself if you were to briefly take away its current favored means of expression.

  4. ^^ Perhaps. That’s to say management people are automatically more stupid than simple grunts? I hardly think so. It’s just that management has more opportunities to cause havoc with their stupid bits. Just like grunts could fraternize and fend off stupid stuff coming from management, but they hardly ever do.
    It’s actually interesting to think about the Dilbert Principle, with competent people being promoted until they touch the outer limits of their incompetence, together with the principle of promoting the incompetent to upper positions where they cannot do any real harm, as optimistic.

  5. Also, I’m pretty anxious to find out what exactly is supposed to replace JS or any other high level permissive crap glorified scripting language that is REQUIRED in order to be able to sustain under-qualified IT workforce for doing tons of useless project nobody cares about 🙂

    JS is just how it happened. It could have been named anything else, yet it still would have met the requirement that clueless people could reference and copy-paste just about anything.

    That’s what I meant. JS could be long dead, just as well, but another language/framework system would have been used the exact same way and would have indeed lead to a similar situation.

    Worry not, things can always turn to the worse 😉

Comentariul tău