Live data from Hacker News

My 20 year career is technical debt or deprecated

blog.visionarycto.com

11–20 of 585 posts

Re: My 20 year career is technical debt or deprecated

#11
post #5

The fun thing is that, until CS slows down, stuff gets better so fast that we get to reimplement the same thing, but 10x better every 5 years or so. First I wrote single threaded code code with automatic memory management, then single threaded synchronous with manual memory management, then synchronous multi-threaded, then async, and then async lock free. Now I am writing async lock free, and the compiler is helping…

More like the hardware gets faster but the software gets slower or stays the same ;)

Lock-free goes way back. Multi-threaded goes way back. Both more than 20 years. SIMD goes way back. GPGPU goes way back.

What is newer-ish are large scale distributed systems. But even that isn't so new any more.

Re: My 20 year career is technical debt or deprecated

#12

Interesting how C programming has survived that entire time period in the operating system and embedded worlds, although the spread of multicore hardware running lots of threads in parallel has also led to many changes (but even those changes were beginning to be implemented 20 years ago). 20 years from now, C will probably still be a core language in its niche.

Queue rust apologists…

I think C and its direct descendants will slowly fade away over the next 20 years as new developers want to get away from the legacy of language specifications that span existing codebases. There are so many sharp edges in C that have automatic fixes/detections/etc in newer languages and don’t get me started about multiprocessing complexity in C.

Re: My 20 year career is technical debt or deprecated

#13

Interesting how C programming has survived that entire time period in the operating system and embedded worlds, although the spread of multicore hardware running lots of threads in parallel has also led to many changes (but even those changes were beginning to be implemented 20 years ago). 20 years from now, C will probably still be a core language in its niche.

SQLite's achievement of DO-178B compliance could carry C forward on it's own.

Dr. Hipp spent years achieving this, and any reimplementation will suffer his travails, regardless of language safety.

DO-178B means that SQLite can be used in avionics. No other major database has reached this level of code quality, as the database written for "programmers who are not yet born."

Re: My 20 year career is technical debt or deprecated

#14
I am somewhat amazed at the list of tech from that article, it's like he has a magical knack for picking dead ends.

C was the 2nd language I learned and I'm still using it. The big surprise for me has been javascript - it's so...bad it became good or at least ubiquitous.

Re: My 20 year career is technical debt or deprecated

#15
What do all these things have in common?

MS Visual Basic 6, MS ActiveX, MS Silverlight, MS Visual Foxpro, MS C# .NET Compact Framework, MS ASP.NET WebForms, MS ASP.NET MVC, MS Windows Communication Foundation...

I think there common is a theme there. But shhh, don't tell him.

Re: My 20 year career is technical debt or deprecated

#16
post #2

Which is better/worse, the hack with a plan which is removed promptly or the barnacle that persists forever? The barnacle did provide more lifetime business value after all.

Barnacles can cut you pretty badly if you're not aware of them, and they have a habit of reproducing. When you have a large colony on the hull of your vessel they impose a nontrivial amount of drag.

(I'm more committed to the bit than this position though, it's a judgement call that an engineer must make relative to the requirements and resources available.)

Re: My 20 year career is technical debt or deprecated

#17
post #11
post #5

The fun thing is that, until CS slows down, stuff gets better so fast that we get to reimplement the same thing, but 10x better every 5 years or so. First I wrote single threaded code code with automatic memory management, then single threaded synchronous with manual memory management, then synchronous multi-threaded, then async, and then async lock free. Now I am writing async lock free, and the compiler is helping…

More like the hardware gets faster but the software gets slower or stays the same ;) Lock-free goes way back. Multi-threaded goes way back. Both more than 20 years. SIMD goes way back. GPGPU goes way back. What is newer-ish are large scale distributed systems. But even that isn't so new any more.

For a lot of this stuff 20 years is basically new in my book. MPI dates back at least 30 years and I still sometimes wonder if the only reason we don't use it anymore is because nobody wants to deal with C. I spend too much time these days watching technology like Spark make things slower rather than faster because nowadays the Java platform (not to mention containerization) is becoming an increasingly efficient way to splat oneself into the memory wall.

Re: My 20 year career is technical debt or deprecated

#18
I feel like this is heavily connected with the idea of legacy. I grew up in Scotland, and lots of the buildings, culture, etc, have been around for hundreds of years. It would be nice to feel like something I was building would last as long and outlive me. It doesn’t though.

Sometimes I think that this is just the nature of software development. Most of the stuff I build is built to solve an immediate business problem. It probably lasts 5/10 years and then someone rewrites it in a new language, or more often the task isn’t relevant anymore so the code gets deleted.

I find myself thinking that maybe if I’d been in civil engineering or something then I’d be building stuff that lasts, but speaking to people who’ve worked a long time in construction has taught me that it’s the same there. Most of the buildings that go up, come down again in a few decades once regulations/fashions change or the new owner of the site wants something else.

Every so often something like a Cathedral gets built, and those get built to last. But most people don’t get to work on those. If there’s a software equivalent of a Cathedral then I still haven’t found it.

Re: My 20 year career is technical debt or deprecated

#19

Interesting how C programming has survived that entire time period in the operating system and embedded worlds, although the spread of multicore hardware running lots of threads in parallel has also led to many changes (but even those changes were beginning to be implemented 20 years ago). 20 years from now, C will probably still be a core language in its niche.

Queue rust apologists… I think C and its direct descendants will slowly fade away over the next 20 years as new developers want to get away from the legacy of language specifications that span existing codebases. There are so many sharp edges in C that have automatic fixes/detections/etc in newer languages and don’t get me started about multiprocessing complexity in C.

It will fade away the same way COBOL faded away, which is to say that it will still be at the core of a great many critical systems in 50 years, even if new critical systems aren't written in it.

Re: My 20 year career is technical debt or deprecated

#20

What do all these things have in common? MS Visual Basic 6, MS ActiveX, MS Silverlight, MS Visual Foxpro, MS C# .NET Compact Framework, MS ASP.NET WebForms, MS ASP.NET MVC, MS Windows Communication Foundation... I think there common is a theme there. But shhh, don't tell him.

Oh yes… those were for sure the only thing to perish.
Post reply on HN