Blog Post

Belated Thoughts on 30 (or Maybe 24) Years of PHP

Belated Thoughts on 30 (or Maybe 24) Years of PHP

On Sunday we celebrated 30 years of the PHP programming language. It was kind of cool to see some people’s stories of their journeys with PHP come up on social media.

I was actually writing PHP for most of the day on Sunday – trying to fix an issue with a WordPress plugin – so I missed my timely chance to write words. I didn’t want to skip out entirely, though, so I’m coming in a little late.

It was 2001 when I first got into PHP. I’d been running my hockey website – then known as drwcentral.net – for five years at that point. Almost everything I’d done was on the front-end. HTML and CSS and Javascript. But I wanted to put together some kind of way to reference player statistics so I decided to learn how to do that.

I worked in a bookstore at the time (RIP Waldenbooks) so I went to our “Computing” section and used it as my personal library. Because that’s what we did back then, before Stack Overflow and the like.

I’d already had some experience with Perl via CGI scripts and they felt like a pain, only being able to run in the cgi-bin directory. So I ruled that option out.

Java – if I could even wrap my head around it – would have required quite the upgrade over my simple shared hosting setup, so it was a non-starter.

And then I found Larry Ullman’s PHP for the World Wide Web. “Covers versions 3 and 4″ (emphasis mine) the cover proudly advertised.

I spent my breaks devouring that book before eventually just buying a copy for myself, bringing it back to my dorm room and putting it to use.

Immediately, I found ways to put my newfound knowledge to work. I started storing my news stories in a database, inventing and iterating on my own content management system. With that, I needed a way to implement password protection. I needed user management, as another Red Wings fan conveniently volunteered to write for the site right at the time that I found myself dedicating more and more time to code.

And then there was a multimedia gallery. Then a record of the scores of every Red Wings game. As I found more and more ways to store and search and display data, the site grew and grew. Over the years I developed fantasy hockey management tools and social media integrations and automated highlight video processing.

That custom CMS? It’s not in use anymore; I swapped it out for WordPress years ago. But back when it was new, it led to my first job in programming. I left the bookstore and took an internship at MSU’s Division of University Relations, working on (among many other things) the CMS for their MSU Today website. After I graduated, I was hired on full-time, continuing to build custom CMS solutions for the various college-level websites.

From there I jumped to e-commerce as the token open source guy in a mostly Microsoft shop. Then there was a short stint in a Perl shop where, on Day One, I was told, “Oh, you’re a PHP guy? We’ll fix that.”

They did not “fix” that. It was back to PHP at a medical education software company, and then a marketing platform, and then a payments processing company.

Somewhere in there I split those fantasy hockey management tools into their own site. Somewhere in there, GitHub and Composer came along and made it so easy to open-source the social media integrations (among other things).

Somewhere in there, 24 years passed.

All of that learning and development was possible because, back in 2001, I wanted to build a record of player statistics and PHP had the right learning curve for where I was at the time and matched up with the technology I had available.

That’s the thing about PHP; the thing that was true then and is still true today. The same language that has a low barrier to entry for a kid in their basement or dorm room can support a piece of enterprise software that’s the key to a billion-dollar corporation. Say what you want about it but it just works.

We had a joke at one of my previous employers. We called the product the dirty duct taped machine that prints money. Did PHP’s flexibility allow us to write some horrible code? Absolutely. And did that horrible code solve our customers’ problems, thereby leading to more contracts and more money coming into the company? Over and over again. Because PHP just works.

For the record, I never did build that stats database. By the time I solved the data management problem – I had no desire to manually maintain all of that data – others had already built sites dedicated to player stats.

If you catch me on a video call today, though, take a look over my shoulder. That copy of PHP for the World Wide Web (and its follow-up, PHP Advanced for the World Wide Web) is still on my bookshelf. They’re horribly out of date, of course, but they serve as reminders of how we got here.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.