Skip to main content

Bandwagon Hatred for PHP

I tweeted the title of this blog post tonight and it got me to thinking about some of the encounters I have as a more or less polyglot developer who finds good and rewarding employment in PHP.

I just finished attending the excellent and stimulating Praire Dev Con 2015 this week.  I'll let the web site speak for itself, but in summary it's a regional conference that attracts speakers from far and wide.  For two days, men and women enjoy a brief glimpse of professional-speaking disneyland, returning home late in the evening and passing out from social and intellectual exhaustion.

One thing that many of my coworkers past and present have noted about this conference though is that it is very .NET centric.  Now to me this is of course no discouragement at all.  These are exciting (or possibly intimidating) times for many a Microsoft dev.  I've discovered over the past few years that you can learn a lot from people who practice with tools and technologies different to your own.
For those within my own circles however, I think they would feel more comfortable if the pool of experience hailed from a more diverse sampling of technologies.
There are a few reasons for this, but I think the most prominent one is quite sad: It's actually very hard being a PHP developer at a conference.  Especially .NET ones.

Seriously, even the PERL guys take the occasional swipe.

If you take a general temperature check on PHP in any Microsoft circles, you may find that there is a strong tendency for people to look down their noses at anyone who self-identifies as a "PHP developer".  It's as if even the very combination of the words "PHP" and "developer" raises their hackles.
Which is oddly contradictory, because today we see recognition for nodejs, ruby and many other newer technologies from the .NET community.  Languages that frankly even as a PHP developer, I have a strong distaste for because they are so blase about code structure, global state and mutability.  But when it comes to PHP the policy is almost decisively still scorched earth!

I don't know if this is because ASP never made headway into tag-soup.  I don't know if it's because the "M" in LAMP ate all of Microsoft SQL's TCO babies.  And I probably will never know if it's because 2006-2007-era efforts to win them over with free copies of Visual Studio was only done to prove that PHP developers were just a bunch of lost causes.

What I do know is that it's 2015, Core CLR is now open source on github.  ASP.NET is on github.  Both projects are soliciting everything from commits, to suggestions, to drawings from peoples' children and homework questions.
If nobody has done it yet, let me be the first person to welcome you to the brave world of free and open source cross platform development.  I know some .NET developers have been using NuGet and were getting a small taste of this world.

But this is even more different still and before you get too much further, I would implore .NET as a community to do something about unexploded ordinance left behind from a time when things were radically different.  Certain relic ideals that fly in the face of reality and defy the successes of many that back then said "We don't believe you" -- and won.

Certain sentiments that show the .NET community is prone to large pockets of stagnation and ignorance towards things outside of their bubble.

I see this kind of yucking all too often.

Let's be totally honest and set the record straight here: Everybody can win.  .NET is getting runtime compilation, simplified project configuration, conventions, packages, cross platform and independence from IIS.  PHP has some type hinting, closures, packages, traits and some strong OO advocates.

It's no big secret, I have complete language envy over C#.  I wish I could have the environment of PHP with the capabilities of C#.  The way things are going, it's starting to sound like I just might get that too!  The difference is that I don't go around lampooning the people.  No, I learn from your Scott Hanselmans, your Jeff Atwoods, your Greg Youngs and your Dino Espositos.  But have you heard my Taylor Otwells, Fabien Potenciers, Benjamin Eberleis and Jordi Boggianos?

When I write PHP code, you'd be hard pressed to say you couldn't with minimal effort transpose it to some infrastructure-friendly C#.  To say that the PHP I author is inferior is tantamount to making the same claim about yourself.
We are converging and soon you won't be able to tell who is a cylon and who isn't - well - mostly.  I may not wear a suit and my preferred topics of discussion outside of technology may offend your sensibilities.  But would you believe that as a PHP developer I enjoy DDD, CQRS, onion architecture, [non]leaky abstractions, composition, conventions, strong typing, weak typing, closures, functional programming, unit of work, active record, repositories and POPO (POCO) services...just as much as you do?

Join with the global community and shed some of the tired marketing and animosity from the old days.  Don't be afraid to learn from PHP and admit the language got lots of things right.

And for goodness sake, if you do really need to take a swing, have the professional courtesy to do it about current challenges!

Popular posts from this blog

Amazon in Winnipeg?

Late last week, Amazon put word out that they're starting to look for a city to locate a second headquarters.  The fuel this announcement provides has the hype train in Winnipeg going so fast, it's missing stops.

I'm curious though.  As you've been digesting this exciting news, who have you spoken or listened to?
Was it this guy and his party's historic theft of public infrastructure (pdf) and incompetence with digital strategy? Or how about this guy, who maintains that Winnipeg doesn't need a proper rapid transit option?  You know, the kind that might actually catch the eye of handsome Amazon who now has Winnipeg trying to be the belle of the ball.


Runner up articles are Winnipeg's inability to join the 21st centry on active transport and the compounding of the aforementioned digital strategy mistakes.
Stop Listening to These Guys They are not technology experts. At worst, they're unabashed self promoters. At best they're conduits for very bad pol…

Making TypeScript npm Packages

If you've landed here, I can only assume you're like me and see packages as the highest form of sophistication in software development.  In that same vein, I bet at some point in the past you've wished you could start applying DRY principles to your client-side efforts.  I know for myself, I don't enjoy writing the same application bootstrap code constantly and so recently, I was motivated to codify it.

This body of understanding has taken me quite some while to figure out, hopefully what I share here is helpful enough to get you up to speed.  No post is complete without some kind of example, so throughout I'm going to reference a package I've just finished putting together called protoculture.

Briefly described, protoculture encapsulates all the common bootstrap and conventions I've been using while developing TypeScript apps that use React and Redux.  Honestly, I've already gotten a lot of benefit out of putting this package together, but nothing about…

The Cons, Winnipeg's New Splash Pads

I never had the chance to be ungrateful, the new splash pad at Kildare and Wabasha isn't a splash pad at all.  It was taken away from us and replaced with an "aquatic park", a little bit of wordsmithing designed to gloss over the fact that an open piece of our community has been replaced with yet another closed gate.

As I write this post now, I can hear it already: "Taken away, what?! It's a new water park, you're so..."
Sure, some might reach for that tired recrimination, which is why I started this blog post by dismissing such a premise.  To be fair however, I offer the response: Don't spoil this discussion with nonsense.
You see, I was grateful before the renovations happened.  The communal service on offer was adequate and I never complained about it or saw it as flawed.  Don't believe me? Here, this is a cute google-generated animation of my son enjoying the splash pad in 2014.

Today we took the kids to see if we could spend some time at th…