ASP.NET vs anything
April 22nd, 2009I read yet another ASP.NET vs PHP post. It got me thinking…
In case you can’t tell by looking at the category listing over on the right, my primary focus is the back-end of intranet applications using the .NET framework. I tinker with winforms and console applications, but that isn’t what I spend most of my time doing. Code behind files, libraries, windows services, and web services take up most of my daytime life.
There is a LOT to know about .NET. There are a multitude of certifications, and the track for web applications is different from windows forms applications. It takes years to master. I am constantly learning, even after over 3 years coding with it.
Notice how I said “the .NET framework”? I didn’t say C#.NET or VB.NET. The .NET framework is exactly that — a framework. C# is a language. C++ is the bastard stepchild no one talks about but many use and love. You can see where this is going, can’t you?
You cannot compare .NET to PHP or Java and have it mean anything to me. Comparing a framework to a language is apples and oranges. If you want to compare language features, even VB, C++, and C# have differences within the .NET framework.
If you want to post about which development framework someone should choose for their web application, I want to see you pick another actual framework to compare it TO. There are a multitude of frameworks available for PHP. There are over 100 for Java, according to this pdf sheet from Sun called “Choosing A Java Web Framework“. I haven’t used any of them. I want to know what the framework can do, not what the core language supports.
I love the .NET Framework. I’ve played with PHP enough to be dangerous. I can mess with WordPress and make quick scripts for servers that only have PHP on them. I know enough Java to be dangerous, too, and coded with it for 5 years, but it was long enough ago that most everything has changed (I started back on java 1.2, before they even had regular expressions and I had to hack Netscape Enterprise Server on a Solaris box to get JSP working, because they wouldn’t let me use Apache).
I do know, though, that there are frameworks for those languages, and they have different capabilities, strengths, and weaknesses. If I want to compare ASP.NET to Java, I need to detail frameworks like EJB. If I want to compare it to PHP, I need to actually research the various PHP frameworks, like Zend, to see if they offer particular features.
I’m pretty sure that PHP and Java frameworks are complex enough that someone who normally develops with .NET would not be able to tell what they can and cannot do without looking it up in the data sheets. I am also pretty sure they take a decent amount of time to master, just like .NET does.
My point is — if you want to write up a great comparison for people to choose a web development platform, you have to compare apples to apples.
What do you think? Since PHP and Java are separate from their frameworks, but C#.NET and VB.NET are really subsets of the .NET framework in its entirety, is it fair to compare? Shouldn’t people be comparing Zend to ASP.NET, or EJB to ASP.NET, not PHP or Java to ASP.NET?
I’d love to hear what you think. Let me know in the comments!
