Dnia Wed, 22 Dec 2004 20:57:07 -0500, Robert Kern napisał(a): > I think he means, "scale to larger programs," not "scale to more > processors."
Yes. I will try to be more specific. There is several reasons why Python scales better than PHP. (1) Python uses namespaces, PHP - not. The bigger programm the bigger probability of conflict among names in PHP. (2) Not only PHP lacks namespaces. It has one big inconsistent mess with its function naming! Inconsistent prefixes, order of parameters. Mess. It is difficult to memorize it. Python programming need less interupting for reading manual. (3) Python uses modules, PHP - not. Python can download single or some classes from many big modules (eg. from module1 import class1, var1, fun1). PHP is primitive in its copy-paste *all* included files! So Python uses less memory than PHP and do not need to parse so many lines. (4) Python automatic compile every imported modules into bytecode, PHP has to parse all those mess. Without accelerators PHP is much slower for bigger applications. This is the reason why PEAR is so slow. This is the reason why ezPublish is so slow. The bigger code (more included files), the slower PHP works. (5) Python compile its modules automatic and do not need to parse them for every browser request like PHP do. (6) Pythonic application server (eg. Webware) do not need to load and parse any files from filesystem at all! It loads them once, compile it and store compiled scripts in memory. PHP has to load files from filesystem, parse them and execute. From my own experience: when I moved from PHP to Webware and I compared its performance with (similar scale) php appplications, my webware was almost 6 times faster! (7) Python has much better free IDE editors with graphic debugger inside. PythonWin, Boa, SPE, Eric3 etc. It is much easier debug in Python than i PHP for larger programmes. (8) And last but not least. Python is truly object oriented, general purpose language. PHP is not general purpose language. PHP4 has very poor OO. (PHP5 has better, but has also some useless new features like private variables. They have sense for static compiled languages like C++ or Java , not for dynamic ones.) Python also uses sofisticated exception handling, uses namespaces, has module import, has better unicode support, has more consistent api etc. One more example from my experience. I always have problem with converting string among iso-8859-2, cp1250, mac-ce and utf-8. PHP utf8 functions are poor, implements useless (for me) iso-8859-1 only. iconv library for PHP is even worse, when it cannot convert some characters it deletes the following characters! PHP has no such like: unicode(txt, 'cp1250').encode('cp1250', 'xmlcharrefreplace'). When some characters exists only in cp1250 but not in iso-8859-2 that function convert them into xml entity &#number; Cute! -- JZ ICQ:6712522 http://zabiello.com -- http://mail.python.org/mailman/listinfo/python-list