Live data from Hacker News

The Lindy effect in software

clemsau.com

31–40 of 45 posts

Re: The Lindy effect in software

#31
post #14

Terrific writing. Just terrific. Copied verbatim: The Lindy effect in software The longer a tech has been around, the more robust it is seen as compared to more recent ones, we often talk about a technology’s maturity The C language SQL has been around for a while, https://antonz.org/fancy-ql/ JS libraries seem to come and goes

Still better than AI, it has personality and not paragraphs of empty prose

you might be confused as to what terrific means

Re: The Lindy effect in software

#32

If we had followed this more seriously in the past, we would have still stuck on to writing C for enterprise applications and had way too many memory bugs. Aren’t we glad there was a demographic who said no to C and brought the revolutionary idea to use Java instead? Couldn’t a Lindy enthusiast have gone “umm but isn’t Java too new and shouldn’t we just stick to C which is well trodden and understood??” It’s easy to…

I really like the concept of novelty budget: keep most parts boring and use new stuff only where you can gain an advantage from it.

Re: The Lindy effect in software

#33
post #8

Earlier quoted context omitted.

People have been rewriting software in better languages ever since there was more than one programming language. Eventually people will be rewriting Rust programs in GoombaLang or whatever. Isn't this what we want?

I don't think this is what we want. We want people to maintain and incrementally improve existing software and tooling and not rewrite and change things all the time.

Case study: Turso[1]

Rewrite the open source SQLite in Rust under an MIT license[2].

Of course, once you complete the core product, there is the extended ecosystem to consider.

[1] https://turso.tech/blog/introducing-limbo-a-complete-rewrite...

[2] https://github.com/tursodatabase/turso

Re: The Lindy effect in software

#35
post #19

Earlier quoted context omitted.

Isn't .NET kinda on quite a rise in enterprise?

Not really, going open seems to only helped Microsoft shops to migrate to Linux for deployments, thus saving on server licences. I work in a polyglot agency, and the RFPs asking for .NET have gone down, even key enterprise products like Sitecore, have moved away from .NET.

Without answering anything privately. Are you in Asia, Americas or Europe or Oceania?

Re: The Lindy effect in software

#36
post #8

Earlier quoted context omitted.

I don't think this is what we want. We want people to maintain and incrementally improve existing software and tooling and not rewrite and change things all the time.

Case study: Turso[1] Rewrite the open source SQLite in Rust under an MIT license[2]. Of course, once you complete the core product, there is the extended ecosystem to consider. [1] https://turso.tech/blog/introducing-limbo-a-complete-rewrite... [2] https://github.com/tursodatabase/turso

Exactly. Nothing which should exist.

Re: The Lindy effect in software

#37
post #19

Earlier quoted context omitted.

Not really, going open seems to only helped Microsoft shops to migrate to Linux for deployments, thus saving on server licences. I work in a polyglot agency, and the RFPs asking for .NET have gone down, even key enterprise products like Sitecore, have moved away from .NET.

Without answering anything privately. Are you in Asia, Americas or Europe or Oceania?

Germany.

Sitecore example you can easily check, Sitecore XP/XM is still .NET Framework, all new products usually use other programming stacks as extension SDK, mainly Next.js or plain JS/TS.

Re: The Lindy effect in software

#38
post #25

If we had followed this more seriously in the past, we would have still stuck on to writing C for enterprise applications and had way too many memory bugs. Aren’t we glad there was a demographic who said no to C and brought the revolutionary idea to use Java instead? Couldn’t a Lindy enthusiast have gone “umm but isn’t Java too new and shouldn’t we just stick to C which is well trodden and understood??” It’s easy to…

I think the Lindy effect is less about making strong arguments about which tool to use in debates, and more about calling out and explaining a real life phenomenon. I've invoked it in my job mostly to explain to younger developers why learning vim keybindings+terminal git usage while they have the most plasticity is most likely going to be a good bet for the remainder of their career, as editors, operating systems an…

This article from yesterday -

Good Tools Are Invisible

https://news.ycombinator.com/item?id=48858121

In my opinion, software tools are different from software libraries.

Knowing RDBMS concepts and SQL is one thing, vim and git are something else altogether.

Re: The Lindy effect in software

#39

If we had followed this more seriously in the past, we would have still stuck on to writing C for enterprise applications and had way too many memory bugs. Aren’t we glad there was a demographic who said no to C and brought the revolutionary idea to use Java instead? Couldn’t a Lindy enthusiast have gone “umm but isn’t Java too new and shouldn’t we just stick to C which is well trodden and understood??” It’s easy to…

A lot of the article is extremely useful for people creating software libraries, IMHO. Under the section - "Applying the Lindy effect to software engineering" The suggestions are - - Prudent Adoption - Stick to Proven Foundation - Plan for Longevity - Embrace Evolution, Not Revolution

This is just conservatism from first principles. Why doesn’t it apply to sociology? LGBTQ, equality rights and so on? Lot more at stake.

Re: The Lindy effect in software

#40
post #12

Earlier quoted context omitted.

A rewrite doesn't need to actually change the public API or experience using the software. But by rewriting software, even in the same language we can learn from past mistakes and experiences and create better and more maintainable software.

Sorry, I think the idea that rewrites are good way to achieve more maintenable software is basically always based on a delusion. It is a very common and well understood delusion for programmers who always see the existing code as crap and imagine a beautiful world when they could only rewrite it. A well understood mistake: https://www.joelonsoftware.com/2000/04/06/things-you-should-... In the context of free software…

The issue with not rewriting or rebuilding things is that you miss out on the opportunity for conceptual changes and new approaches to solve problems in more robust and elegant ways. For example, Unreal Engine 6 will depreciate and eventually remove it's existing Actor based scenegraph with an entity component system. This is essentially a rewrite of the core of the engine, and it's a massive conceptual change away from the old style of inheritance-based OOP game programming to something which is much simpler to reason about and provides optimisations which are not possible with Actors. They aren't doing this out of delusion, it's that there are fundamental limitations to their current approach which are not solved by simply refactoring - it requires an entirely different conceptual approach which turns out to be simpler and better in pretty much every way.

The problem with never rewriting is that you miss the chance to discover better ways of doing things. No system is ever built perfectly, if all you ever do is iterate on a bad foundation you're limited by that. Approaching a problem in a different way is only possible when creating something new.

Of course you shouldn't rewrite something just to do it the same way, and you shouldn't rewrite something just because you don't understand it, but I also don't understand the perspective that you should never build something new when there is an existing solution, because it's often only through building out one or more bad solutions that you arrive at a good one. And if you follow such a strict rule, you never end up building anything good.

In Unreal's case, they built the Actor system and have used it for almost two decades. In that time we have discovered better ways of doing things, and it would be a shame to be stuck with an inferior design because Joel said to never rewrite things almost three decades ago...

Post reply on HN