master
Miloslav Ciz 5 months ago
parent 76147e3778
commit 1ae8bf1e9d

@ -66,12 +66,12 @@ 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** (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.
- **The specification is also long as fuck** (approx. 500 pages, our of that 163 of the pure language), 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.
- **The preprocessor isn't exactly elegant**, it has completely different syntax and rules from the main language, not very suckless -- ideally preprocessor uses the same language as the base language.
- **The syntax is sucky sometimes**, e.g. data type names may consist of multiple tokens (`long long int` etc.), multiplication uses the same symbol as pointer dereference (`*`), also it's pretty weird that the condition after `if` has to be in brackets etc., it could be designed better. Keywords also might be better being single chars, like `?` instead of `if` etc. A shorter, natural-language-neutral source code would be probably better. Both line and block comments could be implemented with a single character (e.g. `#` for line comment, ending with a newline or another `#`, `##` for block comment ending with another `##`?).
- **The syntax is sucky sometimes**, e.g. case with variable inside it HAS TO be enclosed in curly brackets but other ones don't, data type names may consist of multiple tokens (`long long int` etc.), multiplication uses the same symbol as pointer dereference (`*`), also it's pretty weird that the condition after `if` has to be in brackets etc., it could be designed better. Keywords also might be better being single chars, like `?` instead of `if` etc. (see [comun](comun.md)). A shorter, natural-language-neutral source code would be probably better. Both line and block comments could be implemented with a single character (e.g. `#` for line comment, ending with a newline or another `#`, `##` for block comment ending with another `##`?).
- **Some undefined/unspecified behavior would maybe be better defined/specified** -- undefined behavior isn't bad in general, it is what allows C to be so fast and efficient in the first place, but some of it has shown to be rather cumbersome; for example the unspecified representation of integers, their binary size and behavior of floats leads to a lot of trouble (unknown upper bounds, sizes, undefined behavior of many operators etc.) while practically all computers have settled on using 8 bit bytes, [two's complement](twos_complement.md) and IEEE754 for [floats](float.md) -- this could easily be made a mandatory assumption which would simplify great many things without doing basically any harm. New versions of C actually already settle on two's complement. This doesn't mean C should be shaped to reflect the degenerate "[modern](modern.md)" trends in programming though!
- Some basic things that are part of libraries or extensions, like fixed width types and binary literals and possibly very basic I/O (putchar/readchar), could be part of the language itself rather than provided by libraries.
- All that stuff with *.c* and *.h* files is unnecessary, there should just be one file type -- this isn't part of the language per se, but it's part of its culture.
@ -189,4 +189,4 @@ RETURN_TYPE myFunction (TYPE1 param1, TYPE2 param2, ...)
- [Fortran](fortran.md)
- [LISP](lisp.md)
- [FORTH](forth.md)
- [memory management](memory_management.md) in C
- [memory management](memory_management.md) in C

@ -1,3 +1,3 @@
# C++
C++ (also crippled C) is an [object-obsessed](oop.md) [joke](jokes.md) language based on [C](c.md) to which it adds only [capitalist](capitalist_software.md) features and [bloat](bloat.md), most notably [object obsession](oop.md). Most good programmers such as [Richard Stallman](rms.md) and [Linus Torvalds](linus_torvalds.md) agree that C++ is hilariously messy and also tragic in that it actually succeeded to become mainstream. The language creator [Bjarne Stroustrup](stroustrup.md) himself infamously admitted the language suck but laughs at its critics because it became successful anyway -- indeed, in a retarded society only [shit](shit.md) can succeed. As someone once said, "C++ is not an increment, it is excrement".
C++ (also crippled C) is an [object-obsessed](oop.md) [joke](jokes.md) language based on [C](c.md) to which it adds only [capitalist](capitalist_software.md) features and [bloat](bloat.md), most notably [object obsession](oop.md). Most good programmers such as [Richard Stallman](rms.md) and [Linus Torvalds](linus_torvalds.md) agree that C++ is hilariously messy and also tragic in that it actually succeeded to become mainstream. The language creator [Bjarne Stroustrup](stroustrup.md) himself infamously admitted the language suck but laughs at its critics because it became successful anyway -- indeed, in a retarded society only [shit](shit.md) can succeed. As someone once said, "C++ is not an increment, it is excrement". C++ specification has **over 2000 pages** :D

