Ask HN: Can you deliver value faster using Ruby or .NET?

3 points by Donmario ↗ HN
I have two different teams in my organization, one works with Ruby and the other with .NET. We need to switch one of them to Ruby or to .NET. How can we compare which technology is a better, faster choice for delivering value in the long term?

8 comments

[ 2.7 ms ] story [ 40.3 ms ] thread
Is this a SaaS company, a company that delivers applications for clients, a development team in a non-software company?

Both languages have a rich development ecosystem, but I would vote for .NET on the basis that C#, the most common .NET language is statically typed. This is a significant productivity boost for developers, as the integrity of your program is checked at compile-time as opposed to run-time.

Source: http://programmers.stackexchange.com/questions/10032/dynamic...

You can also theoretically reuse any existing Ruby libraries with IronRuby but I don't know how good that is because I've never done it.

There are licensing costs with .NET but these are usually not significant if the company is well-established. Considering your company can apparently afford two teams that would appear to be the case.

Note: I have been a .NET developer for the last 6 years, and while I have used Ruby on Rails and Chef a fair bit, I may have missed some important features of Ruby. I'd love to know if there are any killer features that I have overlooked.

Thanks gtsteve.

It's a company that delivers applications for clients.

Just curious -- why is it not possible to use both?
Actually both team are not split into technology stacks, but rather interdisciplinary teams like one for Marketing and the other one for Sales. Each of them building some different functionality in Ruby and .NET. In each team there is like 1 .NET developer and Ruby dev, and this causes an issue when someone wants to go on holiday, as the team practically stops development.

Unifying technology eliminates or reduces that risk.

(comment deleted)
(comment deleted)
Unifying technology definitely has benefits, but I would also consider the risk to morale of telling a good developer to stop using their chosen language. The main driver of your decision might not end up being the final result of the decision, but the costs of the transition from one language to another.

I'm a Ruby guy, but I understand .NET has taken some leaps and bounds in the last 5 years, especially since Microsoft ported it to Linux. There's no clear winner yet for me personally. YMMV.

Mitigating risks is more a matter of reducing costs than delivering value. I mean customers don't care when your employees take vacation and in many cases might not care whether your app uses Ruby or .NET or Cobol.

If the goal is to determine which delivers more value, then the place to start is by measuring value...and that means deciding what constitutes value and building systems to measure it. But really, this seems like a cultural decision and while cultural decisions can create and destroy value within a company they don't deliver it to customers. Even worse, they are hard and don't have a right answer and if you get it wrong good people leave and if you get it really wrong it's hard to hire good people to replace them. Even getting it right means that good people might leave.

And people might not leave for the first order reasons. A Rubyist might leave because a .NET developer left because the choice was Ruby and that didn't sit right with the Ruby developer.

Anyway, if people going on holiday is a staffing problem then the problem is not enough staff or adequate management planning. It is not Ruby versus .NET: it is a management problem.

Good luck.