Code center > Darwinbots3

P2P Internet Mode

<< < (12/12)

Cyberduke:

--- Quote from: EricL ---It's just that I've spent 25 years in the software industry and in that time I've formed some opinions about how to move code bases forward. Total re-writes never work. It sounds great to start clean and do things right from scratch "this time around" but the details and difficulty are always underestimated. We tend to underestimate how much is really invested in the older code base, all the little things w.r.t. usability or features or hard-won lessons about the way things should work that are embedded in the code and present barriers to people moving. It's not the rocket science core stuff that kills projects. It's the million little simple things that add up to a usable program. This is why is was so difficult for people to move to 2.4 even long after the basics were in place. Sure, you can get there if you throw enough hours at it for long enough (I did) but in my experience, that is always the most expensive route to take.

Understand that I've probably doubled the number of lines of code since I took over. There are a lot of details, a lot of features, a lot of nuances. Even were DB3 working today, it would take a long time to get to critical mass such that people could move. I prefer the incremental approach. One rule I learned the hard way and have followed in the large software projects I've managed is that you never, ever change more than 30% of the code from major release to major release. You can do re-writes, but you do it of individual modules. You move forward, incrementally, maintaining stability while you do. Not doing so is the fastest path to vaporware.
--- End quote ---
Sounds like some very good advice there, *puts fingers in ears* 'laa la laaa la'    
You’re absolutely right; I know you are, its just from my point of view there would also be the overhead of learning a new...old... different language  and trying to get to grips with a large complex existing code base written in multiple styles by multiple developers over a long period of time.
On the other hand, a new start has an extra fun-factor about it and would give me the ability to understand it from the start as it was being laid down and for me to incorporate some of my own ideas into it, even if it does come with an increased risk of wasted effort.

Besides at work recently I am getting used to re-writing stuff, it's a constant stream of “here is our old legacy program, the vender went bust about 8 years ago and so there is no source available, Can you build us a new version that’s 10x better inside 6 months please”

Anyway...
It’s just a shame there would really be a duplication of effort reaching for a very similar goal which doesn’t quite sit right.

And for the record I probably sit closer to Nums school of coding, though maybe not quite so extreme, having had to earn a living as a programmer for 6 years has tempered that tendency somewhat.


Edit: Also even If the 2.4x code base wasn’t going to stay in active development I understand that it would take a lot of time before 3 could begin to compete for any percentage of the user base since the first number of releases would really by necessity have a greatly reduced feature set, and would then take a while to stabilize and for new features to be built on top of that.

2nd Edit: that and 3 looks like it just about decimates any chance of running existing DNA code on it.

Cyberduke:
Oh and Numsgil, that was a very long and informative post, which was greatly appreciated and congrats' on 6,000 posts!

Numsgil:
Woo 6K!

The current DNA (codenamed Sunweaver) for v3 isn't compatible with present bots, but being modular by nature it's possible a future module could be written to allow for current bots to run.  It just isn't my priority at the moment.

Navigation

[0] Message Index

[*] Previous page

Go to full version