Live data from Hacker News

My 20 year career is technical debt or deprecated

blog.visionarycto.com

131–140 of 585 posts

Re: My 20 year career is technical debt or deprecated

#131

I think it's normal. Some systems I've built were quite sticky in the sense that they started as prototypes to be scrapped once we figure out the "real" system architecture, and 8 years later they're still in use and integrated into dozens of business processes, so hard to replace. In general, looking back at old code I wrote it seems my solutions were better when I was more naive / less experienced, as I would often…

I've taken the opposite lesson to you, I now keep everything super simple and am quite conservative on adopting new concepts. It's because I've so often seen the cycle here of "X is brilliant" and then 2 years later "how we switched off X and saved millions of manhours!".

Sounds like you took the same lesson

Re: My 20 year career is technical debt or deprecated

#132
Whole BSD's /bin directory disagrees with this thesis that everything eventually becomes technical debt.

If you pick new technologies, don't be surprised that they will be quickly overridden by something else. Pick stable and boring frameworks and languages. I.e. lots of old Java Swing applications runs on today computers without recompilation.

Re: My 20 year career is technical debt or deprecated

#134
It's so weird that you'd even consider putting Rails in the same category as FoxPro, even as a theoretical.

Rails is kicking ass. A huge number of people are coming back from bloated JS frameworks to realize that Rails just keeps getting better every year.

Hotwire and similar technologies make the argument for SPAs look very questionable.

And let's not forget where we are; over 75% of the raw gross value created by YC-backed companies use Rails. So it seems like Rails is only popular with successful startups.

Re: My 20 year career is technical debt or deprecated

#135

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.

C and Javascript are both worse-is-better languages, as is SQL. They have known gotchas and quirks and lots of them. But they basically work, they were good enough, and because of that they became so ubiquitous that it's impossible to replace them.

They were both THE languages of systems that became/were important. I agree that they both have the "worse-is-better" quality about them, but C is a much more appropriate language for what it's supposed to do than JavaScript is. The fact that we (mostly) haven't been able to execute anything else reasonably in the browser is the reason why it's stuck with us. C has had alternatives for a long time but stays put, because it's just better at what it does.

Re: My 20 year career is technical debt or deprecated

#136

Everyone one that has counter examples thinking they prove the opposite, are just not waiting long enough. All the kids think they will be young forever. Can't blame MS for new JS libraries every month, or a new language released every month. This web site is dedicated to people showing off things they created, which replace something that turns into debt, and in turn also become flavor of the month. Yes, biased old…

If you don't want to be replaced you must solve real issues, like centering a div vertically. Joke aside, the good part of LLMs replacing the programming jobs is that programming can become fully an art [1], such as calligraphy or manual woodworking [2].

[1] Was looking at another HN thread, CS 61B Data Structures, Spring 2023 UC Berkeley, https://news.ycombinator.com/item?id=35957811 and in one of the videos, Lecture 27 - Software Engineering I, https://youtu.be/fHEVKqYb9x8?t=387 the professor says "Programming is an act of almost pure creativity"

[2] Japanese Joinery, https://www.youtube.com/watch?v=P-ODWGUfBEM

Re: My 20 year career is technical debt or deprecated

#137

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.

C and Javascript are both worse-is-better languages, as is SQL. They have known gotchas and quirks and lots of them. But they basically work, they were good enough, and because of that they became so ubiquitous that it's impossible to replace them.

Not ... really. Those languages all became popular and got critical mass because they were the only way to access operating systems-like things. People wanted the value provided by those platforms and had to go through the language to get at them. So they buckled up, tolerated it and promptly spent decades and billions of dollars on creating wrappers, FFIs, transpilers and the like to avoid having to touch the underlying monopoly language.

People wanted browsers. JS came along for the ride. It wouldn't have been so popular if it had lived its life outside the browser

Re: My 20 year career is technical debt or deprecated

#138

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.

I wonder where python will fall in history - it seems one of the few common languages that gained usage because people like it.

Python is weird. It's a nice language but it was heading for tech debt status along with (maybe) Ruby, then the ML guys went all-in on it and that saved it. But how often do you find new programs being written in Python outside of the ML/AI space? People got burned repeatedly in the 2000s/2010s by building giant empires on the back of dynamically typed scripting languages and they all ended up either doing rewrites into statically typed languages or (when successful enough) funding PL R&D to try and dig themselves out of it.

Re: My 20 year career is technical debt or deprecated

#139
post #104

Earlier quoted context omitted.

I'm sorry but that doesn't look normal. Code smells with all those clone()'s and unwrap(). It allocates a new Writer and then clones it?! "let &mut writer=" isn't right. The new'ed Writer is a struct; why is there a need to get a reference to it? Why is data being clone() and then immediately de-referenced to create a copy of the clone? A normal writer API would look like one of the variations: Writer ::new(&connecti…

You're interpreting my example more literally than I intended. :-) What does it say about the language, when parody is indistinguishable from poorly written code? The actual code we were working on involved functions returning closures with mutable captures, so the borrow checker was especially persnickety.

To be blunt, the code you copied out as example is crap. I don't know what you expect how it's being interpreted. It says more about the programmer than the language.

> functions returning closures with mutable captures

That sounds like another bad design, but to each his own.

Re: My 20 year career is technical debt or deprecated

#140
post #27

Earlier quoted context omitted.

Core Libraries/Kernels, like LibC or The Linux/NT Kernel.

Even those change substantially over time, even if they're not directly rewritten, things get updated and relocated. It's like how the streets in Rome have been the same for much longer than many of the buildings have been standing, even though the buildings are hundreds of years old.

Software Package of Theseus.
Post reply on HN