tags:

views:

63

answers:

3

Say you have an application in either .net or java (web application).

How long did it take you to port the application to the other platform? (I am assuming they general design was the same, just a straight port i.e. not changing the general design pattern radically).

What I am interested in:

It took me 4 months to code it in .net, and the port took 2 months.

What I am after is, is it realistic to think it will take longer, or shorter?

+4  A: 

If you code something once, I'd always guess that the second time around would either be shorter or take about the same time, as long as you knew both languages equally well. I'm assuming that you've learned all the necessary lessons when coding it the first time, and you weren't learning a new language the second time around.

duffymo
+1: great answer that completely avoids the lazy "can you get stuff done quicker in .net or java?" path that these types of questions often take
curtisk
Agreed - it would work the same in either direction, having little to do with the language you started with.
duffymo
+1  A: 

Often the longest part of developing an app is getting the requirements exactly right, the next longest is architecting the solution to be efficient and maintainable (often this is not done corectly anyway ;-) )

Sometimes a language provides libraries that save a lot of work that would otherwise need to be done in your own code think Linq for example (or Boost libraries if using C++)

As general rule of thumb porting from very similar languages, I would assume a shorter time, along the lines of a full re-factor. If going to a very different language (say Ruby or F#) probably not much shorter.

Tim Jarvis
+1  A: 

One thing to add to the equation (or to avoid if possible) is that most ports tend to also include new features in addition to the ported features. It's almost impossible to avoid the temptation so keep this in mind.

dpp
A port often reveals latent bugs; fixing them introduces more bugs, and so *ad infinitum*.
trashgod