User:Rudxain/Permacomputing: Difference between revisions
add prog-lang section |
mNo edit summary |
||
| Line 9: | Line 9: | ||
*'''Sustainability'''. The most important one! | *'''Sustainability'''. The most important one! | ||
=== Programming languages === | ===Programming languages=== | ||
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> | ||
| Line 18: | Line 18: | ||
If you're a permacomputing ''extremist'', I'd recommend more "universal" langs, which tend to be [[wikipedia:Turing_tarpit|Turing tarpits]]: | If you're a permacomputing ''extremist'', I'd recommend more "universal" langs, which tend to be [[wikipedia:Turing_tarpit|Turing tarpits]]: | ||
* The [[wikipedia:Lambda_calculus|λ-Calculus]] family is, IMO, the most minimal of all. No way to beat it!<ref>{{Cite web |last=Tunney |first=Justine |date=2022-02-27 |title=Lambda Calculus in 383 Bytes |url=https://justine.lol/lambda/ |access-date=2026-04-26}}</ref> | *The [[wikipedia:Lambda_calculus|λ-Calculus]] family is, IMO, the most minimal of all. No way to beat it!<ref>{{Cite web |last=Tunney |first=Justine |date=2022-02-27 |title=Lambda Calculus in 383 Bytes |url=https://justine.lol/lambda/ |access-date=2026-04-26}}</ref> | ||
* The [[wikipedia:Lisp_(programming_language)|Lisp]] family is the best example of syntactical/grammatical simplicity. But some can be semantically complex.<ref>{{Cite web |last=Tunney |first=Justine |date=2021-10-30 |title=SectorLISP Now Fits in One Sector |url=https://justine.lol/sectorlisp/ |access-date=2026-04-26}}</ref> | *The [[wikipedia:Lisp_(programming_language)|Lisp]] family is the best example of syntactical/grammatical simplicity. But some can be semantically complex.<ref>{{Cite web |last=Tunney |first=Justine |date=2021-10-30 |title=SectorLISP Now Fits in One Sector |url=https://justine.lol/sectorlisp/ |access-date=2026-04-26}}</ref> | ||
* Any lang that has an almost 1-to-1 mapping to [[wikipedia:Turing_machine|Turing Machines]] (such as [[wikipedia:Brainfuck|Brainfuck]]), is also a good candidate, since they're easy to implement on real computers. But they can be quite slow because of their [[wikipedia:Sequential_access_memory|sequential-access memory]]. You might want a [[wikipedia:Random-access_machine|RAM]]. | *Any lang that has an almost 1-to-1 mapping to [[wikipedia:Turing_machine|Turing Machines]] (such as [[wikipedia:Brainfuck|Brainfuck]]), is also a good candidate, since they're easy to implement on real computers. But they can be quite slow because of their [[wikipedia:Sequential_access_memory|sequential-access memory]]. You might want a [[wikipedia:Random-access_machine|RAM]]. | ||
If care more about reliability and [[wikipedia:Fault_tolerance|fault tolerance]] than simplicity: | If you care more about reliability and [[wikipedia:Fault_tolerance|fault tolerance]] than simplicity: | ||
* 🦀 [[wikipedia:Rust_(programming_language)|Rust]]. My fav <s>and my wife, but I'm considering an affair with Zig</s>. | *🦀 [[wikipedia:Rust_(programming_language)|Rust]]. My fav <s>and my wife, but I'm considering an affair with Zig</s>. | ||
* [[wikipedia:Erlang_(programming_language)|Erlang]] and [[wikipedia:Elixir_(programming_language)|Elixir]] | *[[wikipedia:Erlang_(programming_language)|Erlang]] and [[wikipedia:Elixir_(programming_language)|Elixir]] | ||
* [[wikipedia:Ada_(programming_language)|Ada]] | *[[wikipedia:Ada_(programming_language)|Ada]] | ||
==External links== | ==External links== | ||
| Line 38: | Line 38: | ||
*[[Projects:Archive everything|Archive everything]] | *[[Projects:Archive everything|Archive everything]] | ||
<references /> | |||