Rudxain (talk | contribs)
move prog-langs to new Suggestions section
Rudxain (talk | contribs)
m move 100R link, for style-guide compliance
Line 10: Line 10:


==Why==
==Why==
Here's a quote from 100R (links added by me; typos corrected):<ref>https://100r.co/site/weathering_software_winter.html</ref><blockquote>Many of the tools that we thought we could rely on broke down, whether it is [[Apple]] products, or software that require [[Subscription service|subscription services]], <abbr>[[Digital rights management|DRM]]</abbr>, etc. As an artist you spend time developing a skill, you become a Photoshop illustrator. When your connection to the internet fails and that the software locks up, that skill that you thought was [[Right to own|yours]] was actually entirely owned by someone, and can be taken away.
Here's a quote from [[wikipedia:Hundred_Rabbits#Permacomputing|100R]] (links added by me; typos corrected):<ref>https://100r.co/site/weathering_software_winter.html</ref><blockquote>Many of the tools that we thought we could rely on broke down, whether it is [[Apple]] products, or software that require [[Subscription service|subscription services]], <abbr>[[Digital rights management|DRM]]</abbr>, etc. As an artist you spend time developing a skill, you become a Photoshop illustrator. When your connection to the internet fails and that the software locks up, that skill that you thought was [[Right to own|yours]] was actually entirely owned by someone, and can be taken away.


Even though we've been paying for this sort of software for years, the moment that you can't have access to [[Forced account|authenticate yourself]] that skill is gone. We didn't expect this, it scared us.</blockquote>Here's one from Maxime Chevalier-Boisvert (links added):<ref>https://github.com/maximecb/uvm/blob/778114c4adf9a928a77c3491bb8dd3c1e464fd84/doc/vision.md</ref><blockquote>We live in a world where software is increasingly complex, and increasingly fragile as a result. It's very easy to end up in a situation where software that was working just fine a few months ago can no longer compile and run due to broken dependencies. One of the main goals of UVM is to combat the phenomenon known as [[wikipedia:Software_rot|"code rot" or "bit rot"]].
Even though we've been paying for this sort of software for years, the moment that you can't have access to [[Forced account|authenticate yourself]] that skill is gone. We didn't expect this, it scared us.</blockquote>Here's one from Maxime Chevalier-Boisvert (links added):<ref>https://github.com/maximecb/uvm/blob/778114c4adf9a928a77c3491bb8dd3c1e464fd84/doc/vision.md</ref><blockquote>We live in a world where software is increasingly complex, and increasingly fragile as a result. It's very easy to end up in a situation where software that was working just fine a few months ago can no longer compile and run due to broken dependencies. One of the main goals of UVM is to combat the phenomenon known as [[wikipedia:Software_rot|"code rot" or "bit rot"]].
Line 20: Line 20:
This is more than just [[wikipedia:Link_rot|link rot]], it's the increasing complexity of keeping alive indie content on the web, leading to a reliance on platforms and time-sorted publication formats (blogs, feeds, tweets).</blockquote>
This is more than just [[wikipedia:Link_rot|link rot]], it's the increasing complexity of keeping alive indie content on the web, leading to a reliance on platforms and time-sorted publication formats (blogs, feeds, tweets).</blockquote>


== Suggestions ==
==Suggestions==
Ideally, this should be a guide, but there is no one-size-fits-all guide to "achieve permacompute nirvana". So here's a list of my own suggestions/"guidelines":
Ideally, this should be a guide, but there is no one-size-fits-all guide to "achieve permacompute nirvana". So here's a list of my own suggestions/"guidelines":


Line 26: Line 26:
If you've seen [[User:Rudxain/Unix|my Unix article]], you probably already know that [[wikipedia:POSIX|POSIX]] [https://pubs.opengroup.org/onlinepubs/9799919799/idx/utilities.html utilities] are the best practical/pragmatic choice. Most notably, <code>sh</code> and [[wikipedia:C_(programming_language)|C]] are the most popular, so you can assume they're portable simply because of their ubiquity. There's even a project that allows compiling C into ''extremely''-portable executables.<ref>https://justine.lol/cosmopolitan/</ref>
If you've seen [[User:Rudxain/Unix|my Unix article]], you probably already know that [[wikipedia:POSIX|POSIX]] [https://pubs.opengroup.org/onlinepubs/9799919799/idx/utilities.html utilities] are the best practical/pragmatic choice. Most notably, <code>sh</code> and [[wikipedia:C_(programming_language)|C]] are the most popular, so you can assume they're portable simply because of their ubiquity. There's even a project that allows compiling C into ''extremely''-portable executables.<ref>https://justine.lol/cosmopolitan/</ref>


[[wikipedia:Hundred_Rabbits#Permacomputing|100R]] recommends [[wikipedia:Forth_(programming_language)|Forth]].
100R recommends [[wikipedia:Forth_(programming_language)|Forth]].


There's also [[wikipedia:Zig_(programming_language)|Zig]], which has "reusable software" as part of its slogan. It also has good-enough C [[wikipedia:Interoperability|interop]]. However, it's still in an [[wikipedia:API#Public_API_implications|API-unstable]] state, so you'll have to wait before everything is settled.
There's also [[wikipedia:Zig_(programming_language)|Zig]], which has "reusable software" as part of its slogan. It also has good-enough C [[wikipedia:Interoperability|interop]]. However, it's still in an [[wikipedia:API#Public_API_implications|API-unstable]] state, so you'll have to wait before everything is settled.