Are there advantages to writing an application from scratch if you already have a successful product?

If I can earn a comfortable living by selling and enhancing my existing software, then why should I try to write something new from scratch?

I think it’s so boring to work on single project for the whole life.
If you have freedom and willing to try new ideas, develop new products (maybe even just for fun) - why not?

1 Like

Diversification of income. It’d be nice (Since it’s possible in our little niche of the global workforce) to not have all of your income depending on one particular linchpin - be that a particular piece of software or codebase, a particular person, a particular client or vendor, what have you.

You’d have to weigh that and any other benefits against the disadvantages of the time spent - and question whether that time would earn you significantly more money simply being spent utilizing what you already have (more jobs for main client; more work done using existing software/codebase; more work done using products sold by main vendor; etc).

So, I agree with your sediment, in fact, I do this on a regular basis. Consider it a way to sharpen existing skills, branch out to see what other technologies exist, learn new languages/techniques, etc.

I find it impossible for me to make a decision on whether a new technique is beneficial or not without actually using it. There is a lot to be said about not always being on the bleeding edge, but to disregard anything different than what you are accustom to, is surely going to leave you behind at some point.

Biggest example I can think of. .NET released LINQ to Objects, LINQ to SQL, LINQ to XML, etc. They also released Generics around the same time. So a co-worker and I ran LINQ to Objects, Generics, and typical collections through the paces. We found that both LINQ to Objects and Generics had a slight performance hit, but the shear speed at which you could write your new code was ridiculous fast and saved a LOT of time. We ultimately used Generics (because it has less of a performance hit, and we’d throw in LINQ where necessary, and we’d fall back on the old collection convention when we had no other choice.



This is spot-on I think. If the only actual coding you do in a language is to update/maintain a legacy application where you aren’t utilizing new languages features or technologies then it’s impossible to properly evaluate these them, or know if they’d be beneficial.

This topic was automatically closed 91 days after the last reply. New replies are no longer allowed.