From: Jim Greer Date: 2003-05-05T23:46:20+09:00 Subject: Re: Why is PHP so popular? What can we learn from the PHP camp? * james_b@neurogami.com (james_b@neurogami.com) [030505 08:20]: > > So, what can we learn from the PHP camp? What have they done right in > > promoting their language? > > Libraries and lots of full-featured, professional-grade apps. I agree, James, even though many of them seem to be one-off variants of one another - e.g. PHPNuke and its offspring. Every few revision cycles or so, they cross-pollinate in an attempt to maintain feature parity. [ On the otherhand, they all seem to suffer from a re-implementation of the same issues, most notable security lapses. ] > I've tried to sell Ruby development to a good friend who has been > putting up assorted sites. He appreciates good language design, but > appreciates even more ease of job completion. PHP does manage to make it easy to do simple things. The packages that you mention help folks avoid getting bogged down in details when attempting more sophisticated work, since many of them reduce some problems to configuration (i.e., they aren't just application frameworks, but applications). > So, while PHP is, in many ways, hackish and ugly, it makes it easy to > accomplish certain specific tasks. PHP's dark side is revealed when > you try to customize any of this stuff; most of what I've seen makes > poor use of whatever marginal OO features PHP might offer; poorly named > global variables are everywhere. PHP certainly has problems when attempting to produce larger, well-structured systems. The initial problems targetted by PHP (html macros, cgi processing) were simple enough not to demand scalable solutions. In PHP it is clear that OO has been added as an afterthought, largely, I think, to help get around namespace issues, rather than to provide other OO benefits. Things to observer/learn from PHP? - Domain specific solutions can be very successful. - Focusing on specific problems leds to useful optimizations. - General solutions require great forethought (perfection) or a means to control disruption. If we view PHP as a business, then it has found its niche and done well. What is Ruby's niche? The history of successful languages is filled with general purpose languages that succeeded because they came to dominate a domain. What should Ruby do better than any other language? [ Suddenly, I'm reminded of a story about Larry Wall: someone complained that Perl did not fit the *nix model of tool-like utility - do one thing and do it well. Larry purportedly replied, 'Perl does do one thing well; it implements the Perl syntax.' ] Thanks for reading, Jim G -- James B. Greer [expires: 2004-12-27] 7F49 3D20 03C6 E859 E4F9 0735 E1F9 B259 21FA 1494