Update
This commit is contained in:
parent
ebde14dd84
commit
4c419f1fa0
10 changed files with 1714 additions and 1692 deletions
19
chess.md
19
chess.md
|
@ -94,7 +94,22 @@ Many other aspects come into the AI design such as opening books (databases of b
|
||||||
|
|
||||||
### Notable Chess Engines/Computers/Entities
|
### Notable Chess Engines/Computers/Entities
|
||||||
|
|
||||||
TODO: table
|
*See also ratings of computer engines at https://www.computerchess.org.uk/ccrl/4040/.*
|
||||||
|
|
||||||
|
Here are some notable chess engines/computers/entities, as of 2024:
|
||||||
|
|
||||||
|
- **[Stockfish](stockfish.md)** (SF): FOSS engine (written in [C++](cpp.md)), without any doubt **the strongest chess engine** that's been reliably winning all the computer tournaments for years now; its strength is far beyond any human, even if run on quite a weak device -- it actually caused some trouble because it's extremely easy to just download onto a cellphone and [cheat](cheating.md) even in OTB tournaments. Currently the engine is using a [neural network](neural_network.md) for evaluating positions but still also uses the tree search algorithm (a greatly optimized one so that it searches gigantic numbers of positions per second). Important part of the development is so called *Fishtest*, a distributed framework for testing and improving the engine's performance, it's one of the reasons why it good so strong. Stockfish's current CCRL Elo rating is 3639 (warning: this is incomparable to human Elos).
|
||||||
|
- **Magnus Carlsen**: Human, most likely the strongest player ever, has been quite comfortably winning every tournament he entered including the world championship until he quit, basically because he got "bored". His top FIDE Elo was 2882.
|
||||||
|
- **Komodo Dragon**: [Proprietary](proprietary.md), currently seems to be the second strongest engine, it's main feature is [Monte Carlo] ("randomized") search algorithm. Current CCRL Elo is 3624.
|
||||||
|
- **[Leela Chess Zero](lc0)** (lc0): FOSS engine (written in C++), among top strongest engines (currently top 50 on CCRL), it is interesting mainly for how it works: it is a neural network engine that's **completely self-taught** from the ground up, i.e. it didn't learn chess by watching anyone else play, it was only allowed to learn by playing against itself. Current CCRL Elo is 3441.
|
||||||
|
- **[Deep Blue](deep_blue.md)**: A historically famous supercomputer, the first one to have beaten the human world chess champion in 1997.
|
||||||
|
- **[GNU chess](gnu_chess.md)** Free engine by [GNU](gnu.md), not among absolute top by strength but still very strong. Current CCRL Elo is 2825.
|
||||||
|
- **Maia**: FOSS engine, or rather neural network, notable by not trying to be the strongest, but rather most human-like, i.e. tries to imitate human play, even with errors. There are several versions, each trained for different strength. It is also notable by using pure neural network, i.e. it doesn't perform any search, it's a pure "pattern recognition"/static engine that still manages to play quite well.
|
||||||
|
- **Toledo Nanochess**: Seems to be the world's smallest [C](c.md) chess engine, with only 1257 non-blank characters of source code.
|
||||||
|
- **[smallchesslib](smallchesslib.md)/smolchess**: Tiny LRS [C](c.md) library/engine, very weak but is very simple, small and portable, may be [good enough](good_enough.md) in many situations.
|
||||||
|
- **Chessmaster**: A famous proprietary chess video games with its own engine, it was strong for a video game of its time (around 2000 Elo) but nowadays would be considered rather weak for an engine -- its significance is cultural, it's used for comparisons, many people played against it and still use it to test their engines against.
|
||||||
|
- **Turochamp**: Probably the first chess program ever, made by David Champernowne and [Alan Turing](turing.md) himself in 1948, in times when computers still couldn't execute it! It was very primitive, looking only two moves ahead, and was only ever executed manually -- of course, it got raped pretty bad the human opponent.
|
||||||
|
- ...
|
||||||
|
|
||||||
## Stats And Records
|
## Stats And Records
|
||||||
|
|
||||||
|
@ -256,6 +271,8 @@ WORK IN PROGRESS, pls send me more tips :)
|
||||||
|
|
||||||
## LRS Chess
|
## LRS Chess
|
||||||
|
|
||||||
|
{ Has someone already made this tho? Seems like a pretty obvious simplification to make. ~drummyfish }
|
||||||
|
|
||||||
Chess is only mildly [bloated](bloat.md) but what if we try to unbloat it completely? Here we propose the LRS version of chess. The rule changes against normal chess are:
|
Chess is only mildly [bloated](bloat.md) but what if we try to unbloat it completely? Here we propose the LRS version of chess. The rule changes against normal chess are:
|
||||||
|
|
||||||
- No castling.
|
- No castling.
|
||||||
|
|
4
faq.md
4
faq.md
|
@ -80,10 +80,12 @@ Yes, you can do anything... well, anything that's not otherwise illegal like fal
|
||||||
|
|
||||||
### Why not keep politics out of this Wiki and make it purely about technology?
|
### Why not keep politics out of this Wiki and make it purely about technology?
|
||||||
|
|
||||||
Firstly for us technological progress is secondary to the primary type of progress in society: the social progress. The goal of our civilization is to provide good conditions for life -- this is social progress and mankind's main goal. Technological progress only serves to achieve this, so technological progress follows from the goals of social progress. So, to define technology we have to first know what it should help achieve in society. And for that we need to talk politics.
|
Firstly technological [progress](progress.md) is secondary to the primary type of progress in society: the social progress. The goal of our civilization is to provide good conditions for life -- this is social progress and mankind's main goal. Technological progress only serves to achieve this, so technological progress follows from the goals of social progress. So, to define technology we have to first know what it should help achieve in society. And for that we need to talk politics.
|
||||||
|
|
||||||
Secondly examining any existing subject in depth requires also understanding its context anyway. Politics and technology nowadays are very much intertwined and the politics of a society ultimately significantly affects what its technology looks like ([capitalist SW](capitalist_software.md), [censorship](censorship.md), [bloat](bloat.md), [spyware](spyware.md), [DRM](drm.md), ...), what goals it serves (consumerism, [productivity](productivity_cult.md), control, war, peace, ...) and how it is developed ([COCs](cos.md), [free software](free_software.md), ...), so studying technology ultimately requires understanding politics around it. I hate arguing about politics, sometimes it literally make me suicidal, but it is inevitable, we have to specify real-life goals clearly if we're to create good technology. Political goals guide us in making important design decisions about features, [tradeoffs](tradeoff.md) and other attributes of technology.
|
Secondly examining any existing subject in depth requires also understanding its context anyway. Politics and technology nowadays are very much intertwined and the politics of a society ultimately significantly affects what its technology looks like ([capitalist SW](capitalist_software.md), [censorship](censorship.md), [bloat](bloat.md), [spyware](spyware.md), [DRM](drm.md), ...), what goals it serves (consumerism, [productivity](productivity_cult.md), control, war, peace, ...) and how it is developed ([COCs](cos.md), [free software](free_software.md), ...), so studying technology ultimately requires understanding politics around it. I hate arguing about politics, sometimes it literally make me suicidal, but it is inevitable, we have to specify real-life goals clearly if we're to create good technology. Political goals guide us in making important design decisions about features, [tradeoffs](tradeoff.md) and other attributes of technology.
|
||||||
|
|
||||||
|
Thirdly society and computer programs are in many ways similar and we naturally see analogies between both the problems and the solutions.
|
||||||
|
|
||||||
Of course you can fork this wiki and try to remove politics from it, but I think it won't be possible to just keep the technology part alone so that it would still make sense, most things will be left without justification and explanation.
|
Of course you can fork this wiki and try to remove politics from it, but I think it won't be possible to just keep the technology part alone so that it would still make sense, most things will be left without justification and explanation.
|
||||||
|
|
||||||
### What is the political direction of LRS then?
|
### What is the political direction of LRS then?
|
||||||
|
|
|
@ -159,6 +159,7 @@ This is a summary of some main guidelines on how an LRS supporter should behave
|
||||||
- **Live your life as you want**, don't let someone else control your life and manipulate you, e.g. with feelings of guilt -- this often happens with your parents, partner, friends, culture, laws, ... This isn't an argument for self interest! On the contrary, most people nowadays will try to push you to following self interest or fascist goals that will also benefit them. You only have one life, others have theirs, so listen to advice but remember to always make your own decisions in important things. If you feel you don't want to go to school or that you don't want to work or that you want to do something that people despise or you want to do something that you've read is wrong, just do what you feel is best, even if it's a let down for your family or if it contradicts what the whole society is telling you.
|
- **Live your life as you want**, don't let someone else control your life and manipulate you, e.g. with feelings of guilt -- this often happens with your parents, partner, friends, culture, laws, ... This isn't an argument for self interest! On the contrary, most people nowadays will try to push you to following self interest or fascist goals that will also benefit them. You only have one life, others have theirs, so listen to advice but remember to always make your own decisions in important things. If you feel you don't want to go to school or that you don't want to work or that you want to do something that people despise or you want to do something that you've read is wrong, just do what you feel is best, even if it's a let down for your family or if it contradicts what the whole society is telling you.
|
||||||
- **Publish everything immediately**, don't wait for your project "to be ready" for a release, make it public right now! You don't have to advertize it, just make it public. Some reasons are for example: you aren't behaving strategically like a capitalist, you get early feedback from others (important so you don't spend a lot of time on shit), you let others know what you're working on so they don't waste time working on the same thing, even an incomplete project may be useful to someone (parts of it may already be useful to someone), and also, very importantly, if you hesitate YOU WILL NEVER RELEASE THE PROJECT, you will become obsessed with perfectionism and ashamed to ever release the project. YES YOU WILL, I have seen it about 10000000 billion times. You think you will release it but you won't, every additional day you hesitate the chance of release decreases by 10%, so after 10 days it's already certain you will never release it, further on the chance even gets negative.
|
- **Publish everything immediately**, don't wait for your project "to be ready" for a release, make it public right now! You don't have to advertize it, just make it public. Some reasons are for example: you aren't behaving strategically like a capitalist, you get early feedback from others (important so you don't spend a lot of time on shit), you let others know what you're working on so they don't waste time working on the same thing, even an incomplete project may be useful to someone (parts of it may already be useful to someone), and also, very importantly, if you hesitate YOU WILL NEVER RELEASE THE PROJECT, you will become obsessed with perfectionism and ashamed to ever release the project. YES YOU WILL, I have seen it about 10000000 billion times. You think you will release it but you won't, every additional day you hesitate the chance of release decreases by 10%, so after 10 days it's already certain you will never release it, further on the chance even gets negative.
|
||||||
- **NEVER, NEVER go into debt**: Even if you should live under a bridge, if you aren't in debt you're still good -- better than most people probably. Debt is how the system enslaves you, so never take any loans or make unplanned children you would be obliged to pay for etc., it will force you to bow to the system, take unethical jobs, forget your morals. If you're already in debt, make it number one priority to pay it off ASAP. If you're in debt that would take too long or forever to pay off, your only option is just to burn your ID and run off to the woods, the system will now see you as a free slave, someone who can be forced to labor without sleep or just killed, you can no longer rely on any help from it.
|
- **NEVER, NEVER go into debt**: Even if you should live under a bridge, if you aren't in debt you're still good -- better than most people probably. Debt is how the system enslaves you, so never take any loans or make unplanned children you would be obliged to pay for etc., it will force you to bow to the system, take unethical jobs, forget your morals. If you're already in debt, make it number one priority to pay it off ASAP. If you're in debt that would take too long or forever to pay off, your only option is just to burn your ID and run off to the woods, the system will now see you as a free slave, someone who can be forced to labor without sleep or just killed, you can no longer rely on any help from it.
|
||||||
|
- PRO TIP: A great [heuristic](heuristic.md) for making life decisions is to **usually do the exact opposite of what the society tells you to do** -- it works because society only wants to exploit you, so it pushes you towards bad decisions. This doesn't hold always, of course, don't just blindly act in opposites (there may be "double bluffs" also..., but mostly there aren't as most people just follow direct orders), but it's a good decision helper in about 99% cases. For example if society tells you "increase your social media presence", you should really completely leave social media, if it tells you "boost your carrier", you should stop working, if it tells you "go vote", you shouldn't go vote etcetc.
|
||||||
- PRO TIP: **Get yourself [banned](ban.md) on toxic platforms** like [Wikipedia](wikipedia.md), [GitHub](github.md), [Steam](steam.md), [4chan](4chan.md) etcetc., it has many advantages -- you gain [freedom](freedom.md) (no longer having to care about platform you are banned on), the platform loses one user/slave (you), you stop being abused by the platform, it's also [fun](fun.md) (just find some creative way to get banned, possibly cause uprising on the platform, make mods angry and waste their time on cleaning up your mess), it will make you become more self sufficient and you help decentralize the Internet again (can't edit Wikipedia? Just make your own :-]), it will make you find better places, you may also help bring the toxic platform down (others will see the platform utilizes censorship, some may follow you in leaving...) etcetc.
|
- PRO TIP: **Get yourself [banned](ban.md) on toxic platforms** like [Wikipedia](wikipedia.md), [GitHub](github.md), [Steam](steam.md), [4chan](4chan.md) etcetc., it has many advantages -- you gain [freedom](freedom.md) (no longer having to care about platform you are banned on), the platform loses one user/slave (you), you stop being abused by the platform, it's also [fun](fun.md) (just find some creative way to get banned, possibly cause uprising on the platform, make mods angry and waste their time on cleaning up your mess), it will make you become more self sufficient and you help decentralize the Internet again (can't edit Wikipedia? Just make your own :-]), it will make you find better places, you may also help bring the toxic platform down (others will see the platform utilizes censorship, some may follow you in leaving...) etcetc.
|
||||||
- ...
|
- ...
|
||||||
|
|
||||||
|
|
|
@ -54,5 +54,5 @@ TODO: C code
|
||||||
|
|
||||||
## See Also
|
## See Also
|
||||||
|
|
||||||
- [sigma calculus](sigma_calculus.md)
|
- [sigma calculus](sigma_calculus.md) (for [OOP](oop.md))
|
||||||
- [interaction calculus](interaction_calculus.md)
|
- [interaction calculus](interaction_calculus.md)
|
2
main.md
2
main.md
|
@ -83,7 +83,7 @@ Are you a noob but see our ideas as appealing and would like to join us? Say no
|
||||||
- That the term "retarded" was actually made as a [politically correct](political_correctness.md) replacement for medical terms such as "idiot", "imbecile" and "moron" which became seen as derogatory.
|
- That the term "retarded" was actually made as a [politically correct](political_correctness.md) replacement for medical terms such as "idiot", "imbecile" and "moron" which became seen as derogatory.
|
||||||
- That all [Intel](intel.md) [processors](cpu.md) since 2008 (and [AMD](amd.md) processors since 2013) have a hardware [backdoor](backdoor.md) ([Intel ME](intel_me.md), [AMD PSP](amd_psp.md)) that run the [Minix](minix.md) operating system and allows spying on users of those processors no matter what operating system they run?
|
- That all [Intel](intel.md) [processors](cpu.md) since 2008 (and [AMD](amd.md) processors since 2013) have a hardware [backdoor](backdoor.md) ([Intel ME](intel_me.md), [AMD PSP](amd_psp.md)) that run the [Minix](minix.md) operating system and allows spying on users of those processors no matter what operating system they run?
|
||||||
- That Wilhelm Rontgen, a Nobel laureate, did not [patent](patent.md) his groundbreaking discoveries, stating that they should be freely available to anyone without any charge?
|
- That Wilhelm Rontgen, a Nobel laureate, did not [patent](patent.md) his groundbreaking discoveries, stating that they should be freely available to anyone without any charge?
|
||||||
- That brain size correlates with [intelligence](intelligence.md) and male brains are on average 10% larger than those of [women](woman.md)? Yep, this still even on [Wikipedia](wikipedia.md), though the implications mustn't be mentioned there.
|
- That brain size correlates with [intelligence](intelligence.md) and male brains are on average 10% larger than those of [women](woman.md)? Yep, this is still even on [Wikipedia](wikipedia.md), though the implications mustn't be mentioned there.
|
||||||
- That [capitalism](capitalism.md) is probably the most [retarded](retard.md) and dangerous idea in [history](history.md)?
|
- That [capitalism](capitalism.md) is probably the most [retarded](retard.md) and dangerous idea in [history](history.md)?
|
||||||
- Thanks to [quantum computing](quantum.md) you can use a computer to [carry out computation](counterfactual_computing.md) without actually running the computer?
|
- Thanks to [quantum computing](quantum.md) you can use a computer to [carry out computation](counterfactual_computing.md) without actually running the computer?
|
||||||
- You can mathematically [prove you don't know some information](no_knowledge_proof.md)?
|
- You can mathematically [prove you don't know some information](no_knowledge_proof.md)?
|
||||||
|
|
12
oop.md
12
oop.md
|
@ -4,7 +4,7 @@
|
||||||
|
|
||||||
Object-oriented programming (OOP, also object-obsessed programming, objectfuscated programming or artificial inelegance) is a [programming paradigm](paradigm.md) that tries to model reality as a collection of abstract objects that communicate with each other and obey some specific rules. While the idea itself isn't bad and can be useful in certain cases and while pure OOP in very old languages like [Smalltalk](smalltalk.md) may have even been quite elegant, by later adoption by [capitalist businesses](capitalist_software.md) the concept has been extremely twisted and degenerated to unbelievable levels -- **OOP has become extremely overused, extremely badly implemented and downright forced in programming languages** that nowadays try to apply this [abstraction](abstraction.md) to every single program and concept, creating [anti-patterns](anti_pattern.md), unnecessary issues and of course greatly significant amounts of [bloat](bloat.md). [We](lrs.md) therefore see the OOP of today as a **[cancer](cancer.md) of programming**. OOP was basically a software development fashion wave that scarred the industry for decades, it has poisoned minds of several generations. Nowadays despite OOP still keeping many fans the critical stance towards it isn't even controversial anymore, many others have voiced the criticism over and over, usually the most competent programmers like [Richard Stallman](rms.md) and [Linux Torvalds](torvalds.md) and groups like [suckless](suckless.md) and [bitreich](bitreich.md). Ugly examples of OOP gone bad include [Java](java.md) and [C++](cpp.md) (which at least doesn't force it). Other languages such as [Python](python.md) and [Javascript](javascript.md) include OOP but have lightened it up a bit and at least allow you to avoid using it. You should probably learn OOP but only to see why it's bad (and to actually understand 99% of code written nowadays).
|
Object-oriented programming (OOP, also object-obsessed programming, objectfuscated programming or artificial inelegance) is a [programming paradigm](paradigm.md) that tries to model reality as a collection of abstract objects that communicate with each other and obey some specific rules. While the idea itself isn't bad and can be useful in certain cases and while pure OOP in very old languages like [Smalltalk](smalltalk.md) may have even been quite elegant, by later adoption by [capitalist businesses](capitalist_software.md) the concept has been extremely twisted and degenerated to unbelievable levels -- **OOP has become extremely overused, extremely badly implemented and downright forced in programming languages** that nowadays try to apply this [abstraction](abstraction.md) to every single program and concept, creating [anti-patterns](anti_pattern.md), unnecessary issues and of course greatly significant amounts of [bloat](bloat.md). [We](lrs.md) therefore see the OOP of today as a **[cancer](cancer.md) of programming**. OOP was basically a software development fashion wave that scarred the industry for decades, it has poisoned minds of several generations. Nowadays despite OOP still keeping many fans the critical stance towards it isn't even controversial anymore, many others have voiced the criticism over and over, usually the most competent programmers like [Richard Stallman](rms.md) and [Linux Torvalds](torvalds.md) and groups like [suckless](suckless.md) and [bitreich](bitreich.md). Ugly examples of OOP gone bad include [Java](java.md) and [C++](cpp.md) (which at least doesn't force it). Other languages such as [Python](python.md) and [Javascript](javascript.md) include OOP but have lightened it up a bit and at least allow you to avoid using it. You should probably learn OOP but only to see why it's bad (and to actually understand 99% of code written nowadays).
|
||||||
|
|
||||||
**A [real life](irl.md) analogy** to give a bit of high level overview: the original [Smalltalk](smalltalk.md) style OOP was kind of like when society invented [democracy](democracy.md) -- a simple idea which everyone understands (we are 10 cavemen, let's just vote on stuff mkay?) that's many times useful and works well, e.g. on a scale of a village or a small city. Then cities grew bigger (just as software did), into states and empires and the idea kept getting more and more complicated -- people just wanted to keep the democracy, apply it to everything and scale it indefinitely, but for that they had to add more complexity, they implemented representatives, parliaments, senates, presidents, vicepresidents, ministers, judges, more and more bureaucracy, hybrid ideas (free market, controlled economy, ...), corruption and inefficiencies crept in, the system degenerated into what we have today -- a hugely expensive paperworking machine that's exploited and hacked, with laws so complicated no one really understands them, with [magic](magic.md), randomness and unpredictability, producing just waste and bullshit, crumbling under own weight. This is also the way OOP went -- they started inventing static classes, multiple inheritances, interfaces, design patterns, hybrid paradigms and so on until we ended up with ugly abominations on which today's technology stands. Now a few things have to be noted. Firstly these abominations are a disaster, they came from our mistake of taking the original simple idea (simple small scale voting democracy) and saying "let's make this the only thing in the world and let's scale it a million times!" Such idea is stupid from the start and there is no doubt about that. However another evil is that people are taught to do everything this way -- today's programmers will use the mainstream OOP everywhere, even in simple programs, they don't even think about if they should, they are simply taught "always use this". This is like in real life wanting to govern a family by having elections each year to vote for the head of the family, then having members of family vote for other members of the family to be their representatives that will talk for them (the same kind of craziness as wanting to strictly respect encapsulation even in trivial programs), then if someone wants to buy anything he has to ask for a budget several months in advance and have others vote on it while an elected anti corruption committee is watching etcetc. This kind of insanity is what's normal in software nowadays. Now the only sane discussion can be had only about the usefulness and scope of the original, simple idea (simple voting in small groups, simple pure OOP) and here we say that it may be good, but only applied to just some specific situations, i.e. we say simple OOP is good for some problems but not all, just like voting is a good solution to some problems (e.g. a group of friends deciding where to go party), but not all (e.g. passengers in a car voting on which way to steer and which pedals to press).
|
**A [real life](irl.md) analogy** to give a bit of high level overview: the original [Smalltalk](smalltalk.md) style OOP was kind of like when society invented [democracy](democracy.md) -- a simple idea which everyone understands (we are 10 cavemen, let's just vote on stuff mkay?) that's many times useful and works well, e.g. on a scale of a village or a small city. Then cities grew bigger (just as software did), into states and empires and the idea kept getting more and more complicated -- people just wanted to keep the democracy, apply it to everything and scale it indefinitely, but for that they had to add more complexity, they implemented representatives, parliaments, senates, presidents, vicepresidents, ministers, judges, more and more bureaucracy, hybrid ideas (free market, controlled economy, ...), corruption and inefficiencies crept in, the system degenerated into what we have today -- a hugely expensive paperworking machine that's exploited and hacked, with laws so complicated no one really understands them, with [magic](magic.md), randomness and unpredictability, producing just waste and bullshit, crumbling under own weight. This is also the way OOP went -- they started inventing static classes/methods, abstract classes/methods, multiple inheritances, interfaces, design patterns, overriding, hybrid paradigms and so on until we ended up with ugly abominations on which today's technology stands. Now a few things have to be noted. Firstly these abominations are a disaster, they came from our mistake of taking the original simple idea (simple small scale voting democracy) and saying "let's make this the only thing in the world and let's scale it a million times!" Such idea is stupid from the start and there is no doubt about that. However another evil is that people are taught to do everything this way -- today's programmers will use the mainstream OOP everywhere, even in simple programs, they don't even think about if they should, they are simply taught "always use this". This is like in real life wanting to govern a family by having elections each year to vote for the head of the family, then having members of family vote for other members of the family to be their representatives that will talk for them (the same kind of craziness as wanting to strictly respect encapsulation even in trivial programs), then if someone wants to buy anything he has to ask for a budget several months in advance and have others vote on it while an elected anti corruption committee is watching etcetc. This kind of insanity is what's normal in software nowadays. Now the only sane discussion can be had only about the usefulness and scope of the original, simple idea (simple voting in small groups, simple pure OOP) and here we say that it may be good, but only applied to just some specific situations, i.e. we say simple OOP is good for some problems but not all, just like voting is a good solution to some problems (e.g. a group of friends deciding where to go party), but not all (e.g. passengers in a car voting on which way to steer and which pedals to press).
|
||||||
|
|
||||||
## Principles
|
## Principles
|
||||||
|
|
||||||
|
@ -24,23 +24,25 @@ OOP furthermore comes with some basic principles such as:
|
||||||
|
|
||||||
## Why It's Shit
|
## Why It's Shit
|
||||||
|
|
||||||
- OOP is just a bad abstraction for many problems that by their nature aren't object-oriented. OOP is not a [silver bullet](silver_bullet.md), yet it tries to behave as one. **The greatest issue of OOP is that it's trying to solve everything**. For example it forces the idea that data and [algorithms](algorithm.md) should always come together, but that's simply a stupid statement in general, there is no justification for it, some data is simply data and some algorithms are simply algorithms. You may ask what else to use instead of OOP then -- see the section below.
|
- OOP is just a bad [abstraction](abstraction.md) for many problems that by their nature aren't object-oriented. OOP is not a [silver bullet](silver_bullet.md), yet it tries to behave as one. **The greatest issue of OOP is that it's trying to solve everything**. For example it forces the idea that data and [algorithms](algorithm.md) should always come together, but that's simply a stupid statement in general, there is no justification for it, some data is simply data and some algorithms are simply algorithms. You may ask what else to use instead of OOP then -- see the section below.
|
||||||
- For simple programs (which most programs should be) such as many [Unix](unix.md) utilities OOP is simply completely unnecessary.
|
- For simple programs (which most programs should be) such as many [Unix](unix.md) utilities OOP is simply completely unnecessary.
|
||||||
- OOP languages make you battle artificial restrictions rather than focus on solving the problem at hand.
|
- OOP languages make you battle artificial restrictions rather than focus on solving the problem at hand.
|
||||||
- Great number of the supposed "features" and [design patterns](design_pattern.md) (setters/getters, singletons, inheritance, ...) turned out to actually be [antipatterns](antipatter.md) and burdens -- this isn't a controversial statement, even OOP proponents usually agree with this.
|
- Great number of the supposed "features" and [design patterns](design_pattern.md) (setters/getters, singletons, inheritance, ...) turned out to actually be [antipatterns](antipatter.md) and burdens -- this isn't a controversial statement, even OOP proponents usually agree with this.
|
||||||
- OOP as any higher abstraction very often comes with overhead, memory footprint and performance loss ([bloat](bloat.md)) as well as more complex [compilers](compiler.md), language specifications, more [dependencies](dependency.md) etc.
|
- OOP as any higher abstraction very often comes with overhead, memory footprints and performance loss ([bloat](bloat.md)) as well as more complex [compilers](compiler.md), language specifications, more [dependencies](dependency.md), [magic](magic.md) etc.
|
||||||
- The relatively elegant idea of pure OOP didn't catch on and the practically used OOP languages are abomination hybrids of imperative and OOP paradigms that just take more [head space](head_space.md), create [friction](friction.md) and unnecessary issues to solve. Sane languages now allow the choice to use OOP fully, partially or avoid it completely, which leads to a two-in-one overcomplication.
|
- The relatively elegant idea of pure OOP didn't catch on and the practically used OOP languages are abomination hybrids of imperative and OOP paradigms that just take more [head space](head_space.md), create [friction](friction.md) and unnecessary issues to solve. Sane languages now allow the choice to use OOP fully, partially or avoid it completely, which leads to a two-in-one overcomplication.
|
||||||
- The naive idea of OOP that the real world is composed of nicely defined objects such as `Human`s and `Tree`s also showed to be completely off, we instead see shit like `AbstractIntVisitorShitFactory` etc.
|
- The naive idea of OOP that the [real world](irl.md) is composed of nicely defined objects such as `Human`s and `Tree`s also showed to be completely off, we instead see shit like `AbstractIntVisitorShitFactory` etc. Everyone who ever tried to make some kind of categorization knows it's usually asking for trouble, categories greatly overlap, have unclear borders, multiple parents etcetc.
|
||||||
- The idea that OOP would lead to code reusability also completely failed, it's simply not the case at all, implementation code of specific classes is typically burdened with internal and external dependencies just like any other bloated code. OOPer believed that their paradigm would create a world full of reusable [blackboxes](blackbox.md), but that wasn't the case, OOP is neither necessary for blackboxing, nor has the practice shown it would contribute to it -- quite on the contrary, e.g. simple imperative header-only C libraries are much more reusable than those we find in the OOP world.
|
- The idea that OOP would lead to code reusability also completely failed, it's simply not the case at all, implementation code of specific classes is typically burdened with internal and external dependencies just like any other bloated code. OOPer believed that their paradigm would create a world full of reusable [blackboxes](blackbox.md), but that wasn't the case, OOP is neither necessary for blackboxing, nor has the practice shown it would contribute to it -- quite on the contrary, e.g. simple imperative header-only C libraries are much more reusable than those we find in the OOP world.
|
||||||
- Good programmers don't need OOP because they know how to program -- OOP doesn't invent anything, it is merely a way of trying to **force** good programming mostly on incompetent programmers hired in companies, to prevent them from doing damage. However this of course doesn't work, a shit programmer will always program shit, he will find his way to fuck up despite any obstacles and if you invent obstacles good enough for stopping him from fucking up, you'll also stop him from being able to program something that works well as you tie his hands. Yes, good programmers write shit buggy code too, but that's more of a symptom of bad, overcomplicated bloated capitalist design of technology that's just asking for bugs and errors -- here OOP is trying to cure symptoms of an inherently wrong direction, it is not addressing the root cause.
|
- Good programmers don't need OOP because they know how to program -- OOP doesn't invent anything, it is merely a way of trying to **force** good programming mostly on incompetent programmers hired in companies, to prevent them from doing damage. However this of course doesn't work, a shit programmer will always program shit, he will find his way to fuck up despite any obstacles and if you invent obstacles good enough for stopping him from fucking up, you'll also stop him from being able to program something that works well as you tie his hands. Yes, good programmers write shit buggy code too, but that's more of a symptom of bad, overcomplicated bloated capitalist design of technology that's just asking for bugs and errors -- here OOP is trying to cure symptoms of an inherently wrong direction, it is not addressing the root cause.
|
||||||
- OOP just mostly repeats what other things like modules already do.
|
- OOP just mostly repeats what other things like modules already do.
|
||||||
- If you want to program in object-oriented way and have a good justification for it, **you don't need an OOP language anyway**, you can emulate all aspects of OOP in simple languages like C. So instead of building the idea into the language itself and dragging it along forever and everywhere, it would be better to have optional OOP libraries.
|
- If you want to program in object-oriented way and have a good justification for it, **you don't need an OOP language anyway**, you can emulate all aspects of OOP in simple languages like C. So instead of building the idea into the language itself and dragging it along forever and everywhere, it would be better to have optional OOP libraries.
|
||||||
- It generalizes and simplifies programming into a few rules of thumb such as encapsulation, again for the sake of inexperienced noobs. However there are no simple rules for how to program well, good programming requires a huge amount of experience and as in any art, good programmer knows when breaking the general rules is good. OOP doesn't let good programmers do this, it preaches things like "global variables bad" which is just too oversimplified and hurts good programming.
|
- It generalizes and simplifies programming into a few rules of thumb such as encapsulation, again for the sake of inexperienced noobs. However there are no simple rules for how to program well, good programming requires a huge amount of experience and as in any art, good programmer knows when breaking the general rules is good. OOP doesn't let good programmers do this, it preaches things like "global variables bad" which is just too oversimplified and hurts good programming.
|
||||||
|
|
||||||
## The Pure OOP
|
## Pure OOP (The "Legit" But Unused Kind Of OOP)
|
||||||
|
|
||||||
TODO
|
TODO
|
||||||
|
|
||||||
|
Similarly to how [functional](functional.md) languages are based on some very simple mathematical system such as [lamba calculus](lambda_calculus.md), pure object oriented languages have a similar thing, most notably the **[sigma calculus](sigma_calculus.md)** (defined in the paper called *A Theory Of Primitive Objects* by *Abadi and Cardelli*).
|
||||||
|
|
||||||
## So Which Paradigm To Use Instead Of OOP?
|
## So Which Paradigm To Use Instead Of OOP?
|
||||||
|
|
||||||
After many people realized OOP is kind of shit, there has been a boom of "OOP alternatives" such as [functional](functional.md), [traits](traits.md), [agent oriented programming](agent_oriented_programming.md), all kinds of "lightweight"/optional OOP etc etc. Which one to use?
|
After many people realized OOP is kind of shit, there has been a boom of "OOP alternatives" such as [functional](functional.md), [traits](traits.md), [agent oriented programming](agent_oriented_programming.md), all kinds of "lightweight"/optional OOP etc etc. Which one to use?
|
||||||
|
|
|
@ -10,7 +10,9 @@ Digital privacy can be further categorized. We can talk e.g. about **communicati
|
||||||
|
|
||||||
**Society is becoming more and more obsessed with privacy and that is EXTREMELY BAD.** It leads to hardcore [censorship](censorship.md), people are hiding their email addresses so it's impossible to contact them, photos of child faces are wiped from the Internet, more and more videos on the internet now just blur everything in the video that's not the main focus of it, "just in case", people are even afraid to credit other people by name even if they are e.g. legally obliged to by a license such as CC-BY-SA ([lmao](lmao.md) https://forum.freegamedev.net/viewtopic.php?f=7&t=19322). Such [retardedness](retard.md) has probably never been seen yet.
|
**Society is becoming more and more obsessed with privacy and that is EXTREMELY BAD.** It leads to hardcore [censorship](censorship.md), people are hiding their email addresses so it's impossible to contact them, photos of child faces are wiped from the Internet, more and more videos on the internet now just blur everything in the video that's not the main focus of it, "just in case", people are even afraid to credit other people by name even if they are e.g. legally obliged to by a license such as CC-BY-SA ([lmao](lmao.md) https://forum.freegamedev.net/viewtopic.php?f=7&t=19322). Such [retardedness](retard.md) has probably never been seen yet.
|
||||||
|
|
||||||
**How to 100% solve privacy**: make it moral to make ALL information public, always, without any censorship, "protection", laws and other bullshit. { NO, it's fucking NOT a joke or "satire", I am 100% serious. More like 3000% actually. It's extremely smart, that's why people don't do it. ~drummyfish } This way passwords will become obsolete, which has a nice side effect of also ending a lot of capitalist bullshit such as banking and [intellectual property](intellectual_property.md), people will have to start sharing. Governments and corporations will also start taking extreme advantage of the situation, so people will stop using online technology as much and maybe they'll even finally decide to ditch governments and corporations, another great leap in development of society. People will also stop being concerned about their "private data" -- at first they will be freaking out that everyone can see their dick pics and what porn they jerk off to but since EVERYONE's data will be visible, they will find out that everyone watches weird porn, that everyone has a dick (well, about half of population), and they'll just stop acting like chimps in a while. This literally only has advantages and it solves many of our greatest issues all at once. At this point privacy has been solved. { Leave the Nobel Prize at my door, thanks. ~drummyfish }
|
Do you have **"nothing to hide?"** Privacy maximalists absolutely love this sentence, it almost makes them orgasm; don't misunderstand them though, they are psychopaths, they are obsessed people who above everything love to waste their whole lives on playing the hide and seek game, but most importantly they want to drag everyone into the game. Yes -- sadly you've probably been forced to have at least something to hide, for example your [password](password.md) -- it's not that the claim is false, the great mistake and fucked up nature of our world shows in how people interpret such truth and how they react to it. The fact that you have something to hide doesn't mean you should accept it and start focusing on hiding, and, just in case, "hide absolutely everything". This leads to hell, you accept the dystopia AND start supporting it, you buy into endless [fear](fear.md) and bullshit, just like when you dedicate your whole like for example to hoarding [money](money.md) -- there will be no such a thing as "moderate privacy", no, privacy maximalists will tell you you must hide absolutely EVERYTHING, even such things as your favorite color or style of speech, because these things might lead to someone guessing your password, fingerprinting you etc. No, this is all absolute insanity, the fact you have to hide something at all shows something is extremely [wrong](capitalism.md) with the society -- if anything, you should try to **fix the society so that you no longer have anything to hide**.
|
||||||
|
|
||||||
|
Therefore here is **how to 100% solve privacy**: make it moral to make ALL information public, always, without any censorship, "protection", laws and other bullshit. { NO, it's fucking NOT a joke or "satire", I am 100% serious. More like 3000% actually. It's extremely smart, that's why people don't do it. ~drummyfish } This way passwords will become obsolete, which has a nice side effect of also ending a lot of capitalist bullshit such as banking and [intellectual property](intellectual_property.md), people will have to start sharing. Governments and corporations will also start taking extreme advantage of the situation, so people will stop using online technology as much and maybe they'll even finally decide to ditch governments and corporations, another great leap in development of society. People will also stop being concerned about their "private data" -- at first they will be freaking out that everyone can see their dick pics and what porn they jerk off to but since EVERYONE's data will be visible, they will find out that everyone watches weird porn, that everyone has a dick (well, about half of population), and they'll just stop acting like chimps in a while. This literally only has advantages and it solves many of our greatest issues all at once. At this point privacy has been solved. { Leave the Nobel Prize at my door, thanks. ~drummyfish }
|
||||||
|
|
||||||
{ I'm thinking of a life experiment: start living without a password. In it I would literally make my password public on my website and start to somehow live like that, i.e. I would stop using a bank account, I would stop using social media accounts, would just host my own git repository and email. That doesn't even sound so difficult, I'll probably give it a try one day. ~drummyfish }
|
{ I'm thinking of a life experiment: start living without a password. In it I would literally make my password public on my website and start to somehow live like that, i.e. I would stop using a bank account, I would stop using social media accounts, would just host my own git repository and email. That doesn't even sound so difficult, I'll probably give it a try one day. ~drummyfish }
|
||||||
|
|
||||||
|
|
3340
random_page.md
3340
random_page.md
File diff suppressed because it is too large
Load diff
File diff suppressed because one or more lines are too long
|
@ -3,8 +3,8 @@
|
||||||
This is an autogenerated article holding stats about this wiki.
|
This is an autogenerated article holding stats about this wiki.
|
||||||
|
|
||||||
- number of articles: 562
|
- number of articles: 562
|
||||||
- number of commits: 719
|
- number of commits: 720
|
||||||
- total size of all texts in bytes: 3160180
|
- total size of all texts in bytes: 3164189
|
||||||
|
|
||||||
longest articles:
|
longest articles:
|
||||||
|
|
||||||
|
@ -24,6 +24,13 @@ longest articles:
|
||||||
latest changes:
|
latest changes:
|
||||||
|
|
||||||
```
|
```
|
||||||
|
Date: Fri Mar 1 10:16:26 2024 +0100
|
||||||
|
kiss.md
|
||||||
|
lgbt.md
|
||||||
|
oop.md
|
||||||
|
random_page.md
|
||||||
|
wiki_pages.md
|
||||||
|
wiki_stats.md
|
||||||
Date: Thu Feb 29 19:53:52 2024 +0100
|
Date: Thu Feb 29 19:53:52 2024 +0100
|
||||||
black.md
|
black.md
|
||||||
c.md
|
c.md
|
||||||
|
@ -50,15 +57,6 @@ gopher.md
|
||||||
internet.md
|
internet.md
|
||||||
less_retarded_society.md
|
less_retarded_society.md
|
||||||
lrs.md
|
lrs.md
|
||||||
political_correctness.md
|
|
||||||
pride.md
|
|
||||||
programming_language.md
|
|
||||||
random_page.md
|
|
||||||
rationalwiki.md
|
|
||||||
wiki_pages.md
|
|
||||||
wiki_stats.md
|
|
||||||
work.md
|
|
||||||
Date: Wed Feb 28 14:43:12 2024 +0100
|
|
||||||
```
|
```
|
||||||
|
|
||||||
most wanted pages:
|
most wanted pages:
|
||||||
|
|
Loading…
Reference in a new issue