I always saw PHP as a great language, is really easy to learn, it adapts itself to many levels of coders from total beginners coming from HTML to consummated developers creating advanced frameworks and huge applications, even better the final results are fast running applications that you can deploy in pretty much any hosting service.
PHP is not anymore a new cool proposal but a well established language and as I’m studying Python and RoR I can help but comparing and wondering about the future of the language specially now that I see so many applications based on the Zend framework.
While I love the new functionality in the Zend framework I’m not sure if that’s a step forward or backwards, it seems to tell the world: “thanks for all this years developing code on PHP but you guys haven’t done anything useful yet so now we will come with our advanced Java style coded classes to fill the huge gaps this language has.”
Does PHP lacks a collaborative community capable of really making the language evolve or complementing it?
How’s possible that other languages have now high quality, fully integrated and tested modules to do pretty much everything? Need to connect to Facebook, use a special service, parse data? There’s a package for it, there’s a way to downloading and install it.
The community have put a unified effort in making the languages powerful and complete, as a result developing in those languages is now faster than doing it on PHP and startups and companies looking for Agile style development are opting for those languages.
What happened to Pear? Where are those PHP well coded and tested classes that we all can use to work better and faster?
Why not betting for simplicity?
Zend framework seems to be trying to move PHP to a more complicated Java coding style instead of following the recent trend of super easy languages.
Don’t get me wrong in here I love Java and I know that thanks to Android is more alive than ever, still I wouldn’t recommend it for nearly any company or project over any other technology.
Why? Takes longer to develop, there’s no many qualified people around and the final results are not much better in comparison to other technologies (if they are at all).
So why is Zend using a coding style that makes PHP more inaccessible instead of trying to go for simple, intuitive and powerful ala Ruby or Python? Why not at least keep the PHP tradition of offering powerful functionality encapsulated in simple functions?
Is this the end of lightweight applications?
I remember how much I use to like Visual Basic 5-6, clean, easy, powerful and lightweight, once compiled you got a 200-300k application that you could use in pretty much any windows machine, it was awesome! Then .Net came and the applications become huge you either bundled the .Net framework with the installer or you were not sure that your application will run in your target computer.
PHP applications also use to be so light! You could get great applications in a couple of megabytes but now that’s gone, by the time you finish bundling the Zend framework your application is 35-40 megabytes, ridiculous! Sure you can just write it as a requirement or try to minimize the classes you need but at the end you’ll end up with a huge upload.
Certainly no one is obliged to use any classes or framework and it will be crazy to deny that the framework comes with really good functionality, but couldn’t it have been done in a more PHP’ish way?
And do we really need Zend to come to ‘save us’? Is it true that no valuable code ‘as good as’ was created before to fulfill those needs?
- If it wasn’t it’s quite sad and perhaps it’s time to look for brighter horizons where smart coders exists (I don’t think so)
- If it was it’s also sad that the community and the PHP makers didn’t find a way to canalize all that energy in an organized way so that we all could now enjoy better ways to build even greater things on top.
Perhaps I’m getting all wrong but I keep getting this feeling that years and years of great coders work have been lost and that Zend framework recent efforts are going against their base users, the ones that like a simple powerful language to deliver good results.