This last week has seen two major blowups on Twitter in the PHP language community...or the Laravel community, or a group of people that use PHP.
Full disclosure, I am a fan of Laravel, but please read the whole thing before you judge.
Unless you haven't been on Twitter the last week, it's been pretty impossible to not see the recent threads on Twitter of prominent people within the group of people that use PHP.
I am not going to rehash the points made, because ultimately I think both sides are both right and wrong. Here's where I could make some smart programmer reference to something being both on/off at the same time, but I just don't care to.
These big arguments are just bad. Bad for everyone. Bad for those in the argument, bad for the language, and bad for the overall community. And after it all, I don't think we have really gotten anywhere.
So what's going on here?
Programming is hard. Programming is fucking really hard.
Is there only one true way in programming? I think I can safely say that there is not, which is why I said before that both sides are both right and wrong. We all know that decisions in programming are all based on context, as well as many other factors.
If you are just toying around, you probably do not need to make a ton of abstractions. If you are on a team, with a set of rules, using strict typehints might be preferred, or part of a "standard." These are two very different contexts, that will greatly affect your programming decisions. This is an oversimplification, but I hope the point is pretty easy to see.
Which brings me back to Twitter, a social network limited to 140 characters, also the scene of the series of events over the last week. I have seen comments from people on the fringe of the episodes, all basically saying that the limitation of Twitter makes a conversation very difficult. Additionally, plain text communication loses so much from lack of tone and non-verbal cues. What I am basically hinting at, Twitter is a terrible medium for these types of conversations.
A suggestion I would really like to see happen, I would love to see these guys talk about programming. Specific things, with examples, with good constructive criticism. Also, a time for a rebuttal, to address the criticism, and would be great to have performance metrics that show why something is bad...or why thing A makes maintainability/testing harder.
The big difference though, is that it's a healthy exchange. Which hopfully could be some sort of educational resource.
I think both sides lacked a bit of humility which the conversation definitely needed.
I have learned a lot from Laravel and Laracasts. I have used PHP since I started with WordPress back in 2009. I've used Joomla, Drupal, Codeigniter, kicked the tires on Symfony, used proprietary PHP systems, and no framework PHP, but all of these I would consider part of the larger PHP community.
I would really like to see all of PHP work together. If you don't like a tool, don't use it. Nothing is really gained by bashing some part of it.
Lastly, there was mention of "perceived" attacks. Not sure if this is accurate or not, based on the reactions, I'd say maybe there is some truth to it. But can we assume that the perception was wrong and ask "how do we change this feeling?"
I often think about an author and a reader. Often the author writes something with an intended meaning, and the reader can read what the author wrote and come away with a different interpretation. In this case, the reader may have a different interpretation of what the author meant, but that does not mean the interpretation is wrong, it could also be that the author did not make their point as clear as they thought. Which means both are wrong again. So let's try to work this out, make our community better.
I like to think of myself as a member of the PHP community, I use Laravel, and I am not going anywhere.