@ -6,6 +6,30 @@ Feminism, also feminazism or femifascism, is a [fascist](fascism.md) [terrorist]
A quite nice article on feminism can also be found on the [incel](incel.md) wiki at https://incels.wiki/w/Feminism. { A friend also recommended a text called *Counter-Advice From The Third Sex*, possibly check it out. ~drummyfish }
Some notable things feminists managed to achieve are:
- Women hate men.
- Men hate women.
- Women are now [slaves](work.md) too, they have to pursue career instead of being able to enjoy stress-free time at home.
- People are scared of physical touch, eye contact, even talking. Touching a stranger by accident can mean a lawsuit.
- Men are pushed to forming fascist counter movement such as [MGTOW](mgtow.md).
- Men actually being nice to women, e.g. holding a door open for them, is seen as hostility.
- Actual good achievements of women are now dismissed because everyone supposes the success was fabricated as part of ever present feminist propaganda, hurting the few truly skilled women.
- Women refuse to have children.
- Even if a woman has a child, she has it late and doesn't take proper care of it, all because she is supposed to pursue a career and compete with men.
- Women refuse to date men, men are depressed and commit [suicides](suicide.md) (see [incel](incel.md)).
- Stronger [sexism](sexism.md), people now believe women are better than men, that man is automatically something to fear etc.
- There are more [bullshit](bullshit.md) jobs such as diversity departments etc.
- Industries such as those of [technology](tech.md), [science](science.md), movies etc. all go to absolute shit because of incompetent women FORCED there because "we need more strong women everywhere".
- Strong propaganda everywhere, destroying all [art](art.md), truth about history etc.
- Women are more stressed because their capabilities are overestimated by the propaganda, a young girl is told she is better than a man and she is expected to beat men; in reality she finds out she can't beat a man and becomes depressed, thinking she is extremely inferior while she is just a normal woman.
- [Censorship](censorship.md) of basically all old art such as movies without enough women in them, movies that make any kind of fun of any woman, movies that show any woman as weak etc.
- Women marry women and raise children who lack fathers, something that's objectively extremely bad from psychological point of view. Ask literally anyone who grew up without a father if he missed having one.
- People believe literal lies such as that a woman is physically stronger and more intelligent than man.
- Eye contact is perceived as [rape](rape.md).
- Because all the above everyone is hostile, stressed, scared, depressed, society is in tension, leading to even faster downfall.
- ...
{ [LMAO](lmao.md), **a supposed woman writer who won 1 million euro prize turned out to actually be three men writers**, see Carmen Mola :) Also the recent "historically first all female space walk" during which they managed to lose $100K worth of equipment :D ~drummyfish }
If anything's clear, then that feminism is not at all about gender equality but about hatred towards men. Firstly feminism is not called *gender equality movement* but *feminism*, i.e. for-female, and as we know, [name plays a huge role](name_is_important.md). To a feminist man is what a [jew](jew.md) was to the Nazi; the whole story is repeated again, we have yet again not learned a bit from our history. Indeed, women have historically been oppressed and needed support, but once women reach social equality -- which has basically already happened a long time ago now -- feminist movement will, if only by [social inertia](social_inertia.md), keep pursuing more advantages for women (what else should a movement called *feminism* do?), i.e. at this point the new goal has already become female superiority. In the age of capital no one is going to just dissolve a movement because it has already reached its goal, such a movement present political capital one will simply not throw out of window, so feminists will forever keep saying they're being oppressed and will forever keep inventing new bullshit issues to keep [fighting](fight_culture.md). Note for example that feminists care about things such as wage gap but of course absolutely don't give a damn about opposite direction inequality, such as men dying on average much younger than women etc. -- feminism cares about women, not equality. And of course, when men establish "men rights" movements, suddenly feminists see those as "fascist", "toxic" and "violent" and try to destroy such movements.

@ -12,6 +12,6 @@ Go (also golang) is a compiled [programming language](programming_language.md) a
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.
**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 130 pages (after converting the official HTML specs to pdf), that's a bit smaller than that of C (the pure language part has about 160 pages), 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.
As of february 2024 there is no [code of conduct](coc.md) in the official repo, that's good too.

