The .net myth balloon exploding

Posted on Nov 12, 2009

If you are reader of this blog occasionally or if you are subscriber to my Rss you probably know that I do alot of .net coding side-by-side with other technologies both on server side and on client side.

Also, you probably know that I do love to code .net and create amazing application with these technologies and frameworks MS are putting out into the market for years now.

Frankly, I’ve seen the myths about .net being written about, talked about and the buzz is out there. .net is being trashed talked at about every open source community out there. recently I started coding with Ruby On Rails and I was absolutely shocked by the myth’s that are going on in that online community of developers.

So, in this post I will take each point and act as a myth buster It’s going to be interesting…

Before I begin writing the myths and bursting them one at a time I want to say that in my opinion it is totally Microsoft’s blame, most of them come from earlier versions of .net when MS did a few (or more) mistakes and the myths stuck since then.

If I code asp.net my code will only fit IE and will not be in the new standards

You probably guessed it but this myth is not true, it exists since the beginning of time with .net 1.1 and the controls you dragged and dropped into the HTML which created ugly HTML.

Since then .net has grown, nowadays you can write you own HTML, every control that exists in web-Forms like the grid or data-list are now creating totally customizable code which you can write css for and have your own way of work with.

.net mvc did even better, you can write you own templates, even the default code generated by the templates is OK, it’s not great but it’s not ugly as well, comparing it to the code the Scaffolding feature of ROR created it’s pretty much the same stuff.

If you know what you want to create and you don’t use Controls when clean lean and mean HTML is needed your code will be clean, readable, validated and you’ll love it.

.net is SLOW

This one actually makes me laugh every time, .net code is compiled (if you want) and if you know what you are doing the code is super fast, super efficient and in tests I’ve made and in test @misfitgeek published on his blog .net wins in most cases.

You can argue both ways here really, you can say the tests were made on MS servers and not on Linux but that doesn’t change the fact that even if there is a difference it won’t be noticeable to your client’s.

If you keep your code clean on server side, if you intelligently divide your calls to the database so you won’t access it 200 time on page load (seen that happening I swear) then your code will be fast.

The ability to work side by side with SQL (all versions) is also an advantage with speed.

I have to work with an expensive IDE

Well, this is also a very ugly myth meant to discourage the use of .net. Today MS released an amazing IDE that is totally free of charge it is called Visual Web Developer Express and it is a free version of Visual Studio (with some features missing).

You can work with this IDE on small or on huge and complex websites, it does not limit you to the level that you can’t do something, some things are harder than with Visual Studio but it’s definitely possible.

I’ve used this IDE for about a year and I enjoyed working with it very much, when comparing it to other environments and languages which IDE’s cost hundreds of dollars it wins every time.

BTW, Visual studio and Visual Web Developer are in my opinion the total best IDE’s out there, the experience of development and debugging is absolutely amazing and easy.

I can’t be agile with .net

Hmm… If someone will explain this myth to me I’ll think i’ll burst it in a second You can. You can. We can, yes! We can!

You can be agile when developing .net just as much like when you are using Ruby on Rails or PHP or any other language or framework.

With .net development is slow

HA, .net development is not slow for a very long time now, with .net MVC, nHibernate, code generation templates, LINQ you can be super fast, super efficient coder.

just take a look at the new MVC screencasts on the asp.net website by microsoft, sure, the screencasts never show the best practice and rush to coding just to explain the point but, you can code just as fast with Interfaces, TDD and every other best practice you may know.

Imagine yourself as a commander in the army, when you go to a mission you have to choose the soldiers carefully right?

Right.

Well, .net is exactly like that, if you go to a mission and select the right troops your coding experience will be best, if you don’t you can expect problems, it’s the same in ROR, PHP and others…

Conclusion

There are more myths, some of them aren’t worth taking the time to answer and some I don’t even remember but every myth can by busted especially with the rapid and ever developing .net.

If you have a comment, feel free…