[fpc-pascal] CGI (with Free Pascal) vs PHP

Daniël Mantione daniel.mantione at freepascal.org
Tue Mar 6 13:27:37 CET 2007



Op Tue, 6 Mar 2007, schreef Chuck Burkins:

> On 3/6/07, Florian Klaempfl <florian at freepascal.org> wrote:
> =

> > =

> > (Pascal) compiler based CGI is magnitudes faster than PHP, less resource
> > consuming and much easier to maintain. The only advantage of PHP is that
> > is easier to use for beginners and that's probably the only reason why
> > PHP is so popular: you can hack quickly something together but
> > maintainance, performance etc. are nightmares.
> =

> With all due respect (and that *is* a lot of respect), I disagree. I
> leave out the relative speed of PHP vs. compiled pascal, as I've never
> use Pascal in CGI. I have got over 100,000 lines of PHP code in
> service, so I think I can safely comment on that.
>
> PHP does not in any way burden a modern web server, at least when used
> as an apache module. My test server at work has 128MB of RAM and only
> occasionally does it slow down noticably, typically when MySQL is
> working on a particularly ugly join. In my experience, the speed of
> well written  PHP is indistinguishable from the speed of the same
> static HTML, as long as you leave out any database interaction (and
> Pascal of course would have database interaction as well).


PHP has serious defficiencies, one is raw performance, another is the way =

it deals with libraries, which is just like a C compiler, include all =

files you need. This means once you get a large PHP library, it starts to =

suck, even though you only use one procedure in your library.

Another issue is the dealing with databases. The php way is to do text =

substition, which is a serious risk of SQL injection vulnerabilities. =

More often than not, PHP does not do database connection pooling, and this =

because everyone is writing his own database abstraction layers, there =

exists no good database API in PHP.

Now Pascal has its defficiencies in web programming too. CGI programming =

tends not to be very scalable, allthough it compensates by raw =

performance. The trouble is when databases come in, connection pooling is =

almost impossible to achieve with CGI.

> PHP written by  skilled programmers can be quite readable and
> maintainable. Certainly easier in my eyes that C and miles ahead of
> Perl.

Yes, but you know what we mean. In syntax PHP cannot match Pascal. This =

does not mean Pascal should be used just for its syntax, but its =

properties of writing readable and self-documenting code have not been =

matched by much languages. I like to code web pages in TCL. Comparing TCL =

and PHP, TCL beats it, both in power and readability. Even TCL does not =

have the same syntax properties as Pascal.

> It is true that PHP is easy for beginners to pick up, but Pascal
> is actually easier for beginners in my opinion,  after all it was used
> as a teaching language for years and you don't need to know HTML. I've
> always found the claim that languages are bad BECAUSE they are easier
> for beginners to learn to be condescending and elitist ( and I don't
> think that's what you are saying -- after all you develop in Pascal, a
> language that is often tarred with that same brush). It is true that
> languages that are easy to learn pick up a lot of beginners who never
> seem to progress beyond beginners, but I think the same thing happens
> with Pascal.
> =

> Now, you can certainly knock some programmers, and if you were to say
> you find PHP inelegant, I certainly agree with you. There are some
> pitfalls that you run into in PHP that you'd never hit in Pascal
> because one is loosely typed and the other strictly typed. On the
> other hand, the scoping rules in PHP, when used intelligently, work
> better than any other language I've programmed in, once you get used
> to them.
> =

> I think PHP is popular largely because the web is popular. PHP is
> quite good for programming web pages. It's easy to install, well
> supported, has a rational syntax, quite feature rich, generally
> readable, and very easy to change quickly. It's an agile language in
> the sense that you can prototype a solution, tweak, refine and come to
> a solution that makes the customer happy very easily.

PHP got its social contacts right, causing many people to evangelise it. =

Further, besdides that it was easy to learn, had good documentation, and =

due to the work of Linux distributions, easy to set up and get running.

> Now on to the question at hand.  If I were setting up an online
> inventory system, I'd certainly do it in PHP. But then I know PHP.

I won't, PHP is not professionals. If things get big, either in code or in =

performance, PHP becoems a serious handicap.

> The original poster does not, and I'm not going to say that he should
> learn it to complete a project. It certainly is a problem domain where
> PHP shines, but the Graeme's time would probably better spent solving
> the problem in a language he's facile in than learning a new one,
> regardless of how trendy and popular it is.

... and if you learn a language, you'd better learn a good one :)

Dani=EBl Mantione


More information about the fpc-pascal mailing list