From: Terence (
Date: 11/06/03

Date: Thu, 06 Nov 2003 11:27:18 +1100

Karim wrote:
> On Wed, 05 Nov 2003 11:18:19 +1100, Terence wrote:
>>Karim wrote:
>>>On Tue, 04 Nov 2003 20:14:39 +1100, Terence wrote:
>>>>Furthermore, PHP's function library is far far far superior to any
>>>>version of CF. Just check this out...
>>>>unbeatable... this is where PHP craps all over Java and CF and .NET for
>>>>web apps.
>>>Can you be more specific on why you think PHP is better than .NET? Did you
>>>actually use ASP.NET?
>>I pointed out _one aspect_ where php "craps all over" ASP.NET
>>I didn't say that PHP craps all over ASP.NET in every way. That aspect
>>is functionality.
> PHP might have more functionality but .NET is geared towars Windows only as
> expected from all MS products.

I have no problems with windows, and just because I think PHP is OK
doesn't mean I'm anti-microsoft, it's more IIS that irks me. But that's
just my opinion based on this product's horrific record of exploits.
Havint said that, at least I am willing to give ASP.NET a go anyway.
Have you at least done some tutorials in PHP let alone read a book on it?

> No.. you will not find functions that
> support MySQL or Postgres but if you're on Windows, you really don't care
> and if you do want to use something like MySQL, there are free drivers out
> there that you can use. It's not a dead end.

Well as a windows programmer, I thought that would be obvious in light
of ODBC. PHP's database support, while comprehensive, is not remarkable.
It's the some total of all this and all the other functionality that
makes it remarkable.

> I haven't used PHP but I am pretty sure it doesn't support server controls
> like a datagrid where you can drag and drop a grid, set some properties and
> have a grid where you can insert, edit and update values, do validation,
> sort and paginate right away. I am sure PHP can do all this but it's not
> going to be done in as productive way like You will need to a ton
> of code where already has it done for you and if you need to etend
> on a server control, the open hooks are there.
> .NET is *fully* OO while php 5 is going there. You have visual
> inheritance, code behind in a file seperated from the html file...etc.

This is where it is futile trying to debate a language vs a framework.
PHP is a programming language with lots of functionaltiy. It is not
tightly bound to any one framework like ASP.NET. The same goes for CF.
For PHP and CF, frameworks are a separate thing and there are many of
them avilable to choose from, that's why you don't have HTML and web

It's quite simple really, ASP.NET API simply does not have the same
amound of functionality that PHP has. What it does have is a framework
which comes bundled with some UI elements.

There's nothing wrong with this in principle, but then you have to
address the framework as a separate issue, not as a language issue. I'm
pretty sure I made that perfectly clear in my last post. Let me make
some more comments on why I personally don't like the ASP.NET framework.

ASP.NET framework has it's archicture centrered around Visual Studio.
Now that's not neccesarily a bad thing if authoring environment is
paramount to your web apps development. Visual Studio is an excellent
package, I use it on a daily basis. To make things easy, the bundle a
bunch of layout (HTML markup) components that you can drag and drop.
They provide interfaces to make data-binding easy. The end reasult is
rapid development of functional web pages. That's great.
What I don't like about it is that the components it gives you are in a
dead-end format, they are in HTML. So again, we go back to the bad old
days of having compatability issues with user-agents -- not to mention
the obvious inflexibility of using a dead-end format. I think MS had to
do this in order to keep integration with Visual Studio simple. For a
lot of people (who don't know much about modern web apps and XML/XSLT),
this is fine, it "gets the job done". For these people it is not a
problem because they are usually the type that couldn't be bothered with
user-agent compatability and W3C standards.

If you're trying to deliver flexible non-dead-end solutions, then you
cannot use the bundled HTML and web controls. You will still have to
"roll you own" architecure. Now this is entirely possible, but then you
cannot sing the joys of ASP.NET which is basically "web apps for Visual
Studio" because now you're not really taking full advantage of the
Visual Studio components development methodology(?). You can then go on
to use ASP to develop propper XML/XSLT applications, but then it has no
serious advantages over any other web technology including Java, CF, and

> php has a ton of functions but you're still writing spaghetti code which is
> hard to maintain.

Well the choice is yours. If you feel compelled to write spagetti code,
you can. If you prefer to do object modelling, you can do that in PHP too.

If I chose, to, I could write spagettig code in ASP.NET too (without
trying too hard). At the end of the day, an ASP.NET page is == a single
page object instance which is just a collection of functions and variables.

> When Mono on Linux is fully ready, then the ".NET works only in Windows"
> excuse is not going to fly anymore. Besides,

excuses? what excuses?
I've been following the Mono project with some interest. It will be
interesting to see if it will provide a strong enough alternative to the
MS version.

MS make all this fuss about how the Common Language Runtime is a
ratified standard and all, but then they don't grow the thing the same
as Sun does. Sun doesn't see the provision of J2EE platforms by other
vendors as a threat -- quite the opposite, they set up frameoworks and
specifications and certification programs to make it happen. That's why
you have IBM, BEA, Oracle as J2EE platform providers. I can't see this
ever happening with Microsoft. I don't see MS actively supporting
commercial companies like Sun does. If I have any complaints about Sun,
it's the lack of support they have given to JBoss but I think there are
other issues there that I am not aware of so I can't be too critical.

> when you create a website, it
> doesn't matter where it's running on since all you care is that your site
> works right under all the common browsers.

In my experience, I haven't found this to be the case in real-life. You
may be able to take this position as an individual developer, but IT
departments are usually given a limited budget so they may not be able
to just rush out and purchase new talent because one of their developers
wants to use Visual Studio to make web apps. IT managers are sometimes
forced to make comprimises based on their given environment which
supports more than just web applications.

> If it runs in Windows only, you
> hire people who know Windows and .NET to maintain it and they are plenty
> and more every day. .NET is not some old legacy language/framework where
> you worry that it it runs on a certain OS only. To many people and
> companies, cross platform compatibility is not an issue, specially in
> Windows only shops.

Anyway, I believe the original question was about CF vs PHP. As such, I
recomend PHP for medium to large apps in concert with a decent framework
(such as XAO). Otherwise, if you're basically a DreamWeaver person with
not much interest other than processing a couple of forms, the CF has
the shortest learning curve.

When it comes to speaking broadly about technology choices, I think the
discussion should be centrered on frameworks, and to that end, the best
one I've seen to date is Cocoon.

Karim, instead of being so religious about defending your favourite
product, do yourself a favour and try writing an app or two in something
else, starting with Cocoon :)