PHP while not the top programming language does dominate the web. It is seen as being easy to learn and can be used on any webserver. So PHP is gaining popularity by leaps. But PHP is also approaching the end of its development life cycle. The language itself is close to the point where it can no longer grow. When you look at PHP6 you can see the trend in development is turning towards cleaning up. This is a sure sign that things are close to being finished. That and the fact that all new features have been passed over.
ASP had one thing over PHP that PHP will never be able to do. ASP could be extended using Visual basic or C++ easily. The extensions are powerful and simple to read. Despite all the griping about "dll hell" ASP extendability is still a useful technology that is still in use today. Yes, I am a Microsoft Certified VB Developer so I am a bit biased. But I still have not found anything in the LAMP world that comes close to the Microsoft IIS, Visual Basic and ASP combo. But the technology has other shortcomings that can not be ignored or overcome.
It is important to remember that Microsoft saw these shortcomings in ASP and recognized the signs of its end life cycle. This is why they went forward with ASP.NET against all the controversy and protesting.
PHP is not easily extendable in comparison to other languages. In fact the only extensions that are getting made are by those that work on the PHP core or are partnered with Zend somehow. Even so very few extensions are being created. PHPs extension repository PECL is gathering cobwebs and dust. PECL is something that could be shutdown and not one PHP developer would protest.
Evidence of the problems with extending PHP is the PHP6 proposal for dropping the dl(). This is the function used to run third party extensions within a PHP application. Most web hosting companies do not allow the use of the dl() function. Those that do probably are not worried because even in advanced PHP web development there usually is not one programmer that can make use of it.
Extending Ruby is very easy. If you are running your own server or have access to an advanced shared hosting environment, extending Ruby is a joy in comparison to PHP. The thing about Ruby is that it is not quite ready to take the place of PHP. Ruby's popularity is so dependant on Rails that learning the Ruby language becomes difficult. Ruby also has to be installed so using eRuby or Rails is not a default possibility. In the world of shared web hosting PHP remains king.
Writing a simple "hello world" PHP extension is a joke that no one gets. Showing developers how to do it brings total silence to any room. Where is the scaffolding and IDE that would make this easy?
Getting full OOP into PHP probably will never happen. Namespaces, Modules and other ideas for making the OOP paradigm easier to adhere to are not going to happen before PHP developement ends. The truth is that the PHP structure does not allow for the necessary changes without starting from scratch somewhere. We all know how dangerous this can be.
Just take a look at Perl6 and you will see what PHPs future would be like if they tried to do something like "PHP Next" and build a new Zend engine from scratch. The other choice is to systematically start breaking things. This while a decent solution if done right could have a backlash effect and bring PHP popularity down. Regardless Zend probably will not try either option. It is also doubtful that any group will take the Zend Engine which is BSD licensed and try to re-engineer it into something better. Though it would be nice to see someone at least try.
Zend is happy to marry PHP several times over to whatever technology that is interested in having it. This is because they do realize that PHP as a standlalone language has reached its limits. It can no longer try and provide the robustness that other languages have without becoming truly complicated and unmanageable. .NET and PHP is a good combo and so is Java and PHP but PHP by itself will always be a web scripting language. This because rather than trying to hack to PHP architecture to allow it to provide needed extensions into the supporting operative system and webserver, the PHP core developers can leave that work over to another workhorse like .NET or Java.
In the end PHP may become like Coldfusion, a front-end for another more robust programming language like Java. So there will be not a "PHP killer" coming along. PHP core development will go on for a short-time more perhaps for two or three years (version 6.x) and then flatten out. The web will advance in such a manner that the limitations of PHP will be noticed more. Similar to ASP, PHP will just become accepted as is without any push for advancement and leave the community waiting for the occasional bug fix. PHP will still be popular for some years to come but mostly because it will enjoy the same favor that Perl had when it was considered to be "the" web programming language.
Happy Publishing!
Man, just give up. I’d rather see you explain how nice it is to write ASP extensions rather than read a muddled explanation of something you admit you don’t understand very well.
You obviously live in a cave. Any Google search shows articles about how Rails is what launched Ruby into the limelight and is what is making it more popular everyday. Articles written by Ruby and Rails developers.
Do some research before you try to flame someone.
Have you actually written an extension for PHP? Is PECL really dead when two new extensions were added this past week? Your solution to this dilemma you have created (that also runs on almost everything out there) is…?
Not very helpful.
Rubuy has not life without Rails. But all of Rails power is only small part of power that PHP has.
Ruby has Rails.
PHP has CakePHP, SolarPHP, Zend Framework, Symfony that are all more powerful than Rails.
So who care Rails?
Everybody knows Apache is the best…u better do some research befor saing that…
Does IIS support…REWRITE and many other nice things that made it superb like .htaccess files :D u r noob man
I certainly hope that I will never see in the LAMP environment something like IIS, which is one of the worst applications I have ever seen. About PHP, it will maybe die if the developers don’t decide to change the path they are working on. Real OOP is needed and a lot of classes.
The end of PHP?
No way.
Feature for feature, someone will always prove that PHP isn’t as good as another language. But it’s been proven over and over again that the “best” doesn’t always win in the end. There are simply too many hard core PHP programmers out there that will never switch.
Deal with it. And move on.
As a ZCE (Zend Certified Engineer), I’ve been developing client side (Command Line scripts, GUI app using PHP-GTK) and server side applications using PHP for about 2 years now. I develop with PHP primarily because it is in the main operating system agnostic.
If I have a client who wants an app for their Linux box then fine. If they also HAVE to have it on some guys windows laptop, then guess what, it is fine! Truly minimal recoding (most of which is just using built in directives rather than actual changes in logic and this is done at design time cause I know that not all OS’s are the same - that’s a good thing).
As Marco Tabini says in his rebuttal to this article (available at http://blogs.phparch.com/mt/?p=130), PHP is about choice. I leave the choice of what platform, what server, what operating system to the client. If I tell them they MUST buy a particular brand of server/OS/etc or pay for a particularly restricted form of licensing, then they will go elsewhere.
For me, PHP works. And it works everywhere.
A point raised here was the lack of an IDE. I am confused by this. I choose to do my coding in an editor which supports auto-completion and instant help lookup for the builtin functions as well as for my own classes and functions. I can build developer orientated documentation for my code without resorting to an external help editor simply by having it as part of my code (phpDocumentor and docblocks).
Whilst I learnt to do HTML by hand, I know I can use Dreamweaver for my Smarty Templates. I believe you can even do your PHP coding in Dreamweaver.
I have a choice. I can do it how I want to. So can anyone else. I’m not tied to doing things the MS way.
Regards,
Richard Quadling.
PHP is the most versatile Language in the market. Others have some great features but just simply fail. I work in Web Development and we have truely tried all aspects of other languages… always looking to see what is new. And do we get something over PHP? Sometimes… sometimes we get a small function that is cool that PHP can’t handle, but we always dump it cause most times, with x language, thats all we get. PHP is always the winner. Why? True multi-platform development. We get the job done with PHP on every major platform and by combining it with other languages it is absolute power. I see PHP evolving quite well. It will take its place as a standard. That is it’s eveolution. Lets be honest, in web development, it pretty much is the standard. Other languages may come along, but I don’t think they are going to outcast PHP’s huge shadow.
I understand youre coming from MS/ASP background… but please before publishing such article… please try to research a little more. I seriously doubt anything will be so lightweight as well as portable (between OS/Architecture/Webserver App) in the recent years.
Also youre title of the article is measleading. Unless the core developers publish such notice that PHP is approaching its life cycle, I dont really see how you claim such thing. I really do think hiveminds should do better than such articles.
As for IDE… please… try to “use” some IDEs before you make such claim. You’ll find IDEs in different colors/os/licence/brands/performance etc.
You have lived in the same town and worked together and gone to school together? I wonder because you seem to know them so well.
You are telling them to do things as though they have no experience or credentials. Which you are allowed to do. But please show your own long list of credits and your name before you take a personal attack on someone elses knowledge.
I have looked through this site and found lost of good information and tips. Even found some software that I thought was great. There are even some reviews of IDE’s that have been tried. I would tend to believe and trust the author and the people running this site before would take the advice of some anonymous user.
no.. youre right… i dont know the author… and i dont see any names on this articles either…
i’m not telling them to do what i think… my simple opinion “about this article” was that the author not to publish something based on …. i dont know what he had for experience with PHP. but the stuff he wrote about… like “Where is the scaffolding and IDE that would make this easy?” a simple google search reveals what are the possibilities out there.
I dont think i have anything against this site… like i said.. this site can do better than “such” an article … and it has good information i have no doubt. well, i am not going to say much… just look at the responses this article have … as for anonymity, if you have anything against that…contact the site and put a stop to anonymous posting (btw… who are you? i only see anonymous post). whatever… like other said before me… its not gonna happen.
http://blogs.phparch.com/mt/?p=130
I haven’t posted in a really long timeâ€â€mostly because I really haven’t had the timeâ€â€and it’s a bit sad that the motivator for my return turns out to be having to criticize someone else’s work.
Over the last few years, I’ve made it a point of trying to respond to at least some of the “PHP is deadâ€Â-type articles that crop up on the Net from time to time. The latest one comes from Hiveminds and reveals a complete misunderstanding of almost every point it covers.
Please note that I have no intention of thrashing their opinion, and not only because everyone is proverbially entitled to one. There are some legitimate questions that need to be asked about PHP’s future, and one could arguably make the point that the cycle of profound innovation within PHP is coming to an end in favour of a period in which the focus is on perfecting the platform rather than altering it. This is not a bad thing: it means that PHP has “become what it was supposed to become†and we’re now focusing on improving what we have rather than trying to add is missing.
My real problem with Hiveminds’ article is that it is based on nothing more than a string of misinformed concepts cobbled together to give the appearance that the author knows what he or she is talking about. Here are a few comments, point by point:
* ASP vs. PHP
I am not sure that this comparison is appropriate in any way. I have had the (dis)pleasure of writing extensions for both PHP and ASP and thoroughly hated the process in both cases. One of the extensions I wrote for ASP, in particular, was for a very high-traffic website and it took a considerable amount of time to iron the bugs out. Before .Net, the only real option for writing ASP extensions was to use VC++, because VB only supported apartment threading, and I really didn’t find that process any easier than writing a PHP extension.
The real difference between the two platforms is that, except for very rare circumstances, PHP is designed so that you don’t have to write extensions, but can almost always write your “extensions†directly in PHP. Consider this: PHP provides built-in facilities that allow you to perform all sorts of operationsâ€â€manipulating files, accessing the network, and so onâ€â€without ever needing to descend in C. You can literally write incredibly complex applications using nothing more than PHP.
With ASP, you never had this luxuryâ€â€even something as simple as opening a file or sending mail required an extension (which, most of the time you either had to purchase or write yourself). So, the difference is more strategic than tactical: the platform are designed with different goals in mind, and these reflect themselves in their implementations.
Of course, things have changed with .Net, but that is a different story. ASP had reached its end-of-life cycle because it could never offer what developers were looking forâ€â€and because it could not fit in Microsoft’s long-term strategy of folding the Internet experience within the operating system, something that PHP has no ambition of doing (and which, in my opinion, Microsoft is very far from achieving).
Finally, the dl() function has been deprecated simply in response to security and consistency considerations, and not in small part because it’s next-to-impossible to build a dependency tree for an application that can load an external library at any time. It’s explained here, and it has nothing to do with how easy, difficult or common it is to extend PHP.
* Writing a Ruby Extension vs. Writing a PHP Extension
But of course it’s easy! You can write a whole C application in less than thirty seconds:
int main(void) {
printf (â€ÂHello world!â€Â);
}
Does this mean that writing C code is easy? No. It means that it’s time we stopped comparing languages through “Hello, world†examples, which is something the Ruby community seems to do a lot. Ruby has a long way to go before it ever reaches the level of functionality and robustness of PHPâ€â€let’s have this discussion when it is being used in a massive-scale environment, and we’ll see whether it is still so simple and streamlined (I’m not saying it won’t be, just that the comparison is essentially meaningless at this stage).
I particularly like how the article shows that Ruby is so much better by comparing an article that provides a step-by-step approach to using Ruby-provided tools to build the infrastructure required by a Hello, world extensionâ€â€without any explanation whatsoever of what goes on under the hoodâ€â€with an article that goes into considerable detail in attempting to explain how a PHP extension that is considerably more complex works and is written from scratch. Here’s some interesting news: PHP comes with extension-generation tools [1] [2], too.
* OOP Hell
The absence of namespaces in PHP is due to mainly political, and not technical, reasons. Their absence is easily explained by both (a) a lack of motivation in the core group (which is different from not caring or having to overhaul the entire code base in order to accommodate OOP features) and (b) a long-running disagreement over how the implementation should work. Luckily for those who do need namespaces, they are being included in PHP 6.
Forking PHP away from the Zend Engine is something that has been discussed in the past, but ultimately without any result. However, there are non-ZE implementations of PHP in existence [1] [2] [3], which, in some cases, provide features (including namespaces) that are not available with the stock PHP parser and interpreter. Their relevance is somewhat questionable (and this is an opinion, not a fact), although they provide an important breeding ground for ideas that can end up in the “official†core.
* Zend and [n]
It is about time that people, and journalists in particular, stop equating Zend with PHP. While Zend are an important contributor to PHP, what they do with PHP has nothing to do with the language or the platform itself. Zend’s recent deals with “[n]†are simply indicators of their need to provide integration and relevance of their products (which include PHP) to certain enterprises niches (large and small)â€â€they have nothing to do with the platform itself.
PHP was never intended to be a “standalone†languageâ€â€in fact, it is designed so that it can interoperate with as many other technologiesâ€â€COM and Javaâ€â€as possible. PHP is about choiceâ€â€its stated goal is to provide an environment that does not force upon the developer a particular programming style or strategy. Some people find this approach liberating; some others find it confusing (and for them is the abundance of PHP frameworksâ€â€abundance being the keyword here). In both cases, the only consistent fact is that there is no “one†technology, and that different needs are satisfied by different solutions.
[Don't spam] posting the above once is enough. Don’t you have any of your own opinion to post?
[from the editor]
Believe nothing just because a so-called wise person said it. Believe nothing just because a belief is generally held. Believe nothing just because it is said in ancient books. Believe nothing just because it is said to be of divine origin. Believe nothing just because someone else believes it. Believe only what you yourself test and judge to be true
– the words of Buddha
Whoever undertakes to set himself up as a judge of Truth and Knowledge is shipwrecked by the laughter of the gods.
– Albert Einstein
I will respond to Marco’s post in time.
Sorry mate, you don’t have the programming skills, knowledge and experience to respond to Marco’s post.
You’ll never be part of the PHP community because Microsoft brainwashed you. You are on your own now, there’s no .NET community out there.
Some people they just can’t resist Bill and his sexy glasses.
I beg to differ. I have been doing PHP since version 2.0. So my experience is quite extensive. responding to Marco post is not what I had in mind when I wrote the article and it is not a priority now. But I will say that Marco has not said anything that disproves my theories.
The fact is that the lastest TIOBE stats are showing that PHP is joining the other top programming languages in flat growth among programmers. This is usually an indication that the language is stabilising but has the potential for a down swing because of a slow ( ala java) or non-existant ( as in the case for c++) development cycle.
Now. To respond directly to Marco. I never said that PHP is not going to grow in popularity. But that it is heading toward the same predicament that Perl is sitting on. Perl has not seen any significant development in 6 years. After the release of PHP 6 I don’t expect to see any real improvements to PHP other than bug fixes.
Please in the future do more research and make sure your opinions agree with all of my preconceptions. It would be helpful for you to refrain from posting articles that cause me to disagree, the internet is after all very small and I am forced to come here and read your articles and it is very damaging when you have a different opinion.
Or seriously, good work in general you cover a lot of subjects that are not covered often in other places. Of course you cover some that are as well :-) I find your articles make me think and bring me outside of my comfort zone and I for one am of the opinion that it stretches my mind and though in the end I may not agree with you it was worth coming here to read what you posted, thanks.
Thanks! I will try and do better by stop producing these cookie cutter articles. The best ones, the ones people like the most seem to be these oddball perspectives that flash into my head at 03:00 in the morning.
I know this article is old but I just had to comment on the following statement from the author:
“But I still have not found anything in the LAMP world that comes close to the Microsoft IIS, Visual Basic and ASP combo…”
I read this and my soda almost came out my nose I was laughing so hard. I guess ignorance truely is bliss…