This post is day 6 of me taking part in the #100DaysToOffload challenge.
I recently came across Aurynn Shaw’s article on “Contempt Culture”. I’m a bit late to the party, but I wanted to talk about this too.
Aurynn’s article talks about how some programming languages are considered inferior, and programmers using these languages are considered less competent. It’s a good article, and you should take a look at it if you haven’t.
One thing I’ve come to realize over the years is that there are really no “bad programming languages”. Ignoring esolangs like brainfuck which are not really meant to be used for anything serious, most programming languages are designed to fit a niche. I’m using the term like it’s used in ecology: every programming language has a place in the ecosystem of technology and programming.
PHP is bad? PHP certainly has its drawbacks, but it also has its advantages. “Drop these files into a folder and it works” is an amazing way to get started programming. It’s also a great way to inject a bit of dynamic content into otherwise static pages. In fact, it’s simpler and more straightforward solution than building a REST API and a web app where you have to re-invent server side rendering just to get back to where PHP already was!
That’s not to say PHP is perfect or the best language to use. It’s a language I personally don’t like. But that doesn’t make it a bad or “stupid” programming language. At worst it’s a programming language that doesn’t fit my needs. If I extrapolate that and say that PHP is a bad language, that would instead show my ego. Do I really think I’m so great that anything I don’t like is just immediately bad? Something Aurynn said resonates with me here:
It didn’t matter that it was (and remains) difficult to read, it was that we were better for using it.
I just want to conclude this with one thing: next time you think a programming language or tool or whatever is bad, think to yourself whether that’s because it doesn’t feel cool or because you saw others making fun of it, or because you actually evaluated the pros and cons and came up with a calculated decision.