This commit is contained in:
Miloslav Ciz 2024-02-04 07:54:26 +01:00
parent 16fc4bbb12
commit 76147e3778
11 changed files with 92 additions and 51 deletions

View file

@ -26,4 +26,6 @@ Here there will be a constantly WIP list of [books](book.md) that might be of in
- **Tricks of the Game Programming Gurus** (1994): Very nice, readable book, that implements a whole 90s shooter game in [C](c.md), without drowning the reader in tons of equations and smartass talk. It's written with the 90s mindset and in common language, contains many practical tricks for optimizing the code etc.
- **The Nostalgia Nerd's Retro Tech**: Nice small database of all the old consoles/computers (SNES, Amiga, C64, ...), each one with high quality photos, short summary, specs and notable games. There is not much text, it's more like tl;drs of the most important stuff, it's an ideal overview of the old computers for a newcomers but can also serve as a quick reference to anyone.
- older books by **Andreas Eschbach** { The new ones seemed to have some Feminist shit etc., had to stop reading it :D ~drummyfish }, mainly **Carpet Makers** and **Jesus Video**: This is not directly related to LRS but it feels right to mention one of the most underrated [sci-fi](sci_fi.md) authors here -- many LRS followers will probably appreciate high quality sci-fi dealing with super interesting topics that are at least loosely related to LRS. Really Eschbach is so superior to just 99% of all sci-fi you'll encounter, his books are extremely readable, believable and greatly interesting in choosing topics, he makes you think about society, religion etcetc. Spoilers probably won't help, just go check out the books.
- ...
- ...
{ TODO (have to read first): Lisp From Nothing (implementing minimal self-hosted Lisp, CC0 code!). ~drummyfish }

View file

@ -2,7 +2,7 @@
Brainfuck is an extremely simple, untyped [esoteric programming language](esoland.md); simple by its specification (consisting only of 8 commands) but intentionally very hard to program in. It works similarly to a pure [Turing machine](turing_machine.md). In a way it is kind of [beautiful](beauty.md) by its [simplicity](minimalism.md). It is very easy to write your own brainfuck [interpreter](interpreter.md).
There exist [self-hosted](self_hosting.md) brainfuck interpreters which is pretty fucked up.
There exist [self-hosted](self_hosting.md) brainfuck interpreters and compilers (i.e. themselves written in brainfuck) which is pretty fucked up. The smallest one is probably the one called [dbfi](dbfi.md) which has only slightly above 400 characters, that's incredible!!! (Esolang wiki states that it's one of the smallest self interpreters among imperative languages).
The language is based on a 1964 language P´´ which was published in a mathematical paper; it is very similar to brainfuck except for having no [I/O](io.md).

2
c.md
View file

