Continuing the rant 
Web Matrix is a free developemnt environment superior to any free development environment for PHP
Man I've tried it and rather than blowing anything out of the water, it simply blows. If you like WYSIWYG development environments and want one for PHP try: http://studio.qadram.com/ . The fact that web matrix comes with "integrated FTP" says it all to me (ftp is insecure and although many use it - dont - you're giving away your password everything you log in).
ASP.NET is not a language - It's just a bunch of classes that runs on the .NET framework.
It may be that everything you do with ASP.NET requires a class, but ASP.NET is still a language - it has it's own syntax as rules.
C# doesn't have any class libraries. Hardly an equvalent of C++. You would need to include the framework in this comparison for it to work.
Neither does C++. That's why every C++ source begins with stuff like;
Code:
#include <iostream.h>
The real comparison between the PHP environment and .NET is how good are PHP's code libraries and extensions? And I agree - PHP could do better when it comes to classes written in PHP. There's stuff that could be learnt there from .NET's control libraries.
XML is a markup (not programming) language for data exchange between systems, and I really don't see how it's relevant here. Transforming data in XML, transferring it, and parsing it inside an application doesn't seem very efficient.
This is an interesting point. XML (and all the extensions for it) I believe are both markup and programming language these days. Take this for example - a use of XSL Transformation;
We have source like;
Code:
<source>
<car id="11"/>
<car id="6"/>
<car id="105"/>
<car id="28"/>
<car id="9"/>
</source>
Then a transformation like;
Code:
<xsl:stylesheet version = '1.0'
xmlns:xsl='http://www.w3.org/1999/XSL/Transform'>
<xsl:template match="/">
<TABLE>
<xsl:for-each select="//car">
<xsl:sort data-type="text" select="@id"/>
<TR>
<TH>
<xsl:text>Car-</xsl:text>
<xsl:value-of select="@id"/>
</TH>
</TR>
</xsl:for-each>
</TABLE>
</xsl:template>
</xsl:stylesheet>
Now that above is just XML markup. But notice the stuff like for-each ? Give it and the source to an XML parser which understand XSL and you get this;
Code:
<TABLE>
<TR>
<TH>Car-105</TH>
</TR>
<TR>
<TH>Car-11</TH>
</TR>
<TR>
<TH>Car-28</TH>
</TR>
<TR>
<TH>Car-6</TH>
</TR>
<TR>
<TH>Car-9</TH>
</TR>
</TABLE>
Base XML is just markup. Having said it's "loosely typed", you can apply validation rules these days with XML Schema or RELAX NG.
More an more, XML is being used to build layers of abstraction into applications (particularily n-tier type designs). It's slower yes, but the answer to speed these days is more processing power. And with stuff like XSLT, you're in position to generate content once than transform it to HTML, WAP or whatever.
Bookmarks