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!".
My 20 year career is technical debt or deprecated
131–140 of 585 posts
Re: My 20 year career is technical debt or deprecated
#132If 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
#133Re: My 20 year career is technical debt or deprecated
#134Rails 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
#135I 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.
Re: My 20 year career is technical debt or deprecated
#136Everyone 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…
[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
#137I 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.
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
#138I 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.
Re: My 20 year career is technical debt or deprecated
#139Earlier 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.
> 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
#140Earlier 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.