←back to thread

105 points robbyrussell | 1 comments | | HN request time: 0s | source
Show context
kiririn ◴[] No.45073990[source]
Still maintaining a Laravel 3 project. Barely made it 2 years before maintainability became a nightmare and the only upgrade path was complete rewrite. Projects written without an opinionated framework easily sail past 10 years of comfy maintainability
replies(5): >>45074063 #>>45074210 #>>45074585 #>>45075184 #>>45076069 #
jt2190 ◴[] No.45075184[source]
Laravel 3.2 was released in May 2012, so 13 years ago. Sounds like you should port the application off of Laravel since Laravel’s got an “evergreen”/regular updates maintenance model. I’m not even sure that 13 year old PHP is still maintained FWIW. I’m struggling to think of a programming community that tries to achieve a “we will maintain this for decades” approach, maybe another reader knows of something.
replies(3): >>45076410 #>>45077409 #>>45087689 #
1. loxs ◴[] No.45077409[source]
I have a Rust web project written ~5 years ago. Zero updates until a month ago, also zero problems. A month ago I upgrade the docker file to latest rust, zero problems compiling. Could have left it to run like this for 5 more years probably but I decided to experiment...

I issue a `cargo update` to upgrade the leaf dependencies and do automatic minor version updates. Issue cargo check. Some new warnings from `clippy`, but it still compiles and runs without problems. Could have deployed for 5 more years, but I decided to experiment more...

I upgrade some of the libraries to major new versions - I am experienced and I know which ones will upgrade without problem. They do upgrade without problem. Could have deployed for 5 more years but decided to walk the extra mile...

I upgrade the more problematic ones, especially actix_web, the web framework, which had a massive rewrite and a huge new release with almost completely different API surface... It's a bit difficult to understand the changes, especially some parts of the old code written for the old version (which I no longer remember), but in an hour I'm done. Afterwards `cargo outdated` does not report any outdated libraries. I deploy for the next 5 years. Zero problems since then.

Well, it's not decades yet, but I can imagine similar effort to maintain it over the next decade.