PHP’s Not Just a Language

This article was first published on in PHP Advent.

“I did not develop the PHP we know today. Dozens — if not hundreds — of people developed PHP. I was simply the first developer.”

— Rasmus Lerdorf1

Six years ago, I became aware of the PHP community. I joined it three years prior to that.

Communities don’t make languages; languages make communities

I’m not a very chatty person, and I abhor small talk (not the programming language, the empty conversation kind). So, if I don’t say much to you when we see each other at a conference, don’t be offended. When I’m in Europe and my ear happens to capture the unique sound of an American accent, however, I won’t hesitate to say “hi.” I’ll even strike up a short conversation. You might even call it small talk. “Where are you from? How long are you here? What sites have you visited?”

I recall one time when I was in New York and heard the distinct sound of a Southern accent. It turned out that the speaker lived only twenty miles from me in Georgia.

Our languages bring us together and give us identity. When we have nothing else in common, sharing the same language gives us the only commonality we need, and if we don’t share that, we’ll find a way to communicate in other ways. I’m reminded of the Star Trek: The Next Generation episode “Darmok.” It’s one of my favorite episodes of the series, and in it, Captain Picard must learn to communicate with an alien captain who speaks only in metaphors. He succeeds, they overcome a dangerous beast, and the Federation gains a new ally. How? Because of language.

It is a natural human inclination to live among people who speak the same language, to seek them out and fellowship with them. After all, you can understand them, and they can understand you. I am no sociologist, but I submit to you that language is perhaps the fundamental building block of community. Without a common language — a common means of gaining understanding and expressing ideas — there can be no community. After all, the word community is right there in the word communication.2 Community is about language.

In much the same way, programming languages create communities. Programmers seek out support and fellowship from those who use the same programming language. We get together. We talk shop. We’ve encountered a lot of the same problems in our work, and we can help each other become better at our craft by sharing our experiences.

Which came first, the language or the community?

I imagine this is a difficult question to answer. As I said earlier, I am not a sociologist. I am also not a linguist, although I do have some background in the study of the English language.

As I stated earlier, language makes a community, but it is often a need of the community to have a common language. This is how languages evolve and become new languages. Historically, cultures that came in constant contact through trading, for example, would develop pidgin languages. Over time, these pidgin languages became creole languages, as parents taught the language to their children as their first language.3 Still, there are languages, such as English, that evolved over time as it borrowed from other languages, and changed according to common usage. It continues to change today.

So, communities require communication. In order to communicate, there must be some kind of language, and if there isn’t, the community will create one, and the language of a community changes over time.

PHP is a language; PHP is a community

PHP is a lot like the English language. It began its life as a utilitarian language, serving a simple purpose: processing forms on a web page. A diverse community grew up around this language, further evolving it and changing it to suit their needs, to aid in communication. After all, a programming language is just another means of communication. The audience may be different — in this case, the language is for communicating with a server, database, and more — but the end goal is the same.

In fact, taking this analogy a bit further, PHP/FI, created by Rasmus Lerdorf is like Old English, while Andi Gutmans and Zeev Suraski brought about their own Norman conquest of PHP, creating Middle PHP (PHP 3.0). What we have now with PHP 4 and PHP 5 are the natural progressions of PHP into its modern form. PHP has also borrowed from other languages: C, Java, and Perl, among others, have all influenced PHP. The PHP extension API makes it easy to make any C/C++ library available directly from within the PHP language. Moreover, PHP acts as a bridge to many different protocols, facilitating communication between disparate platforms.

This evolution is possible because of two main traits:

  1. PHP was designed to evolve
  2. The community — not a singular language designer — determines the direction and future of the language

These are not mutually exclusive. The language was designed this way on purpose by the community.

Although the PHP community would not exist without the PHP language, the PHP language — as we now know it — would not exist without the PHP community. PHP the language needs the community, and PHP the community needs the language.

A community of diverse backgrounds

Once upon a time, I wrote a post with the same title as this section heading. The premise was that many PHP programmers I know did not start out with the intention of becoming a programmer. They had an itch, a need to solve a problem, and when they scratched it, they used PHP. PHP has a low barrier to entry. It’s easy to write apps in PHP. It’s easy to solve problems with PHP. Often, this results in some horrid code being released to the public that gets used and reused and becomes wildly popular, to the dismay and horror of some. Still, as I’ve heard someone credit Rasmus as saying, “Who better to write a data filing program than a file clerk? PHP allows them to do that.”

This is the spirit of PHP. It is a community rich with pragmatism and developers from all sorts of backgrounds with matter-of-fact attitudes. They’ll tell you like it is, no holds barred. But they’re also open and welcoming, eager to help and instruct in the ways of standards and best practices, because, at the end of the day, we just want you to be the best you can be at your craft.

Like many communities, the PHP one has undergone many transformations over the years, bringing it to its present and mature form. The community consists of core language developers; extension developers; speakers, bloggers, authors, and thought leaders; user group leaders and members; and the myriad of other programmers and problems solvers who had an itch and used PHP to scratch it. Likely, dear reader, you are a member of this community, too, if you’ve ever written a simple PHP app to collect form data, created something as widespread as Facebook (with tens of thousands of servers running PHP), or written an application as big as Drupal (that was adopted as the CMS of choice for the White House).

You see, PHP is our language. It is how we communicate. It is not the only way we communicate — indeed, we speak other languages — but we identify with this language because we identify with the people of this community. This community grew up around this language, and it continues to direct the future of the language as it evolves from version to version. We have a voice and a place here, and we are inclusive. We know what it feels like to have an itch, and we know what it means to scratch it, and there are many here willing to help newcomers of every gender, age, race, creed, and background.

The road goes ever on and on

Six years ago, I became aware of the PHP community. I joined it three years prior to that.

That’s how I began this post. It sounds a bit confusing, but I hope you now see what I mean. When I began using PHP, I became a member of the language’s greater community, whether I knew it or not — and I assure you, I did not know it. I struggled along for almost three years, becoming quite competent in the language, all the while never knowing about the knowledge I could gain and the fraternity I could enjoy from others using the same language.

It was thanks to a mailing list post by Chris Shiflett that I now consider myself an active member of the PHP community. While PHPCommunity.org, the subject of that mailing list post, has had varying stages of web site incarnations and activity, the IRC channel (#phpc on Freenode) it created has sought to do exactly what Chris intended. (You’ll hear more on the status and future of PHPCommunity.org from me in the near future.)

I can’t pretend to know what the future holds for PHP or how long it will remain one of the world’s most popular web programming languages, but I do know that if you have tinkered with PHP just a little, or if you earn your living from writing PHP applications, the PHP community needs you. We need your spirit and enthusiasm, your drive to solve problems and scratch itches, and your fresh thoughts and ideas. More importantly, we want your friendship.

Footnotes

  1. Yank, K. (2002, May 22). Interview — PHP’s creator, Rasmus Lerdorf. SitePoint. Retrieved December 16, 2009, from http://articles.sitepoint.com/article/phps-creator-rasmus-lerdorf. Return to footnote 1 source.

  2. Both community and communication come from the Latin root commūnis, meaning “common” or “public.” Return to footnote 2 source.

  3. This is not true of all pidgins. Many pidgins fall out of common use and die before they are passed on to a new generation as their first language. Return to footnote 3 source.