News for hackers. Stuff that matters.
Re:Rails 7.1 Released by jshen on Friday October 06, 2023 @01:28AM (#37787365)
I've worked on tons of old code bases over decades. I've never seen a library based one that's in good shape either. They usually evolve into some half baked homegrown framework that no one understands.
Re:Rails 7.1 Released by bambax on Friday October 06, 2023 @03:25AM (#37788050)
It seems that, at least in the enterprise world, eventually every software project evolves into a hairy monster "that no one understands", choke-full of traps and side-effects that turn around to bite you at the worst and least-predictable moment.

As a result, projects are frozen in time because everyone's afraid of touching anything, less it triggers Armageddon.

Maybe AI can help? Instead of copilot writing new code, or chat systems explaining a couple of lines, there could be an app that ingests a huge code base at once (spanning multiple languages and subsystems) and

- explains what each part does

- is able to spot potential side effects for each new addition

- suggests simpler ways of doing things / nice refactoring

There are some startups trying to address this but none seems to be there yet (I think); the market is huge though and people would pay through the nose for this.

Re:Rails 7.1 Released by jshen on Friday October 06, 2023 @01:22PM (#37793490)
That's a really interesting observation. Having been in enterprise for a long time I think there are 3 things that I've seen make a big improvement on the health of a system after a decade or more.

1. Longevity of Engineers: Attrition is a killer from a knowledge perspective. Teams that keep their engineers have healthier systems

2. Avoid Over Abstraction: Simple understandable code is easier to maintain. Too many mid level engineers go overboard with abstraction and bad abstraction is worse than no abstraction.

3. Choose tech that is likely to be well maintained decades later. It's better to pick tech that will be well maintained than to pick tech that is better in some way but more obscure and more likely to poorly maintained in decades.

Re:Rails 7.1 Released by eikenberry on Friday October 06, 2023 @02:55PM (#37794726)
This is almost 100% due to developer churn. Every mid-level developer introduced to the project will think they have the new abstraction that will fix everything. Eventually you end up with a monstrosity partially implementing half a dozen different abstractions with no overall architecture. I've seen it many times.

The fix for this is pretty easy though. Keep employees and avoid the churn.

Re:Rails 7.1 Released by jshen on Friday October 06, 2023 @08:05PM (#37797865)
Yes! See my reply to the commenter above you.