Manuel Lemos schrieb: >>>In theory those are the only changes. In practice, besides the >>>officially admitted changes, there are also the bugs that were not yet >>>discovered or fixed. >> >>Examples? Links? More information on this? The fact is that on > > http://bugs.php.net/ A reference where _I_ have to search is something like a non-answer... >>php.internals there are discussions to reduce the number of maintained >>development threads. In the not-so-far future they will reduce the >>manpower put into backporting bugfixes to the PHP4.x development branch >>since 5.x is the HEAD revision and everything is first fixed there. I > > > In theory yes, in practice no. As a matter of fact PHP 4.4 was > introduced after PHP 5.0, although the "new version, new bugs" is the same. PHP 4.4.0 is dated 11-Jul-2005 and kind of a -break-stuff version (the reference notice). PHP 5.0.5 is a bit late here (05-Sep-2005) but it fixes about two times as many bugs AND inbetween there has been the RC1 of PHP 5.1. Speaking of releases it seems true that The 4.x branch is quicker but looking at php.internals one can see that the people there fix it in the HEAD revision and then complain about having to backport fixes to the other branches and they want to get rid of this by just backporting _serious_ fixes. >>think all "old" stuff is just as mature in PHP5 as you know it from PHP4 >>and if some errors are found they are likely to be fixed more quickly >>for the 5.x release. The "new" stuff (that wasn't there before 5.0) >>almost certainly has more bugs since it's younger but that's no argument >>since this isn't relevant for old projects. > Right, that is why most people with old projects will not upgrade to PHP 5. I've got PHP5 and 4 running on the same machine. >> [OO bologna] > That is not the point. The point is that you said that people using PHP > 4 do not see the benefits of OOP, as if they cannot do OOP in PHP 4. No, I said that those people have a pre-PHP background that keeps them from seeing any use for OOP at all. The procedural programming paradigma is so clean and simple because it doesn't deal with larger concepts like abstract datatypes and their methods. One can quicker start doing stuff: some simple variable types, functions to manipulate them, that's it. On the other side, there's object orientation. The "datatypes" are alive, they can do things themselves. Then there are interfaces, contracts about using things so that you can use different datatypes in the same way. And so on and so on. All this are more complex concepts that a programmer only realizes with the right background. And a lot of the PHP programmers come from non-OOP languages or start programming in PHP with no background at all. Even (and this is not the main, but a subpoint) in the pre-PHP5 era PHP had some kind of OOP but was not evangelising its use. > The reality is that even in PHP 3 you can use benefit of OOP features > such as encapsulation and inheritance. PHP 5 adds more OOP features, > some copied from Java and Visual Basic, but that does not mean > developers must use PHP 5 to do OOP. That depends on how one defines OOP. Some people are satisfied with what PHP3 offered, other people say that even PHP5 is not featuring some of the most important features (like namespaces or proper overloading of method prototypes without manually parsing the parameter array). For me, destructors and delegation (or multiple inheritance) are important points for an object oriented language. On the opposite, I don't like exceptions because I hate the jumping around in the code. So everyone has different expectations of OOP. > It is also curious that you mention Visual Basic as if you could not do > OOP in Visual Basic either. Did you know that not only you can do OOP > since a long time ago in Visual Basic, but also you can make object > variable accesses be implicitly implemented with setter and getter > functions like you can now in PHP 5? I just refer to VisualBasic because some of the most ugly code I have ever seen is Visual Basic code. I might as well have mentioned Perl. Perl features a complete OOP implementation but it's such an ugly thing that the ordinary Java programmer would simply commit suicide if forced to use it. >> [scratch vs reuse] > In theory yes, in practice nobody starts projects from scratch. Usually > you reuse class libraries that are proven and implement many basic > function. Many of those class libraries were built for PHP 4, not for > PHP 5. Some are complex and large. If you use them in PHP 5 with prior > certification chances are that you may stumble in PHP 5 bugs and > backwards incompatible changes that make such libraries not work > properly. Then even your new projects may be affected. First of all, in many cases code reuse still is a myth. I hate to say it but it's true. Then, a large potion of the PHP community hasn't even heard of PEAR. Then, people definitely start projects from scratch. If they didn't, there would be no PHPUnit2, Creole or Propel. And last but not least: Practically all PEAR stuff is written for PHP4 but does in fact work with PHP5 without problems. This is the case because the usual problems with PHP5 are almost never caused by real incompatibilities but by code that was wrong before (like those reference passing problems) and PHP5 is the language to report this as wrong. AllOLLi ____________ "The good news is: The whiskey works." [Lost in Translation] -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php