php-developer-list | 2000111

Re: [PHP-DEV] RE: [PHP] eWeek article From: Ron Chmara (ron <email protected>)
Date: 11/09/00

For starters: I actively work on the documentation, so my opinions
are not just from somebody "complaining"... the review hurt, a bit.

In the right places, applied criticism can help make a product much
better, and he _did_ make some valid points. If you want to read my
suggestions (and skip the ramble) they're at the bottom.

Michael Geier wrote:
> I SOOOOOOOOO (sarcasm....drip drip) love how the writer gives his low
> opinion, yet PHP was by far the fastest of all 4.

Some of it smacks of a traditional code war: Tagging (Fast Templates,
CF, OO) vs. lower level coding (Perl, PHP, etc.). Experienced HTML
(tagging) folks with little Perl or C experience will pick up CF much faster
and easier. I think the reverse is also true, that people who want
direct interaction with the code structures will find CF's tagging to
be more frustrating.... but as a web-programming language *for HTML-centric
users*, a tagging approach has more merit (you can see the same bias
in his distaste for ASP and JSP). If he _had_ used something like
Fast Templates, he probably would have given PHP a more favorable
review. If he was JAPH, he would have preferred PHP. The evaluation
criteria was not for experienced command line coders, though, it was
for HTML folks.

> And a lack of editors...how about Homesite, Dreamweaver, or, my personal
> favorite, VI.

Well, he was talking about an *IDE*, which is not the same thing as an
editor. Of the three you mentioned, how many do syntax checking to
PHP's specific rules? How many recognize missing arguments to PHP functions?
How many come with template blocks, so, for example, you just fill
in three parameters to setup and pull a mysql query out?

An IDE implies editing functions, syntax checking, debugging, a coding
environment which is written specifically for a language.... BBEdit
on the Mac has decent syntax support, bluefish on linux has a nice
function lookup table, dreamweaver has _some_ support, but PHP just
hasn't made as big of a splash in IDE's. I'd like to think it's
because the coding is easier, and requires less of an IDE, but
it's still a valid criticism.

And you're going to put johhny-newbie-web-developer-barely-manages-
to-boot-his-Mac on vi? You're a sick, sick man. ;-)

> And the API issue, well we all know that that can't hold up...Metabase,
> PEAR, and numerous others.

These both have open-source publicity, and open source documentation,
problems. If newbies can't find it, they often assume that either it:
a) Doesn't exist.
b) Isn't easy to find, and therefore isn't easy to get support on.
 
Try searching for them, on your own, as a 'brand new coder'. For "database
abstraction", PHP.net has, well, dbm-functions. The rest of the db's are
their own sections, except for ODBC. Zend.com fares no better on a
search for database abstraction, let alone a unified one for the language.
Compare this to CF, where you write once, and change a db-engine at will. Even
with things like metabase, they're still add-ons, and not part of the
"core" (as compared to, oh, DBI on Perl.) The reviewer mentioned "adding
session support" as a plus (even though sessions were possible with PHP2),
because the code was pre-supplied.... this has come up before, and now
PHP is getting bad press for it. :-(

Pear? How are they going to find it? (And what are they looking for?)
Take a look at Perl.org. CPAN is linked from the homepage. Pear? Well,
if I was new to php, I would search for "library" (Took me to CURL,
and if I wanted to join a pear mailing-list, I could)). "PEAR.php.net"
is a ghost town, it looks like an *abandoned project*.

> It just shows that they just install and go and take no time to read
> documentation on anything they test.

There was a "One week limit" on learning. That's why. Go to the CF
pages and click on "developer" to see the standard PHP was being
held to.

You get a code exchange, purchasable Objects/Code, freeware, support,
etc. This is a combination of CPAN, weberdev, and a few others, all from the
*main site*. No searching through links, no looking though mailing lists,
just one click from the homepage, day one. Doing the same in PHP? Well,
you have to scour through *many* different, competing, sites, none of which
has a complete library, or even that many robust ones...

This is the kind of "ease of use" folks under a deadline look for.
Of course, I'll stack four months worth of PHP against four
months of a CF project, easy.... but many developers work based on
first impressions, *not* a four month learning cycle. The eWeek
criteria for cost included learning hours, and for somebody who
considers an href tag to be fairly complex, PHP must be pretty
daunting.

PHP also got a "C" on installation, and if you've home-built PHP
on your own, you know why. RPM's make this easier, .deb's make this
easier....

General suggestions for the community:
1. Building out PEAR. Quickly. The website is currently making it
look like a non-starter. Once there's a respectable chunk of code
up there, link it from the php.net sidebar. If this is *our* CPAN,
let's build it. Whomever are the project leaders on this, post
a wants/needs list to get this going.
2. Packaging a large batch of sample scripts with *every* PHP
distribution method. Maybe a few meg's worth. If they want base
code, let's give it to them by the meg... it's certainly out
there.
3. Helping out the authors of your favorite code-authoring programs
by offering code snippets, feature suggestions, *whatever*, to help
them code for more PHP functions, syntax, etc. Even if they just
put in "PHP mode" which recognizes C syntax, that's better than
no mention of PHP at all.
4. Volunteer for QA, volunteer for PEAR, volunteer however you feel
you can contribute, even if it's just answering questions on an
email list, or sending in little code updates to other developers.
5. Write features/functions for the PHP language to enable faster
coding. Post them everywhere. Debugging tricks, tight loops, whatever.
6. We need some centralized code-searching place, or concept, or
structure, that newbies can use. Surfing the errata, and zend,
and weberdev, and sklar, and phpbuilder, (etc. etc.) could work...
...if you have a few hours. A meta-search of all of the above, at
one time, would be much nicer. This has been done in other competing
communities, we could do it too, without the sites loosing traffic
(and even gaining more cross traffic).

-Ronabop

--
Brought to you from iBop the iMac, a MacOS, Win95, Win98, LinuxPPC machine,
which is currently in MacOS land.  Your bopping may vary.

-- PHP Development Mailing List <http://www.php.net/> To unsubscribe, e-mail: php-dev-unsubscribe <email protected> For additional commands, e-mail: php-dev-help <email protected> To contact the list administrators, e-mail: php-list-admin <email protected>