Development Languages

Why is .NET better than ASP? Why would someone go with .NET rather than PHP or Java? I hear a lot of developers saying that Ruby speeds up development. I wonder if there are any numbers to back this up?

By Chris Tingom

Principal of Tornado Design, a Phoenix, AZ based web consultancy

5 replies on “Development Languages”

Heheh. Better than ASP. That could apply to nearly any server-side language for web development.

ASP.NET is easily the best environment I’ve experienced. I tried to love Ruby, but I just didn’t get the appeal. I’m trying to get into Python, but it’s an uphill battle. Java was alright, but tedious. It’s a great environment but I’d choose Python for personal development over ASP.NET.

Why? Because of the Microsoft tax. Sure, shared hosting is pretty inexpensive all around. But realistically, you’re going to want your own server if things go well. Suddenly, you’re faced with Microsoft licensing and things get very expensive very quickly. SQL Server is a bear: I’ve never heard less than $40,000 in licensing costs alone.

I’ve seen expert ASP/PHP programmers attempt to use .NET and fail miserably. They got bogged down by the completely different way of doing things and the huge learning curve.

But on the flip side, I’ve seen .NET specialists create some really nifty stuff.

My advice is to steer clear of anyone claiming to be a .NET programmer who doesn’t have at least a couple of nice, clean, successful .NET projects under their belt.

Definitely. I can say that the field of candidates for ASP.NET in the Phoenix area is pretty shallow. I’ve seen so many candidates who had no business calling themselves ASP.NET developers.

As someone who used to do all his programming in PHP, then dabbled in 1.1 and recently graduated to 2.0, I feel like I have some insight into why 2.0 is really really cool.

Basically, Microsoft’s original goal with 1.1 was to make programming for the web just like programming for your local client machine. The idea was to *abstract out* the fact that HTML is stateless and causes weirdness that you would normally never have to bother with.

But 1.1 had weird problems because unlike PHP which works insta-mediately (c’mon that word surely exists), 1.1 compiled a bunch of the C# / VB files into a DLL file that you would then upload to the web server. The problem was if you then pulled down just that DLL, you couldn’t “de-compile” that to get your source code; you just had to locate your original source files. Configuration was also a complete pain, and some of the 1.1 development environment was just a bit tedious.

With 2.0, M$ has done some pretty impressive stuff. They’ve gotten rid of the whole compilation issue by creating a new “on-demand” compilation of source code feature. They’ve made writing classes really really elegant by actually allowing you to split up your classes into multiple files (the messy auto-generated stuff goes in one file, and your own code goes neatly in another). They’ve added a few additional controls, and Visual Studio 2005 makes explicit accounting for the process of deployment which used to be a total pain.

I agree that the license costs can be prohibitive, but once you’re up and running, it is just bliss to program in because it’s just so easy. As an example, I recently wrote an “online appointment request” form with 2.0 that took me about 2 hours and had some pretty nifty pull-down calendars. That same page in PHP would have probably taken 8 hours because some of the things that M$ abstracted would have required manual programming in PHP.

To sum up this ridiculuosly long comment, PHP to its credit works out of the box and is dirt cheap, but if you can get up and running with 2.0 you’re in for some serious efficiency gains.

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.