Webdevelopment evolution
The world moved on since this content was published 4 years 8 months 9 days ago. Exercise diligent care when following any instructions and see opinions in the time they were written. If you must have an updated version, please ask kindly through the contact page.I like PHP. No, better said: I love PHP. I’ve been developing in PHP for over 4 years, and it never failed me on creating a solution for a real problem. And it has allways been fun to play with. But lately, I’ve run more and more into the shortcomings of PHP. I coped with it for a long while, but it became harder and harder to motivate myself to continue developing in it, and the urge to change whole PHP grew more and more.
Now, before you expect a major PHP rewrite from me, let me first tell you that I dream incredible dreams, though don’t have the time, nor the patience, nor the full knowledge to create a fork like this. I could learn the knowledge if I had the patience and the time, and I could grow the patience if I had the time, so it mainly is a time issue.
But just dreaming doesn’t improve things, so something had to be done. Somehow, my eye felt on an incredible article about a whole other programming language:
- A language that is strong typed.Probably due to my C# and C++ development, I embraced the strong typed languages. I love it when you know what’s coming your way, and that you immediately can see if a method returns something, and if so: what type it returns. If well used, it usually explains the whole method in just the declaration line. Even before the bracelets open.
- A True OOP languageAllthough I did some OOP programming in C#, I learned to love it, no, live by it, with the introduction of PHP5. It makes development so much easier. Now developing a project is almost the same as thinking it out in your head, or drawing it on the magnetic drawing board. PHP5 definately has some OOP in it, but far from enough to call it a True OOP Language. A lot of things still have to be done structural, if you want it or not.
- A compiled languageMaybe this is just between my ears, but just the idea that every line of a scripting language like PHP is parsed, evaluated, compiled and run on every single request, just makes me feel nauseous. That’s like re-inventing the wheel for every mile you have to drive. Allthough it is nice for a rarely run website, or even better: an ad-hoc solution, it isn’t suitable for a regurarely visited web application/service. There are bytecompilers for PHP out there, but still…. I rather have this by nature.
- A language that stayes alive between requestsThis is the probably the 2nd major point on the list. Not sure if it comes before strong typed, or after. It is so inefficient to init your whole framework, set everything up, proces one request, and demolish everything again because it can’t be used again. You don’t built your car from scratch every time you want to make a ride, do you? So why can’t a web application not just stay alive? Is it because they all date from the NS4 days? Where creating a dynamic website was still rocket science? I will probably never know, but it’s a true efficiency waste…
- C++(++) like Syntax Just like the strong-typed part, this comes mostly from my c++(++) (four plusses lined up in 2 rows of 2 form a sharp ;)) experiences. But it is mainly due to the non-OOP language features of PHP. A line like “$var = split(this->property, ‘\’);” just doesn’t is as logical as ‘String[] var = _property.split(“\”);’ to me. In my humble opinion, you don’t perform an action on an object, but you instruct the object to do the action.
The readers who know what’s going on in cyberspace probably allready guessed which language I’m talking about. For those who didn’t figure it out yet: I am talking about JAVA. The EE part to be exactly. The part with the servlets, the JSP’s and Tomcat. I still refuse to use applets or other client side invasion techniques like that, but I think I found the next step in my webdevelopment evolution path. At least it’s a new challenge, and the development of my new project, [update 2008/11/01: project has become comatose, name has been re-used for another project], is going a whole lot faster then planned.
I’m not ditching PHP. I never will. I just extend my knowledge, and explore a new world of possibilities. Every problem has it’s solution, and there will come a lot of solutions in PHP. Like cleaning up my dad’s font folder once again :P
Remi
Filed Under: blog
Released: on May 29, 2007 under a Creative Commons Attribution-NoDerivs (CC-BY-ND) license











