You mean "I need to have 5 different versions of the same thing installed at the same time"?
No, because most of the framework doesn't change with each version, but I'd assume the more volatile parts do have a few side by side versions to enable this.... nit sure how else it'd work?
What you're actually saying here is that you're not doing desktop apps :P
CTO say's no :)
When was the last time you actually compiled 20 year old .net code?
One of the things I learned from my first boss is that if you move job every 5 or 6 years you never have to do this for any language. So far he's been right.
But then C++ isn't under the sole control of a company with a track record of dropping tech and leaving users in the dark with no migration path, is it?
Seems unfair given your earlier point about VB6, no?
And I remember hearing similar arguments about how VB would always be around due to the inertia it had and the millions of lines of code written in it.
In fairness, they only dropped backward compatibility for the run time last year, so he wasn't completely wrong. They even offered VB.NET as a migration path for VB devs to ease the pain.... not a lot more they could do really.
So I'm guessing you're not a vim or emacs user then?
No, not so much....
I build stuff to last. Granted, this is mostly because I'm lazy and only want to build it once, but that's beside the point.
I build stuff that *could* last rather than will last because the odds are very high that industry and hardware change will obsolete it before then.... I mean, that 17 year old code.... is it multi-threaded to leverage multiple CPU cores? Does it make effective use of the GPU for math intensive stuff? How does it feel about 64 bit OSes? Have any libraries you used been patched? I presume the client hasn't been able to move datastore to something more free? There's lots of problems with long lived systems too - nothing is a panacea.
I'll also grant you that it's not great for the billable hour
I'm an FTE and a fairly senior one - I get paid more to attend meetings than I do for writing code these days :(
I'd have a nicer car if I'd had the foresight to write it in .net so that it needed to be rewritten or upgraded or whatever every 3 years
You just upgrade the installed framework you don't have to touch the code. MSIL FTW.
But on the other hand I'm also never bored out of my skull solving a problem I've already solved 15 times before.
I've been coding for almost 4 decades now - they're all problems I've solved before.
It seems to me that making an assumption that your work won't last is just an excuse to do a half-assed job.
No, I still take pride in my code and make sure it is of a very high standard. My oldest .net code is still running in a bank I left 15 years ago - they just keep moving it and installing the latest framework. Doubt it'd migrate to core without a rebuild due to the package hierarchy but from what I recall of the code it should be a 5 minute job for someone to do.
So, to summarise: Nothing lasts 10 years, except the 40 year old mainframes you're still running.
Louts 3rd Law of Coding: Write it in COBOL and it'll live forever. Cobol McCleod of the Clan McCleod, as they said in Highlander.
And there's no point in doing good engineering and building stuff to last, it's just an academic argument.
No, I never said that. .NET is built to last, you just *might* have to prod it a little every 5 or 10 years. New framework versions don't usually require code changes you just leave it alone because the new versions will run the old code just fine. Just drag a copy to your new hardware and it'll run ok.
20 years is way beyond the lifespan of modern hardware so unless you build it cloud native, you're going to have to do maintained somewhere down the line.
Out of curiosity, what's the DR plan for a hardware failure on the old mainframes?
You won't believe this, but the place you bank with does what my bank does - they buy failed technology museums so they can asset strip the mainframes for parts. I shit you not. They always look for firesales when old companies fail too - Woolworths and others had a few that went for a good price because all the banks were interested and bidding against each other.