@ -66,7 +66,7 @@ The standard library (libc) is a subject of live debate because while its interf
Nothing is [perfect](perfect.md), not even C; it was one of the first relatively higher level languages and even though it has showed to have been designed extremely well, some things didn't age great, or were simply bad from the start. We still prefer this language as usually the best choice, but it's good to be aware of its downsides or smaller issues, if only for the sake of one day designing a better language. Keep in mind all here are just suggestions, they made of course be a subject to counter arguments and further discussion. So, let's go:
- **C specification (the ISO standard) is [proprietary](proprietary.md)** :( The language itself probably can't be copyrighted, nevertheless this may change in the future, and a proprietary specs lowers C's accessibility and moddability (you can't make derivative versions of the spec).
- **The specification is also long as fuck**, indicating [bloat](bloat.md)/complexity/obscurity. A good, free language should have a simple definition. It could be simplified a lot by simplifying the language itself as well as dropping some truly legacy considerations (like [BCD](bcd.md) systems?) and removing a lot of undefined behavior.
- **The specification is also long as fuck** (approx. 500 pages), indicating [bloat](bloat.md)/complexity/obscurity. A good, free language should have a simple definition. It could be simplified a lot by simplifying the language itself as well as dropping some truly legacy considerations (like [BCD](bcd.md) systems?) and removing a lot of undefined behavior.
- **Some behavior is weird and has exceptions**, for example a function can return anything, including a `struct`, except for an array. This makes it awkward to e.g. implement vectors which would best be made as arrays but you want functions to return them, so you may do hacks like wrapping them instide a struct just for this.
- **Some things could be made simpler**, e.g. using [reverse polish](reverse_polish.md) notation for expressions, rather than expressions with brackets and operator precedence, would make implementations much simpler, increasing sucklessness (of course readability is an argument).
- **Some things could be dropped entirely** ([enums](enum.md), [bitfields](bitfield.md), possibly also unions etc.), they can be done and imitated in other ways without much hassle.

2
cc0.md
View file

@ -10,4 +10,4 @@ CC0 is recommended by [LRS](lrs.md) for both programs and other art -- however f
It's nice that CC0 became quite widely used and you can find a lot of material under this waiver, but **BEWARE**, if you find something under CC0, do verify it's actually valid, normies often don't know what CC0 means and happily post derivative works of proprietary stuff under CC0.
Some **things under CC0** include Librivox audiobooks, [Dusk OS](duskos.md), great many things on [Wikimedia Commons](wikimedia_commons.md), opengameart, Blendswap and freesound, whole [Esolang Wiki](esolang.md), OSdev Wiki (since 2011), [Encyclopedia Dramatica](dramatica.md), [LRS](lrs.md) software ([Anarch](anarch.md), [small3dlib](small3dlib.md), [raycastlib](raycastlib.md), [SAF](saf.md), [comun](comun.md)), Lix (libre game) and many others.
Some **things under CC0** include Librivox audiobooks, [Dusk OS](duskos.md), great many things on [Wikimedia Commons](wikimedia_commons.md), opengameart, Blendswap and freesound, whole [Esolang Wiki](esolang.md), OSdev Wiki (since 2011), [Encyclopedia Dramatica](dramatica.md), [LRS](lrs.md) software ([Anarch](anarch.md), [small3dlib](small3dlib.md), [raycastlib](raycastlib.md), [SAF](saf.md), [comun](comun.md)), Lix (libre game), evlisp minimalist [Lisp](lisp.md) (from book "Lisp From Nothing") and many others.

View file

@ -1,6 +1,6 @@
# Forth
Forth ("fourth generation" shortened to four characters due to technical limitations) is a very good [minimalist](minimalism.md) [stack](stack.md)-based untyped [programming language](programming_language.md) that uses [postfix](notation.md) (reverse Polish) notation. Its vanilla form is yet much simpler than [C](c.md), it's very [elegant](elegant.md) and its compiler/interpreter can be made very easily, giving it high practical freedom (i.e. not being practically controlled by any central organization); it is used e.g. in space technology (e.g. [RTX2010](rtx2010.md), a radiation hardened space computer directly executing Forth) and [embedded](embedded.md) systems as a way to write efficient [low level](low_level.md) programs that are, unlike those written in [assembly](assembly.md), [portable](portability.md) (fun fact: there even exist computers directly running Forth in hardware). Forth was the main influence for [Comun](comun.md), the [LRS](lrs.md) programming language, it is also used by [Collapse OS](collapseos.md) and [Dusk OS](duskos.md) as the main language. In its minimalism Forth competes a bit with [Lisp](lisp.md).
Forth ("fourth generation" shortened to four characters due to technical limitations) is a very good, extremely [minimal](minimalism.md) [stack](stack.md)-based untyped [programming language](programming_language.md) that uses [postfix](notation.md) (reverse Polish) notation. Its vanilla form is super simple, it's miles simpler than [C](c.md), it's very [elegant](elegant.md) and its compiler/interpreter can be made very easily, giving it high practical freedom (i.e. not being practically controlled by any central organization). As of writing this the smallest Forth implementation, [milliforth](milliforth.md), has just **340 bytes** (!!!) of machine code, that's just incredible. Forth is used e.g. in [space](space.md) technology (e.g. [RTX2010](rtx2010.md), a radiation hardened space computer directly executing Forth) and [embedded](embedded.md) systems as a way to write efficient [low level](low_level.md) programs that are, unlike those written in [assembly](assembly.md), [portable](portability.md) (fun fact: there even exist computers directly running Forth in hardware). Forth was the main influence for [Comun](comun.md), the [LRS](lrs.md) programming language, it is also used by [Collapse OS](collapseos.md) and [Dusk OS](duskos.md) as the main language. In its minimalism Forth competes a bit with [Lisp](lisp.md).
{ It's kinda like usable [brainfuck](brainfuck.md). Also there used to be a nice Forth wiki at wiki.forthfreak.net, now it has to be accessed via archive as it's dead. ~drummyfish }

View file

@ -1,13 +1,17 @@
# Go (Programming Language)
Go (also golang) is a compiled [programming language](programming_language.md) advertised as the the "[modern](modern.md)" [C](c.md) and is co-authored by one of C's authors, [Ken Thompson](ken_thompson.md). Neverheless Go is actually [shit](shit.md) compared to C. Some reasons for this are:
Go (also golang) is a compiled [programming language](programming_language.md) advertised as the the "[modern](modern.md)" successor to [C](c.md) and is co-authored by one of C's authors, [Ken Thompson](ken_thompson.md). Of all the new language go is one of the least [harmful](harmful.md), however it's still quite [shit](shit.md). Some reasons for this are:
- It is developed by [Google](google.md) and presented as "[open-source](open_source.md)" (not [free software](free_software.md)).
- It downloads additional [dependencies](dependency.md) during compilation, a huge defect due to which it's been rejected e.g. from [HyperbolaBSD](hyperbolabsd.md) (https://wiki.hyperbola.info/doku.php?id=en:philosophy:incompatible_packages).
- It has (classless) [OOP](oop.md) features.
- It has [bloat](bloat.md) such as [garbage collection](garbage_collection.md), built-in [complex number](complex_number.md) type, [concurrency](concurrency.md) and something akin a [package manager](package_manager.md) (*go get/install*).
- It forces a programming style in which an opening function bracket (`{`) can't be on its own line. LMAO
- It forces a programming style in which an opening function bracket (`{`) can't be on its own line. [LMAO](lmao.md)
- Huge standard library with shit like crypto, image and html.
- ...
Anyway, it at least tries to stay *somewhat* simple in some areas and as such is probably better than other modern languages like [Rust](rust.md). It purposefully omits features such as [generics](generics.md) or static type conversions, which is good. But rather don't use it.
Anyway, it at least tries to stay *somewhat* simple in some areas and as such is probably better than other modern languages like [Rust](rust.md). It purposefully omits features such as [generics](generics.md) or static type conversions, which is good.
**How big is it really?** The official implementation by Google has whopping 2 million lines of code of self hosted implementation -- that's ginormous but keep in mind Google would likely implement minesweeper in two million lines of code too, so it may say little. Size of specification may be more informative -- that one has about 100 pages (after converting the official HTML specs to pdf), that's actually about 5 times fewer than that of C, so that's not bad.
As of february 2024 there is no [code of conduct](coc.md) in the official repo, that's good too.

View file

@ -24,37 +24,37 @@ A computer language consists from two main parts:
Here is a table of notable programming languages in chronological order (keep in mind a language usually has several versions/standards/implementations, this is just an overview).
| language | minimalist/good? | since | notes |
| ----------------------- | ---------------- | ----- | ---------------------------------------------------------------------- |
|"[assembly](assembly.md)"| **yes** but... | 1947? | NOT a single language, non-[portable](portability.md) |
|[Fortran](fortran.md) | **kind of** | 1957 | similar to Pascal, compiled, fast, was used by scientists a lot |
| [Lisp](list.md) | **yes** | 1958 | elegant, KISS, functional, many variants (Common Lisp, Closure, ...) |
| [Basic](basic.md) | kind of? | 1964 | mean both for beginners and professionals, probably efficient |
| [Forth](forth.md) | **yes** | 1970 | [stack](stack.md)-based, elegant, very KISS, interpreted and compiled |
| [Pascal](pascal.md) | **kind of** | 1970 | like "educational C", compiled, not so bad actually |
| **[C](c.md)** | **kind of** | 1972 |compiled, fastest, efficient, established, suckless, low-level, #1 lang.|
| [Prolog](prolog.md) | maybe? | 1972 | [logic](logic.md) paradigm, hard to learn/use |
|[Smalltalk](smalltalk.md)| looks like yes? | 1972 | PURE [OOP](oop.md) language, probably not as corrupt as C++/Java/... |
| [C++](cpp.md) | no, bearable | 1982 |bastard child of C, only adds [bloat](bloat.md) ([OOP](oop.md)), "games"|
| [Ada](ada.md) | ??? | 1983 | { No idea about this, sorry. ~drummyfish } |
| Object Pascal | no | 1986 | Pascal with OOP (like what C++ is to C), i.e. only adds bloat |
| Objective-C | probably not | 1986 | kind of C with Smalltalk-style "pure" objects? |
| [Perl](perl.md) | rather not | 1987 | interpreted, focused onstrings, has kinda cult following |
| [Bash](bash.md) | well | 1989 | Unix scripting shell, very ugly syntax, not so elegant but bearable |
|[Haskell](haskell.md) | **kind of** | 1990 | [functional](functional.md), compiled, acceptable |
|[Python](python.md) | NO | 1991 | interpreted, huge bloat, slow, lightweight OOP, artificial obsolescence|
|[Brainfuck](brainfuck.md)| **yes** | 1993 | extremely minimal (8 commands), hard to use, [esolang](esolang.md) |
| [Lua](lua.md) | **kind of** | 1993 | interpreted, mainly for scripting (used a lot in games) |
| [Java](java.md) | NO | 1995 | forced [OOP](oop.md), "platform independent" (bytecode), slow, bloat |
| [JavaScript](js.md) | NO | 1995 | interpreted, the [web](web.md) lang., bloated, classless [OOP](oop.md) |
| [PHP](php.md) | no | 1995 | server-side web lang., OOP |
| [Ruby](ruby.md) | no | 1995 | similar to Python |
| [C#](c_sharp.md) | NO | 2000 | proprietary (yes it is), extremely bad lang. owned by Micro$oft, AVOID |
| [D](d.md) | no | 2001 | some expansion/rework of C++? OOP, generics etcetc. |
| [Rust](rust.md) | NO! lol | 2006 |extremely bad, slow, freedom issues, toxic community, no standard, AVOID|
| [Go](go.md) | **kind of** | 2009 | "successor to C" but not well executed, bearable but rather avoid |
| [LIL](lil.md) | **yes** | 2010? | not known too much but nice, "everything's a string" |
| **[comun](comun.md)** | **yes** | 2022 | "official" [LRS](lrs.md) language, WIP, similar to Forth |
| language | minimalist/good? | since |~min. selfhos. impl. LOC | notes |
| ----------------------- | ---------------- | ----- | --------------------- | ---------------------------------------------------------------------- |
|"[assembly](assembly.md)"| **yes** but... | 1947? | | NOT a single language, non-[portable](portability.md) |
|[Fortran](fortran.md) | **kind of** | 1957 | | similar to Pascal, compiled, fast, was used by scientists a lot |
| [Lisp](list.md) | **yes** | 1958 | 100 (judg. by jmc lisp) | elegant, KISS, functional, many variants (Common Lisp, Closure, ...) |
| [Basic](basic.md) | kind of? | 1964 | | mean both for beginners and professionals, probably efficient |
| [Forth](forth.md) | **yes** | 1970 |100 (judg. by milliforth)| [stack](stack.md)-based, elegant, very KISS, interpreted and compiled |
| [Pascal](pascal.md) | **kind of** | 1970 | | like "educational C", compiled, not so bad actually |
| **[C](c.md)** | **kind of** | 1972 | 25K (tcc) |compiled, fastest, efficient, established, suckless, low-level, #1 lang.|
| [Prolog](prolog.md) | maybe? | 1972 | | [logic](logic.md) paradigm, hard to learn/use |
|[Smalltalk](smalltalk.md)| looks like yes? | 1972 | | PURE [OOP](oop.md) language, probably not as corrupt as C++/Java/... |
| [C++](cpp.md) | no, bearable | 1982 | |bastard child of C, only adds [bloat](bloat.md) ([OOP](oop.md)), "games"|
| [Ada](ada.md) | ??? | 1983 | | { No idea about this, sorry. ~drummyfish } |
| Object Pascal | no | 1986 | | Pascal with OOP (like what C++ is to C), i.e. only adds bloat |
| Objective-C | probably not | 1986 | | kind of C with Smalltalk-style "pure" objects? |
| [Perl](perl.md) | rather not | 1987 | | interpreted, focused onstrings, has kinda cult following |
| [Bash](bash.md) | well | 1989 | | Unix scripting shell, very ugly syntax, not so elegant but bearable |
|[Haskell](haskell.md) | **kind of** | 1990 | | [functional](functional.md), compiled, acceptable |
|[Python](python.md) | NO | 1991 | | interpreted, huge bloat, slow, lightweight OOP, artificial obsolescence|
|[Brainfuck](brainfuck.md)| **yes** | 1993 | 100 (judg. by dbfi) | extremely minimal (8 commands), hard to use, [esolang](esolang.md) |
| [Lua](lua.md) | **kind of** | 1993 | | interpreted, mainly for scripting (used a lot in games) |
| [Java](java.md) | NO | 1995 | | forced [OOP](oop.md), "platform independent" (bytecode), slow, bloat |
| [JavaScript](js.md) | NO | 1995 | 50K (est. from QuickJS) | interpreted, the [web](web.md) lang., bloated, classless [OOP](oop.md) |
| [PHP](php.md) | no | 1995 | | server-side web lang., OOP |
| [Ruby](ruby.md) | no | 1995 | | similar to Python |
| [C#](c_sharp.md) | NO | 2000 | | proprietary (yes it is), extremely bad lang. owned by Micro$oft, AVOID |
| [D](d.md) | no | 2001 | | some expansion/rework of C++? OOP, generics etcetc. |
| [Rust](rust.md) | NO! lol | 2006 | |extremely bad, slow, freedom issues, toxic community, no standard, AVOID|
| [Go](go.md) | **kind of** | 2009 | | "successor to C" but not well executed, bearable but rather avoid |
| [LIL](lil.md) | **yes** | 2010? | | not known too much but nice, "everything's a string" |
| **[comun](comun.md)** | **yes** | 2022 | < 5K | "official" [LRS](lrs.md) language, WIP, similar to Forth |
## Interesting Programming Languages

29
progress.md Normal file
View file

@ -0,0 +1,29 @@
# Progress
TODO
It's important to realize that by definition the only true progress that matters is just that which gets us closer to our [ideal society](less_retarded_society.md), i.e. progress is only that which makes the life of every individual better as a whole and all other kinds of "progress", such as [technological](tech.md), [scientific](science.md), artistic, political and so on only exist SOLELY to serve the main progress of well being of individuals. A thousand year leap in technological development is worth absolutely nothing if it doesn't serve the main goal, it's useless if we can send a car to space, harvest energy of a whole star or find the absolute meaning of life if that doesn't serve the main goal -- in fact such "progress" is [nowadays](21st_century.md) mostly made so that it works AGAINST the main goal, i.e. [corporations](corporation.md) develop more complicated technology to exploit people more and make them more miserable -- that is not true progress, it is its exact opposite.
Here is a comparison of what TRUE progress is and what it isn't:
| what | before | after | is it progress? |
| --------------------------------------------------- | ------------------------------- | ------------------------------- | ---------------- |
| You see food, can you just eat it? | yes | no, you have to pay for it | no, the opposite |
| Can you draw the same picture as someone else? | yes | no, because of copy"right" | no, the opposite |
| Can you walk around naked? | yes | no | no, the opposite |
| Can you pee wherever you want? | yes | no | no, the opposite |
| Do you have to remember ten different passwords? | no | yes | no, the opposite |
| Can you drink river water? | yes | no, likely has toxic chemicals | no, the opposite |
| Do you have to check your bank account often? | no, there are no banks | yes | no, the opposite |
| You have to do something you hate most of the day? | yes, e.g. work on the field | yes, e.g. work on a computer | no |
| Are you forced to work? | yes, with a whip | yes, with law/tech/consumerism | no |
| Can your society do something spectacular? | yes, build a pyramid |yes, fly a toy helicopter on Mars| no |
| You are sick, will you get treatment? | only if you're special (noble) | only if you're special (rich) | no |
| Will you get education? | only if you're special (noble) | only if you're special (rich) | no |
| What do you kill each other with? | sticks | machine guns | no |
| Can you do something you enjoy most of the day? | no | yes | yes |
| Can you talk to someone on the other side of Earth? | no | yes, thanks to Internet | yes |
| Can you have sex with anyone you want? | no | yes | yes |
| How long will you likely live? | not beyond 50 | probably above 65 | yes |
| Can you communicate complex ideas to others? | no (apes) | yes, thanks to language | yes |
| What do you kill each other with? | sticks | nothing | yes |

File diff suppressed because one or more lines are too long

View file

@ -2,9 +2,9 @@
This is an autogenerated article holding stats about this wiki.
- number of articles: 545
- number of commits: 676
- total size of all texts in bytes: 2832657
- number of articles: 546
- number of commits: 677
- total size of all texts in bytes: 2846399
longest articles:
@ -24,6 +24,19 @@ longest articles:
latest changes:
```
Date: Sat Feb 3 22:30:33 2024 +0100
bloat.md
cc0.md
cpu.md
debugging.md
free_hardware.md
jokes.md
open_console.md
privacy.md
programming_tips.md
usenet.md
wiki_pages.md
wiki_stats.md
Date: Fri Feb 2 08:28:14 2024 +0100
ancap.md
cat_v.md
@ -45,13 +58,6 @@ turing_machine.md
wiki_pages.md
wiki_stats.md
Date: Wed Jan 31 00:35:22 2024 +0100
trolling.md
wiki_pages.md
wiki_stats.md
Date: Tue Jan 30 22:35:23 2024 +0100
cpu.md
wiki_pages.md
wiki_stats.md
```
most wanted pages:

View file

@ -1,6 +1,6 @@
# YouTube
YouTube (also JewTube) is a huge, [censored](censorship.md) [proprietary](proprietary.md) [capitalist](capitalism.md) video [consuming](consumerism.md) "website"/platform, since 2006 seized by the [Google](google.md) terrorist organization. It has become the monopoly "video content platform", everyone uploads his videos there and so everyone is forced to use that shitty site from time to time to view some tutorial or whatnot. YouTube is based on content consumerism, aggressive predatory marketing, [copyright trolling](copyright_troll.md), propaganda and general abuse of its [useds](used.md) -- it is financed from surveillance-powered ads as well as sponsor propaganda inserted into videos. Alternatives to YouTube, such as [bitchute](bitchute.md), the "rightist" YouTube, never really caught on very much -- YouTube is sadly synonymous with online videos just as Google is synonymous with searching the web. This is of course extremely, extremely, extremely, extremely bad.
YouTube (also JewTube { Lol jewtube.com actually exists. ~drummyfish}) is a huge, [censored](censorship.md) [proprietary](proprietary.md) [capitalist](capitalism.md) video [consuming](consumerism.md) "website"/platform, since 2006 seized by the [Google](google.md) terrorist organization. It has become the monopoly "video content platform", everyone uploads his videos there and so everyone is forced to use that shitty site from time to time to view some tutorial or whatnot. YouTube is based on content consumerism, aggressive predatory marketing, [copyright trolling](copyright_troll.md), propaganda and general abuse of its [useds](used.md) -- it is financed from surveillance-powered ads as well as sponsor propaganda inserted into videos. Alternatives to YouTube, such as [bitchute](bitchute.md), the "rightist" YouTube, never really caught on very much -- YouTube is sadly synonymous with online videos just as Google is synonymous with searching the web. This is of course extremely, extremely, extremely, extremely bad.
{ https://www.vidlii.com seems alright though, at least as a curiosity. Anyway if you need to watch YouTube, do not use their website, it's shitty as hell and you will die of ad cancer, rather use something like invidious or youtube-dl. Here is an **awesome hack I discovered to search only old videos on youtube**! The new shit is just unwatchable, there's clickbait, sponsors, propaganda, SJW shit everywhere, thankfully you can just exclude any year from the search with with "-year" (at least for now), for example: https://yewtu.be/search?q=free+software+-2023+-2022+-2021+-2020+-2019+-2018+-2017+-2016+-2015+-2014+-2013+-2012+-2011+-2010+-2009&page=1&date=none&type=video&duration=none&sort=relevance. Enjoy. ~drummyfish }