In the same way that Java was a reaction to the wicked corruption of C++, PHP is merely a reaction to the wicked corruption of Perl. Any language whose design is based on imitating another crippled language is at a disadvantage to a language like Python that was well designed in the first place.
PHP may seem like a good idea to someone who's only ever programmed in Perl and is sick of suffering, but compared to Python it's a toy. The same goes for Java: it only seems like a good idea when compared to C++, without considering language like Python or Lisp. But neither Perl nor Java are serious about easily interfacing to other languages and libraries, as Python is. Java's biggest problem is that it's intended to be as a weapon in the war against Microsoft, more than a programming language. So it's purposefully designed not to get along with other languages. The slogan "100% Pure Java" smacks of intolerance and racism. PHP doesn't suffer from such a debilitating political agenda as Java does, but it's even more of a toy language, no good for programming in the large, and it doesn't even have much of an advantage over JavaScript. Dr. Dobb's Journal covered the Lightweight Language Workshop at MIT: http://ll1.mit.edu http://www.ddj.com/documents/s=2287/ddj0202a/0202a.htm PHP wasn't represented at the workshop, since it's not usually considered an interesting language by people who know more than one. The Perl people in attendance made fools of themselves and were not taken very seriously, because what they said demonstrated their amateur grasp of language design. (I've included an excerpt from the article demonstrating that below.) I understand the argument that all Turing complete programming languages are equivalent in what they can compute. But programming language design goes far beyond Turing completeness: Language design is user interface design, because programmers are language users. Languages like Perl and C++ that ignore the important tenants of user interface design are badly designed languages. It's unethical to evangelize badly design languages, even if it's simply out of ignorance, and especially if it's in the name of job security through code obscurity. The fact that sombody's invested years in learning C++ or Perl is no justification for spreading the disease, when there are better more appropriate solutions available for free. -Don ==== http://www.ddj.com/documents/ddj0202a/ Most of the talks were relatively uncontroversial. However, during the Simon Cozens and Dan Sugalski presentation on Perl 6, the clash of cultures quickly became apparent. Cozens and Sugalski gave an excellent summary of Perl 6's run-time engine, but their interaction with the audience was awkward, and the ensuing discussion, although reasoned, was heated. Several attendees noted during the talk that the Perl community seemed to be reinventing the wheel in areas such as virtual-machine implementations and garbage collection. At times, the feedback included some not-so-subtle barbs. To their credit, Cozens and Sugalski accepted this feedback gracefully, requesting URLs so that they could examine the appropriate papers themselves. Unfortunately, they occasionally inadvertently incited the crowd with their flippant remarks. Sugalski, for example, explained that Perl's run-time engine needed to support a number of high-level programming concepts, and he showed a slide that listed some of them. When coming across "continuations" on his slide, he said, "Let's skip that. I don't really understand them." Gasps were heard throughout the room, as Sugalski's blunt confession seemed to be proof that "Worse Is Better" communities were indeed ignorant of computer science. Sugalski also stated that, for academics, "Perl is not very interesting." Although several members of the audience nodded in agreement, it was an unfortunate claim to make, because it was clear that neither Sugalski nor Cozens really knew what academics were interested in. ==== _______________________________________________ Zope-Dev maillist - [EMAIL PROTECTED] http://lists.zope.org/mailman/listinfo/zope-dev ** No cross posts or HTML encoding! ** (Related lists - http://lists.zope.org/mailman/listinfo/zope-announce http://lists.zope.org/mailman/listinfo/zope )