D&C GLug - Home Page

[ Date Index ] [ Thread Index ] [ <= Previous by date / thread ] [ Next by date / thread => ]

Re: [LUG] PHP as opposed to C#

 

Aaron Trevena wrote:
> 
> PHP isn't exactly the nicest language to develop large applications with

I'm not sure since the advent of PHP5 that it is particular good or bad
in terms of scaling projects.

There is a lot of bad PHP out there, and this I found a major issue for
learning PHP, because a lot of the examples are either poor, or incomplete.

Certainly I've seen a few PHP projects, we host one, where a number of
standard PHP5 object libraries were loaded up, and the meat of the
application done in just a few lines. So I've seen good clean PHP code
that could easily form the basis of big projects, I just don't know
enough to write it.

I thought the failings of PHP were mostly security related, vagaries
over how different servers do escaping/global variables/retrofitting new
security, and the odd naming convention for functions (str_replace
becomes str_ireplace, ereg_replace becomes eregi_replace etc). I don't
think these are scalability issues; indeed if you control the
environment PHP runs in, and the standards to which PHP is written, in a
project the security and hosting vagaries disappear, and you are mostly
left with the weird naming convention, but otherwise perfectly
serviceable language. Indeed some of the security tools for PHP mean you
can set quite detailed checks to stop PHP apps grabbing resource or
doing risky things, which many more secure languages never bothered
implementing. Kind of like why Windows has all the best personal
firewall products, because in Windows XP it needed them.

This document:

http://www.tnx.nl/php.html

reminded me of Larry Wall's statement about not comparing Perl to a real
language (Only they are comparing PHP to Perl).

I think there is a strong case if you have an open choice of language
for such projects looking for languages with established libraries in
the area you need. Here Perl with CPAN are simply amazing, and much as I
detest Perl (Larry was right about real languages), you'd be mad to
reinvent a lot of CPAN just because you really wanted to use language X
instead.

It would have to be a very big project indeed to justify much wheel
reinventing. That said I'm not sure how extensive Java libraries are, I
don't think java.net is anything like CPAN, but there are a lot of
commercially relevant Java libraries, so it may depend on the project
domain.

-- 
The Mailing List for the Devon & Cornwall LUG
http://mailman.dclug.org.uk/listinfo/list
FAQ: http://www.dcglug.org.uk/linux_adm/list-faq.html