@ -28,6 +28,8 @@ Our society is **[anarcho pacifist](anpac.md) and [communist](communism.md)**, m
**There is abundance of resources for everyone, poverty is non existent**, [artificial scarcity](artificial_scarcity.md) is no longer sustained by capitalism. There is enough food and accommodation for everyone, of course for free, as well as health care, access to information, entertainment, tools and so on. Where there used to be shopping centers, parking lots, government buildings and skyscrapers, there are now fields and food banks and people voluntarily collaborate on automating production of food on them.
**Our society is NOT fair**, everyone is happy whether he deserves it or not, happiness doesn't have to be deserved. In a fair society the talented is rewarded and the untalented suffers, the strong wins and the weak loses, fairness is about winning and losing, reward and punishment, therefore our society is unfair as there are no longer any winners or losers.
**States and [governments](government.md) don't exist**, there are no artificial borders. Society self regulates and consists of [decentralized](decentralization.md), mostly self-sufficient communities that utilize their local resources as much as they can and send abundant resources to communities that lack them. **The is no law** in the sense of complex written legislation, **no lawyers, courts and police**, society works on the principle of moral laws, education and [non-violent](nonviolence.md) actions (e.g. refusal of people to use money etc.). Communities aren't hugely [interdependent](dependency.md) and hyperspecialized as in capitalism so there is no danger of system [collapse](collapse.md). Many decisions nowadays taken by politicians, such as those regarding distribution of resources, are in our ideal society made by computers based on collected data and objective scientific criteria.
**Criminality doesn't exist**, there is no motivation for it as everyone has abundance of everything, no one carries guns, people don't see themselves as competing with others in life and everyone is raised in an environment that nurtures their peaceful, collaborative, selfless loving side. People with "criminal genes" have become extinct thanks to natural selection by people voluntarily choosing to breed with non-violent people. Conflict between people is minimized by the elimination of self interest (and need for it) -- a lot of violence in current society comes from disagreement which comes from everyone's different goals (everyone aims to benefit oneself); in our society this is no longer the case, people rarely disagree on essential decisions because decisions are driven by pure facts collected without distortion or suspicion of self interest.

@ -17,4 +17,6 @@ These practices are not rare, they are not even a behavior of a minority, they a
A naive idea still present among people is that ethical marketing is possible or that it's something that can be fixed by some law, a petition or something similar. In late stage capitalism this is not possible as an "ethical" marketing is a non effective marketing. Deciding to drop the most efficient weapons in the market warfare will only lead to the company losing customers to competition who embraces the unethical means, eventually going bankrupt and disappearing, leaving the throne to the bad guys. Laws will not help as laws are made to firstly favor the market, corporations pay full time lobbyists and law makers themselves are owners of corporations. Even if some small law against "unethical marketing" passes, the immense force and pressure of all the strongest corporations will work 24/7 on reverting the law and/or finding ways around it, legal or illegal, ethical or unethical.
**Marketing people are subhuman.** Of course, let us be reminded [we](lrs.md) love all living beings, even subhuman, but the marketing trash not only doesn't show any signs of conscience or [morals](morality.md), they hardly seems [conscious](consciousness.md) at all, they are just a robotic tool of [capitalism](capitalism.md), more akin monkeys -- however immoral shit they get into, they always just reply "[just doing my job](just_doing_my_job.md)" and "[it pays well](it_pays_well.md)" to anything. They make the worst kind of [propaganda](propaganda.md) which literally kills people, they would mercilessly torture children to death if it was on their contract. A capitalist is screeching HAHAHA IT NOT THE SAME bcuz CHILREN ARE MAGICAL n economy is pwogwesss, so this invalid. Indeed, it doesn't make any sense -- a capitalist will stay what it is, the lowest class of brainwashed [NPC](npc.md) incapable of thinking on its own. All in all, avoid anyone who has anything to do with marketing.
**Marketing people are subhuman.** Of course, let us be reminded [we](lrs.md) love all living beings, even subhuman, but the marketing trash not only doesn't show any signs of conscience or [morals](morality.md), they hardly seems [conscious](consciousness.md) at all, they are just a robotic tool of [capitalism](capitalism.md), more akin monkeys -- however immoral shit they get into, they always just reply "[just doing my job](just_doing_my_job.md)" and "[it pays well](it_pays_well.md)" to anything. They make the worst kind of [propaganda](propaganda.md) which literally kills people, they would mercilessly torture children to death if it was on their contract. A capitalist is screeching HAHAHA IT NOT THE SAME bcuz CHILREN ARE MAGICAL n economy is pwogwesss, so this invalid. Indeed, it doesn't make any sense -- a capitalist will stay what it is, the lowest class of brainwashed [NPC](npc.md) incapable of thinking on its own. All in all, avoid anyone who has anything to do with marketing.
No, there is no such thing as a "non-intrusive ad", fucking capitalists are trying to introduce a sense of guilt for not looking at what you don't wanna look. The only non-intrusive ad is that which you don't see or hear at all. Just [block](adblock.md) all that shit if you can.

