Recently at the office I organized a viewing of Rafael Dohms’ talk on object calisthenics and code quality. The entire dev floor was invited. The talk and its concepts were generally well-received by our PHP devs. Our data analysis lead, however, was quick to point out that “this has been around in other languages for so long. It’s not a new concept. Why can’t we look beyond this?”
It really got me thinking: how inspired are we as a community? We have a huge amount of active user groups, conferences, and other opportunities to learn and share knowledge. There’s a lot of support, mentors aplenty, open source libraries to contribute to. It’s an easy community to fall in love with and, in turn, nestle into. But what happens when we get too comfortable?
I think we can all agree PHP is sometimes seen as sort of a stale, old language. It’s no secret that much of our language’s history is heavily inspired by other languages (including the aforementioned object calisthenics, which was ported from Java). And I don’t think that’s necessarily a bad thing. At all.
See, the Dutch are a pragmatic people. We have a saying, beter goed gejat dan slecht bedacht, which loosely translates to: it’s better to steal something well, than to invent something badly. I definitely think that goes for PHP. This language has been around nearly a quarter of a century, but it’s evolved and remained relevant over the course of all those years. And most of that can be attributed to the community “stealing well”.
Although I love seeing familiar faces and making friends within the community at PHP conferences, I’ve felt most inspired at more conceptual or language-agnostic events. DDD Europe is a great example. It’s very refreshing to be forced to think in terms of human concepts rather than in terms of this technical toolbox you stored in your brain over years of work experience. It was like someone just walked into my head with a giant duster and dusted off all the stale ideas that had been sitting there, leaving behind sparkly, fresh perspectives.
One talk in particular really stuck. It was Readable Code by Laura Savino, and it compared human language, with all its nuances, to the code we write. The talk flowed, switching from language to language (English, French, Swift, you name it), touching on literary devices, poetry… wow! You should read my team’s WhatsApp logs from during that talk, because we were losing it.
I love when technology cross-pollinates with other realms, and I think that’s where its strength lies. The biggest jumps forward haven’t been purely technological, but also hugely conceptual.
Ada Lovelace wrote, on imagination:
… It brings together things, facts, ideas, conceptions, in new, original, endless, ever varying, Combinations. It seizes points in common, between subjects having no very apparent connexion, & hence seldom or never brought into juxtaposition.
Computing was nice, but only when Ada Lovelace imagined numbers as notes, algorithms as music, did it really become interesting. Similarly, PHP as a template language was nice, but when objects were introduced it became really interesting.
Now, I’m not claiming that porting a programming concept from one language to another is as inspired as applying art to the Analytical Engine by any means. I’m only suggesting to step out into other communities sometimes. Attend a DDD meetup. Watch a soft skill talk. Go to a contemporary dance performance. Tinker on some grand idea with zero product value during the company hackathon. Who knows? Maybe one of ours will reach the singularity in PHP. But not until the Java community achieves it, of course.