Ruby and .Net Developers Solve Two Different Kinds of Problems

Posted: 7/14/2010 12:27:12 PM

A few days ago I ran across a tweet by a Ruby developer who I’ve been following for a while, in which he asks for someone to “... actually explain the value of Visual Studio and intellisense in terms I can understand?” At first, I responded with the top two things in my head:

1. It drastically reduces how much typing I have to do
2. It helps me learn a new API

He seemed to be under a misconception about the speed of intellisense, I understand why he might have thought that but it really hasn’t been an issue for several years now. But what really got me thinking is when he responded “It just seems to me that if intellisense really drastically reduces typing, perhaps the language is too verbose”.

I think the larger misconception he has is that Ruby developers solve the same kinds of problems as .Net developers. They don’t. Not even kinda. And it is these differences in the kinds of apps we build that make things like an IDE and intellisense indispensable. In general, Ruby developers create small to medium size websites - content management systems, small social networks and online storefronts. On the other hand, .Net developers create a lot of large scale enterprise applications. There are countless .net projects that have 50+ developers, the average .Net team probably has 15+ developers. When you need 3+ people just to describe what the business needs, the resulting code is going to be verbose. How big is the average Ruby team? Two or three dudes?

I am not saying that Ruby sucks. It is an incredibly cool language that can help .Net developers to look at their code through a different light. Remove Ceremony? Great Idea! TDD? Sweet! MVC? Booya! Convention over Configuration? HELLS YES. But even after borrowing as much as we can from Ruby, it isn’t going to make the gigantic complicated sales management system for a Fortune 500 company be not gigantic and complicated. Hopefully it will be a slightly smaller and more simple, but that application is never going to be so simple that you don’t need an IDE or intellisense.

If you happen to work on a beast of project with a large team and you need help finding the troublesome spots you should really check out Nitriq and Atomiq. There is a free version of Nitriq - it lets you query your .Net assemblies with LINQ. You can think of it as a super configurable, easy to use FXCop. Atomiq finds and visualizes all the places that someone has copy and pasted code in your project. When I tell people what Atomiq does, about 90% of them get a smirk on their face because they know how much this happens in their project. If you're smirking right now, just go look at it!

UPDATE: There is a pretty good discussion going on at Hacker News.

Tags: Atomiq;Flamebait;Nitriq