@ -120,7 +120,7 @@ Also an alternative to having a top bucket full of marbles going to the bottom b
NOTE: Balls, or potentially other "falling/moving objects", may be used to perform computation also in other ways than we'll describe further on -- some of the alternative approaches are for example:
- The **[billiard ball computer](billiard_ball_computer.md)** (which also has a great advantage of performing reversible computation).
- The **[billiard ball computer](billiard_ball_computer.md)** (which also has a great advantage of performing [reversible computation](reversible_computing.md)).
- Another possible idea is that of the falling object ITSELF encoding a value (likely just a bit), for example imagine some kind of arrow shape which itself represents either 1/0 by pointing up/down, changing its orientation as it passes through the gates (we would also have to ensure the orientation can't change spontaneously on its own of course).
- A bit can also be represented by presence/absence of the marble -- this is utilized e.g. by *binary marbles* (https://binarymarbles.weebly.com/how-it-works.html). For example the AND gate is implemented by one input marble falling into a hole, making a "bridge" for the other marble that then overcomes the hole and reaches output. Timing may play an important role as some gates (e.g. XOR) require dropping the input marbles simultaneously.
- ...
@ -150,7 +150,7 @@ Some things that can be done with marbles include:
0 1 0 1 0 1 0 1
```
*Marble falling into a [flip-flop](flip_flop.md) will test its value (fall out either from the 0 or 1 hole) and also flip the bit -- next marble will fall out from the other hole. Flip-flops can be used to implement **[memory](memory.md)***
*Marble falling into a [flip-flop](flip_flop.md) will test its value (fall out either from the 0 or 1 hole) and also flip the bit -- next marble will fall out from the other hole. Flip-flops can be used to implement **[memory](memory.md)**.*
```
\: marble slide

@ -1,6 +1,6 @@
# Programming Language
Programming language is an artificial [formal](formal.md) (mathematically precise) [language](formal_language.md) created in order to allow humans to relatively easily write [algorithms](algorithm.md) for [computers](computer.md). It allows a human to very specifically and precisely tell computer what to do. Such language often tries to mimic human language (practically always [English](english.md)) so as to be somewhat close to humans but is also much MUCH simpler so that a computer can actually analyze it and understand it precisely, without ambiguity, so in the end it also partially looks like [math](math.md) expressions. A programming language can be seen as a middle ground between pure [machine code](machine_code.md) (the computer's native language, very hard to handle by humans) and natural language (very hard to handle by computers).
Programming language is an artificial [formal](formal_language.md) (mathematically precise) language created in order to allow humans to relatively easily write [algorithms](algorithm.md) for [computers](computer.md). It basically allows a human to very specifically and precisely but still relatively comfortably tell a computer what to do. We call a program written in programming language the program's **[source code](source_code.md)**. Programming languages often try to mimic some human language -- practically always [English](english.md) -- so as to be somewhat close to humans but programming language is actually MUCH simpler so that a computer can actually analyze it and understand it precisely (as computers are extremely bad at understanding actual [natural language](natural_language.md)), without ambiguity, so in the end it all also partially looks like [math](math.md) expressions. A programming language can be seen as a middle ground between pure [machine code](machine_code.md) (the computer's native language, very hard to handle by humans) and natural language (very hard to handle by computers).
For beginners: a programming language is actually much easier to learn than a foreign language, it will typically have fewer than 100 "words" to learn (out of which you'll mostly use like 10) and once you know one programming language, learning another becomes a breeze because they're all (usually) pretty similar in basic concepts. The hard part may be learning some of the concepts.
@ -20,41 +20,46 @@ A computer language consists from two main parts:
- **[syntax](syntax.md)**: The grammar rules and words, i.e. how the language "looks", what expressions we are allowed to write in it. Syntax says which words can follow other words, if indentation has to follow some rules, how to insert comments in the source code, what format numbers can be written in, what kinds of names variables can have etc. Syntax is the surface part, it's often considered not as important or hard as semantics (e.g. syntax errors aren't really a big deal as the language processor immediately catches them and we correct them easily), but a good design of syntax is nevertheless still very important because that's what the programmer actually deals with a great amount of time.
- **[semantics](semantics)**: The meaning of what we write, i.e. semantics says what the syntax actually stands for. E.g. when syntax says it is possible to write `a / b`, semantics says this means the mathematical operation of division and furthermore specifies what *a* and *b* can actually be, what happens if *b* is zero etc. Semantics is the deeper part as firstly it is more difficult to define and secondly it gives the language its [features](feature.md), its power to compute, usability, it can make the language robust or prone to errors, it can make it efficient or slow, easy and hard to compile, optimize etc.
**What is the best programming language and which one should you learn?** (See also [programming](programming.md).) These are the big questions, the topic of programming languages is infamous for being very [religious](holy_war.md) and different people root for different languages like they do e.g. for [football](football.md) teams. For [minimalists](minimalism.md), i.e. [suckless](suckless.md), [LRS](lrs.md) (us), [Unix](unix.md) people, [Plan9](plan9.md) people etc., the standard language is **[C](c.md)**, which is also probably the most important language in [history](history.md). It is not in the league of the absolutely most minimal and objectively best languages, but it's relatively minimalist (much more than practically any [modern](modern.md) language) and has great advantages such as being one of the absolutely fastest languages, being extremely well established, long tested, supported everywhere, having many compilers etc. But C isn't easy to learn as a first language. Some minimalist also promote [go](golang.md), which is kind of like "new C". Among the most minimal usable languages are traditionally [Forth](forth.md) and [Lisp](lisp.md) which kind of compete for who really is the smallest, then there is also our [comun](comun.md) which is a bit bigger but still much smaller than C. To learn programming you may actually want to start with some ugly language such as [Python](python.md), but you should really aim to transition to a better language later on.
TODO: how to judge minimalism of a language
## Notable Languages
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 |~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 |
| language | minimalist/good? | since |~min. selfhos. impl. LOC |spec. (~no stdlib pages)| 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) | 1 | 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)| 1 | [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) | 160, proprietary | 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 | | 500, proprietary | 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 | | 150, proprietary | [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) | 500, proprietary? | interpreted, the [web](web.md) lang., bloated, classless [OOP](oop.md) |
| [PHP](php.md) | no | 1995 | | 120 (by Google), CC0 | 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 | | 0 :D | extremely bad, slow, freedom issues, toxic community, no standard, AVOID|
| [Go](go.md) | **kind of** | 2009 | | 130, proprietary? | "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" |
| [uxntal](uxn.md) | **yes** but SJW | 2021 | 400 (official) | 2? (est.), proprietary | assembly lang. for a minimalist virtual machine, PROPRIETARY SPEC. |
| **[comun](comun.md)** | **yes** | 2022 | < 5K | 2, CC0 | "official" [LRS](lrs.md) language, WIP, similar to Forth |
## Interesting Programming Languages

