“I did not develop the PHP we know today. Dozens — if not hundreds — of people developed PHP. I was simply the first developer.”
— Rasmus Lerdorf
Fifteen 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 dislike small talk (not the programming language, the casual 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 spend time with them. After all, you can understand them, and they can understand you. I’m 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. Community is about language.
In much the same way, programming languages create communities. Programmers seek out support and friendship 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 programmers 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’m also not a linguist, although I do have some background in the study of the English language — my bachelor’s degree is in English literature.
As I stated earlier, language makes a community, but a community needs 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. 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 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 a bit like Old English, while Andi Gutmans and Zeev Suraski brought about their own Norman conquest of PHP, creating Middle PHP (PHP 3.0). PHP 4 and PHP 5 gave us early modern PHP — Shakespearian PHP, if you will — and what we have now with PHP 7 is the natural progression 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:
- PHP was designed to evolve
- 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. Sometimes, this results in awful code being released that gets used and reused and becomes wildly popular, to the dismay and horror of others. 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 kinds 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.
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, tweeters, 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, you are a member of this community, too, whether you’ve written only a few lines of PHP to solve a problem or deployed massive PHP applications to thousands of servers.
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
Fifteen 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 friendships 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 incarnations and activity, it did exactly what Chris intended — it helped build and grow the community. Perhaps you can point to your own moment that you became aware of the greater PHP community. Perhaps this post is that moment for you.
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.