Every once in a while I am reminded that I am doing the right thing by sticking to PHP in the year 2015. If you don't know already, the majority of websites run on PHP. That is to say, PHP is a tested technology. It has a vibrant community, it is expanding, and it is very, very boring.
PHP is boring. Ask any intern, they will tell you they will not touch PHP with a yard stick. I get it, it doesn't get coverage on tech blogs and news. If it does, it is a reminder of how much it sucks. Right now it silently powers the web, while brand new languages creep up and take its share. But for me, that is great.
The people who are important to PHP are adamantly working on fixing bugs and making it better. Today you can use it solve any sort of problems you have. Whether it's for your front facing web app, or generating obscure reports in the back end, PHP is up to the task.
Its most important feature is not that it can mimic the cool stuff you can do in one line in ruby, or recreate nodejs helloworld chat application. What it strive on is that we know how broken it is. In its 21 years lifetime, it has given so much trouble that we took the time to document them all.
The nice thing about boringness (so constrained) is that the capabilities of these things are well understood. But more importantly, their failure modes are well understood.
When you get an obscure error that should totally not happen in PHP, fear not. You are not alone. Thousands of people already experienced the same and documented a solution for it on the web.
That's the most powerful feature a programming language can have. Fortunately, PHP is not alone in this. We don't talk much about it anymore, but C and C++ fall exactly in this category. These language are far worse. PHP is written in C, you think about that for a second. Those languages are even older than PHP and they are so boring that your hip tech blogger didn't think they are worthy to complain about. Worse, he probably doesn't even know how to use them.
Every year, there is a new programming language to rule them all. I remember when Ruby was the craze. If you were on a date and all of the sudden you ran out of things to say, there is a gem for that. When Ruby on rails was popular, any question you asked on stackoverflow about php, java, c,... could be answered with this statement:
In ruby, there's a gem for that.
Some people are still trying to ride on ruby's popularity. I am sorry to tell you but its time is gone. Ruby became boring. That means, I can finally give it another shot. Ruby has failed enough that people realized it's not just about making one liners to create a whole website. What you really want to do is create web applications. That is too boring for tech news.
These are great times to live in. All the languages of the weeks are becoming boring. This means now we have more options when it comes to choosing which to learn.
- Nodejs is boring.
- Ruby is boring
- Java is super boring
- PHP is so boring
- C# is boring
- Objective C you suck
- Swift rocks!
The same goes for frameworks:
- Ruby on rails is boring. (you thought I would forget you didn't you)
- Bootstrap is boring.
- jQuery OMG you are so boring
- Angular is so cool but 2.0 is fixing that
- React, OMG you are so amazing
I don't go crazy over new tech anymore. I let them live their time, let people mess with them and find how awful they are. When there are enough problems discovered people will take the time to document and or fix them. That's when the media loses interest. So the trick is to use the language that tech news has stopped covering.