4 ms·
PHP has astounding longevity. In maintaining my personal websites (static pages, web toys, projects with my writing groups), I always ask myself: how will I kee
by genmon 5y ago
PHP has astounding longevity. In maintaining my personal websites (static pages, web toys, projects with my writing groups), I always ask myself: how will I keep this running in 20 years?
It's unrealistic to think that languages will stay static over 20 years -- servers get rebuilt, old versions languages get deprecated, frameworks disappear. So the question becomes
- will I know how to fix or rebuild this, even if I don't touch the code more than once every 5-10 years?
- what is sufficiently resilient to mean that "mean time between rebuilds" is as long as possible?
Over all that time, what's lasted best are CGIs (Python/Perl) and PHP, running behind Apache.
I don't use PHP day-to-day, so changes in the language don't affect me much. But for keeping the history of the web alive, it is an unparalleled tool, and its proven commitment to longevity is why I still reach for it.
Separately: I think that longevity is a question we should ask ourselves more about the web. New ideas often come from experiencing old (even failed) ideas -- but if those old ideas just disappear, we lose some of our ability to progress.
- capableweb 5y ago> It's unrealistic to think that languages will stay static over 20 years Depends on the language really. JavaScript? Yeah, good luck even spinning up a year old project on NodeJS without any breakages. Slightly better situation in the browser but most likely you'll need to change something if you're using NPM. On the other hand, Clojure hasn't had a breaking change in their core API in almost 14 years now, since you can change the language yourself without affecting the core API for others, so new features are usually launched as libraries instead of changing the core API. Coming from the JS world, being able to spin up old Clojure projects without having to do any changes is really a undervalued feature of the stability of Clojure.
- zkldi 5y ago> Depends on the language really. JavaScript? Yeah, good luck even spinning up a year old project on NodeJS without any breakages. Slightly better situation in the browser but most likely you'll need to change something if you're using NPM. Is that really true? I can't think of much in terms of older nodeJS stuff that would break on modern node (and with N, you can just install an older version of node).
- genmon 5y agoOver long periods of time, and assuming I chose stable 3rd party libraries in the first place, I've found that breakages are down to (a) language changes, and (b) patched security holes. And that's where the risk of a majorly changed (or disappeared) library comes in, triggering a re-write. So it's not just a matter of sticking with the old stuff, unfortunately.
- genmon 5y agoInteresting! I'm not from a Clojure world but that stability is great.
- deepstack 5y ago> PHP has astounding longevity. In maintaining my personal websites (static pages, web toys, projects with my writing groups), I always ask myself: how will I keep this running in 20 years? PHP originally stands for Person Home Page. really!