DEV Community

Discussion on: Which programming language/environment is more “powerful” than people realize?

 
vberlier profile image
Valentin Berlier

A framework shouldn't fix your language. Frameworks exist to provide a set of abstractions as a common ground when building certain types of applications. That's why we need them. Their job is to orchestrate libraries and third-party code into a cohesive system, not redefine the experience of working with the language.

I agree that ultimately, productivity always comes down to personal preference. If you've tried other technologies and can demonstrate that PHP makes you more productive, then why not. I did give a serious shot to plain PHP, Symphony and Laravel, and I can tell you that even by slapping a framework on top of it, PHP still slows me down because of its infuriating inconsistencies. I have no problems with Laravel, I think that it's a great framework. The problem is PHP.

I have nothing against improving existing ecosystems. The improvements made to HTML and CSS over the years made things that weren't possible before possible. But they don't have any competitors. There is nothing to take their place so they need to get better. Node filled a gap in server-side development by proving itself as a very simple solution to applications with complex asynchronous needs.

PHP, on the other hand, is filling a gap that doesn't exist. It's in direct competition with python and ruby for instance. The industry didn't need PHP to "mature" into the clunky language that it is today.

I actually have mixed feelings about the existence of frameworks like Laravel in the PHP ecosystem. I mean, it's great because it keeps people from writing home-grown atrocities. But because Laravel makes PHP somehow usable, everyone thinks that, well, it's good enough so no need to look further. They stop seeking an acceptable solution. Using a framework in PHP should be the "AHA!" moment. It should make you realize that it's universally the way you're supposed to do it, and the fact that it's so different from what you're doing in plain PHP should make you understand that using a language geared towards this kind of usage should make you more productive.

But if PHP is your jam and you actually researched and studied the various alternatives, then the reasons that you have for using it are probably valid and enough for you to consider it to be the best suited tool. I happen to have come to a different conclusion.