Update
This commit is contained in:
parent
11eb6b01b2
commit
6d2a78f17c
37 changed files with 2131 additions and 1952 deletions
4
bloat.md
4
bloat.md
|
@ -1,6 +1,6 @@
|
|||
# Bloat
|
||||
|
||||
Bloat is a very wide term that in the context of [software](software.md) and [technology](tech.md) means overcomplication, unnecessary complexity and/or extreme growth in terms of source code size, overall complexity, number of [dependencies](dependency.md), [redundancy](redundancy.md), unnecessary and/or useless features (e.g. [feature creep](feature_creep.md)) and resource usage, all of which lead to inefficient, badly designed technology with [bugs](bug.md) (crashes, unusable features, memory leaks, [security](security.md) vulnerabilities, ...), as well as great [obscurity](obscurity.md), ugliness, **loss of [freedom](free_software.md)** and waste of human effort. In simpler words: bloat is burdening [bullshit](bullshit.md) so to speak. Bloat is extremely bad and one of the greatest technological issues of today. Participating in creation of bloat is obnoxious engineering at its worst and, yet, it stains not just 100% of mainstream programs, but also the absolute majority of non-mainstream ones. Bloat is what has completely taken over all technology nowadays, mostly due to [capitalism](capitalism.md) causing commercialization, [consumerism](consumerism.md), rushed "[just works](just_werks.md)" products, creating demand for newer hardware and so on, also allowing incompetent people ("let's push more women/minorities into programming") trying to take on jobs they are in no way qualified to do.
|
||||
Bloat is a very wide term that in the context of [software](software.md) and [technology](tech.md) means overcomplication, unnecessary complexity and/or extreme growth in terms of source code size, overall complexity, number of [dependencies](dependency.md), [redundancy](redundancy.md), unnecessary and/or useless features (e.g. [feature creep](feature_creep.md)) and resource usage, all of which lead to inefficient, badly designed technology with [bugs](bug.md) (crashes, unusable features, memory leaks, [security](security.md) vulnerabilities, ...), as well as great [obscurity](obscurity.md), ugliness, **loss of [freedom](free_software.md)** and waste of human effort. In simpler words: bloat is burdening [bullshit](bullshit.md) so to speak. Bloat is extremely bad and one of the greatest technological issues of today. Participating in creation of bloat is obnoxious engineering at its worst and, yet, it stains not just 100% of mainstream programs, but also the absolute majority of non-mainstream ones. Bloat is what has completely taken over all technology nowadays, it has now reached galactic proportions mostly due to [capitalism](capitalism.md) induced commercialization, [consumerism](consumerism.md), rushed "[just works](just_werks.md)" products, creating demand for newer hardware and so on, also allowing incompetent people ("let's push more women/minorities into programming") trying to take on jobs they are in no way qualified to do.
|
||||
|
||||
A related but different term is **bloatware**; it's more commonly used among normie users and stands for undesirable programs that eat up computer resources, usually being preinstalled by the computer manufacturer (and often uninstallable) etc. Further on we'll rather focus on bloat as defined before.
|
||||
|
||||
|
@ -78,7 +78,7 @@ One of a very frequent questions you may hear a noob ask is **"How can bloat lim
|
|||
|
||||
The **path of [degeneracy](degenerate_software.md)** drawn in the graph shows how from a certain breaking point (which may actually appear at different places, the diagram is simplified) many software projects actually start getting less powerful and useful as they get more complex -- not all, some project really do stay on the path of increasing their "richness", but this requires great skills, experience, expertise and also a bit of lucky circumstances; in the zone of huge complexity projects start to get extremely difficult to manage -- non-primary tasks such as organization, maintenance and documentation start taking up so many resources that the primary task of actually programming the software suffers, the project crumbles under its own weight and the developers just try to make it fall slower. This happens mostly in projects made by incompetent [soydevs](soydev.md), i.e. most today's projects. { Thanks to a friend for pointing out this idea. ~drummyfish }
|
||||
|
||||
Please note there may arise some disagreement among minimalist groups about where the band is drawn exactly, especially old Unix hackers could be heard arguing for allowing (or even requiring) even trivial programs, maybe as long as the source code isn't shorter than the utility name, but then the discussion might even shift to questions like "what even is a program vs what's just a 10 characters long line" and so on.
|
||||
Please do note there may arise disagreements among minimalist groups about where the band is drawn exactly, especially old Unix hackers could be heard arguing for allowing (or even requiring) even trivial programs, maybe as long as the source code isn't shorter than the utility name, but then the discussion might even shift to questions like "what even is a program vs what's just a 10 characters long line" and so on.
|
||||
|
||||
As a quick [heuristic](heuristic.md) for judging programs you can really take a look at the [lines of code](loc.md) (as long as you know it's a simplification that ignores dependencies, formatting style, language used etc.) and use the following classes (basically derived from how [suckless](suckless.md) programs are often judged):
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue