|
Posted by Oli Filth on 12/21/05 01:16
Chung Leong said the following on 20/12/2005 21:52:
> I guess I'm not the only one who's unhappy about the direction that PHP
> is going. It's larger issue that goes beyond backward compatibility. I
> see it as a conflict between two points of view: an academic's vs. an
> engineer. An engineer sees a problem and tries to solve it. The
> outcome is what matters, while aesthetics and principles are secondary.
Engineering isn't just about finding the first thing that works, it's
about finding the best solution given particular constraints, and
hopefully thinking about aspects such as long-term maintenance as well.
Normally, it might be true that aesthetics and principles are secondary,
but in the case of a computer language, these two qualities are often
intrinsically related to the semantics, structure and useability, and so
can't be ignored. Ignoring them is what led to PHP 4.
(Note that I'm not saying that backwards compatibility isn't important.)
> As my professor used to say, "Ask not why you do something, but HOW you
> do it." An academic, on the other hand, seeks the recognition and
> approval of his peers. Practical implications are irrelevant when the
> main objective is to impress.
>
> More and more, the academic is winning the fight.
>
PHP is *never* going to win recognition as some clever, beautifully
thought-out, academic language, so I think that saying "the academic is
winning the fight" is somewhat erroneous - I don't think that's what the
developers are trying to do (not as a main priority, anyway).
I think the developers have realised, however, that there are millions
of programmers out there who are used to OO features (for example) in
more "structured" languages, but laughed at PHP 4's attempt at OO, and
still laugh at the mish-mash nonsense of inconsistency that litters PHP
5. To attract these hardened programmers who are used to the formalities
of, for instance, Java, and view PHP as a toy not to be used for any
serious purpose, the developers know that from now on, the future of PHP
needs to be *planned* rather than *hacked*, and some of the embarrassing
legacy swept under the carpet.
Unfortuantely (well, maybe not, depending on your opinion), that may be
at the expense of the "PHP is great for hacking together any old
unprogrammatic atrocity" ethos. But then again, that ethos is the
self-fulfilling prophecy that fosters the liberal use of eval(),
numbered variables rather than arrays, dynamic class definitions, code
replication and nested-ifs instead of polymorphism, etc., etc...
To properly design a language, it necessarily involves a large amount of
"academic" input - in the sense that it involves sitting down for a
*long* time and working out the whole plan in fine detail.
--
Oli
[Back to original message]
|