Reply to Re: [PHP] Quick Poll: PHP 4 / 5

Your name:

Reply:


Posted by Oliver Grδtz on 09/15/05 02:26

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]

[Back to original message]


УдалСнная Ρ€Π°Π±ΠΎΡ‚Π° для программистов  •  Как Π·Π°Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π° Google AdSense  •  England, UK  •  ΡΡ‚Π°Ρ‚ΡŒΠΈ Π½Π° английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Π‘Π°ΠΉΡ‚ ΠΈΠ·Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½ Π² Π‘Ρ‚ΡƒΠ΄ΠΈΠΈ Π’Π°Π»Π΅Π½Ρ‚ΠΈΠ½Π° ΠŸΠ΅Ρ‚Ρ€ΡƒΡ‡Π΅ΠΊΠ°
ΠΈΠ·Π³ΠΎΡ‚ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π²Π΅Π±-сайтов, Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠ³ΠΎ обСспСчСния, поисковая оптимизация