Things considered harmful

Someone on the internet shared their concerns about Laravel. They made a post on /r/php, a subreddit I moderate. They titled it "Laravel considered harmful", and currently it's the fifth most upvoted post of all-time on /r/php. We can talk all day about the arguments this person is making against Laravel — I agree with a handful of them, and disagree with another handful. But I'll let you join the discussion on Reddit, if you want to.

I do want to write about the underlying mindset of these kinds of posts, and of the people upvoting — that mindset of calling something "harmful". I can understand that someone doesn't like a framework, an ecosystem, the community or some individuals of that community. But calling something "harmful"? As if it's proven that Laravel hurts? Hurts what exactly? The PHP community? PHP's reputation? Laravel's competing frameworks? A programmer's "best practices"?

For what it's worth, I'd say that Laravel has done mostly good to the PHP community: it seems that a lot of people are able to make a living thanks to it; it seems that Laravel is widely known and praised within the programming community; in what way could it be considered "harmful"?

"It creates unmaintainable projects and doesn't teach best practices" — people say.

The argument of "best practices" baffles me. What defines a "best practice"? Aren't "best practices" meant to help you in building successful software? And hasn't Laravel proven to be able to do exactly that: build successful software? Shouldn't our assumptions of what defines a "best practice" be redefined if the most popular PHP framework doesn't seem to fit those assumptions?

Unmaintainable? To what extent? There are huge projects running Laravel in production — they have been for years? Some people will point towards failed Laravel projects, trying to prove their point. Well, let me show you success stories. Now what? Let me show you some failed Symfony projects. Who's right? Who's wrong?

This kind of mindset isn't uncommon in the programming world: we're used to doing things a certain way, and we're comfortable doing so. Whenever something comes along that doesn't fit our way of doing things, we experience friction. However, instead of questioning ourselves, too often do we point towards the thing that's causing friction, blaming it for everything that's wrong in the world. The safety of the internet makes it even more profound: we can write whatever we want with little to no consequences.

I would say that the inability to self-reflect, to adapt, and to question ourselves, is probably way more harmful than Laravel will ever be.