What programming language/framework would you choose to implement a relatively simple CRUD application with a HTTP and HTML interface that should run for the next 30 years with minimal maintenance?
Conversation
Notices
-
Embed this notice
pukkamustard@chaos.social's status on Wednesday, 25-Oct-2023 16:40:09 JST pukkamustard -
Embed this notice
Haelwenn /элвэн/ :triskell: (lanodan@queer.hacktivis.me)'s status on Wednesday, 25-Oct-2023 16:40:04 JST Haelwenn /элвэн/ :triskell: @clacke @pukkamustard Lua sadly tends to have breaking changes similarly to Python. clacke likes this. -
Embed this notice
clacke (clacke@libranet.de)'s status on Wednesday, 25-Oct-2023 16:40:05 JST clacke @pukkamustard Python moves too fast. Ruby and Rust too.
I'd use Guile, Lua or Tcl.
-
Embed this notice
pukkamustard@chaos.social's status on Wednesday, 25-Oct-2023 16:40:07 JST pukkamustard The requirements of the application are pretty stable. There probably will be bugs to fix and minor features to add.
I'm thinking of a real application that has been running for the last 25 years (rewrite in 2016) and imho is a vital piece of Internet infrastructure.
Just a little thought experiment...
-
Embed this notice
Ed Summers (edsu@social.coop)'s status on Wednesday, 25-Oct-2023 16:41:03 JST Ed Summers @pukkamustard @clacke @how yes, I just heard the same from Mark Graham in IA Slack. He said that it's a Python app (with some cache layers) that sits on top of data in IA storage.
It turns out you can browse the PURL data in this IA collection:
https://archive.org/details/purl_collection
Each namespace is an item, that has a JSON file with the mappings in it. So DublinCore is:
https://archive.org/details/purl_dc
and it has JSON file:
https://ia601205.us.archive.org/29/items/purl_dc/purl_dc_purl.json
Kinda cool :-)
Haelwenn /элвэн/ :triskell: likes this. -
Embed this notice
pukkamustard@chaos.social's status on Wednesday, 25-Oct-2023 16:41:05 JST pukkamustard @how did some digging into this as well. Apparently PURL was re-written in Python and there are no plans to release the code.
In conversation permalink -
Embed this notice
Ed Summers (edsu@social.coop)'s status on Wednesday, 25-Oct-2023 16:41:06 JST Ed Summers @pukkamustard @clacke I dropped a question in the Internet Archive Slack to see if anyone knows what software is running it now.
In conversation permalink -
Embed this notice
Ed Summers (edsu@social.coop)'s status on Wednesday, 25-Oct-2023 16:41:07 JST Ed Summers I don't know what the original service was written in but I think a rewrite started in 2007:
https://web.archive.org/web/20070811100100/http://www.oclc.org/news/releases/200669.htm
The federated approach and/or the software failed and it moved to the Internet Archive in 2016?
https://blog.archive.org/2016/09/27/persistent-url-service-purl-org-now-run-by-the-internet-archive/I'm not sure if they are running the same service or if it is something new.
I think some people got frustrated and created https://w3id.org/ which is basically some Apache rewrite rules maintained with Git.
In conversation permalink Attachments
-
Embed this notice
pukkamustard@chaos.social's status on Wednesday, 25-Oct-2023 16:41:08 JST pukkamustard @clacke Editing PURL entries is unreliable and simple changes take multiple attempts (for me at least). Luckily, the redirection itself seems to work reliably.
I can't figure out what software IA's purl is running on, but it does not seem to be PURLZ (https://sites.google.com/site/persistenturls/) - the free software developed by OCLC.
In conversation permalink Attachments
-
Embed this notice
clacke (clacke@libranet.de)'s status on Wednesday, 25-Oct-2023 16:41:09 JST clacke @pukkamustard Wow, what's broken about it? And why does the IA run a proprietary service when OCLC used to run a free software one? In conversation permalink -
Embed this notice
pukkamustard@chaos.social's status on Wednesday, 25-Oct-2023 16:41:11 JST pukkamustard @clacke By the way, the real application I was thinking of is purl.org - a persistent URL service run by the Internet Archive.
In my opinion, a vital piece of Internet infrastructure - but severely broken ... and closed-source??
In conversation permalink Attachments
-
Embed this notice
clacke (clacke@libranet.de)'s status on Wednesday, 25-Oct-2023 21:05:47 JST clacke @lanodan @pukkamustard oh In conversation permalink -
Embed this notice
clacke (clacke@libranet.de)'s status on Wednesday, 25-Oct-2023 21:05:48 JST clacke > I think some people got frustrated and created w3id.org/ which is basically some Apache rewrite rules maintained with Git.
That's basically what we did at my first job internally! Literally inspired by the existence of purl! Except git didn't exist so it was svn. 😊In conversation permalink Attachments
-
Embed this notice
clacke (clacke@libranet.de)'s status on Wednesday, 25-Oct-2023 21:05:49 JST clacke @alcinnz @pukkamustard I'd say Common Lisp, Scheme (specific RnRS) or Standard ML.
I saw an article a few years ago about "the centennial program" that chose sml for the solid packaging constructs.
In conversation permalink -
Embed this notice
alcinnz (alcinnz@floss.social)'s status on Wednesday, 25-Oct-2023 21:05:50 JST alcinnz @pukkamustard I'll vote for Lua... I don't know what else meets these requirements...
In conversation permalink -
Embed this notice
clacke (clacke@libranet.de)'s status on Wednesday, 25-Oct-2023 21:05:51 JST clacke @alcinnz @pukkamustard one minus vote for lua:
♲ queer.hacktivis.me/objects/faa…In conversation permalink Attachments
Haelwenn /элвэн/ :triskell: likes this.
-
Embed this notice