File diff suppressed because one or more lines are too long

@ -2,9 +2,9 @@
This is an autogenerated article holding stats about this wiki.
- number of articles: 546
- number of commits: 677
- total size of all texts in bytes: 2846399
- number of articles: 547
- number of commits: 678
- total size of all texts in bytes: 2852667
longest articles:
@ -24,6 +24,18 @@ longest articles:
latest changes:
```
Date: Sun Feb 4 07:54:26 2024 +0100
books.md
brainfuck.md
c.md
cc0.md
forth.md
golang.md
programming_language.md
progress.md
wiki_pages.md
wiki_stats.md
youtube.md
Date: Sat Feb 3 22:30:33 2024 +0100
bloat.md
cc0.md
@ -45,19 +57,6 @@ cpu.md
drummyfish.md
fascism.md
float.md
forth.md
hero_culture.md
jokes.md
liberalism.md
libertarianism.md
often_confused.md
people.md
security.md
suckless.md
turing_machine.md
wiki_pages.md
wiki_stats.md
Date: Wed Jan 31 00:35:22 2024 +0100
```
most wanted pages:
@ -77,11 +76,11 @@ waiver.md
syntax.md
rpi.md
pointer.md
lisp.md
html.md
cryptography.md
trademark.md
sdl.md
pascal.md
opengl.md
```

Loading…
Cancel
Save