This commit is contained in:
Miloslav Ciz 2024-09-29 21:48:44 +02:00
parent 7b2d16ae41
commit de9f98731e
15 changed files with 1832 additions and 1818 deletions

View file

@ -2,7 +2,7 @@
*Not to be [confused](often_confused.md) with [Java](java.md).*
JavaScript (JS) is a very popular, highly [shitty](shit.md) [bloated](bloat.md) [scripting](script.md) [programming language](programming_language.md) used mainly on the [web](www.md). The language is basically the centerpoint of [web development](webdev.md), possibly the worst area a programmer can find himself in, so it is responsible for a great number of [suicides](suicide.md), the language is infamously surrounded by a clusterfuck of most toxic [frameworks](framework.md) you can imagine and a curious fact is also that people who program in JavaScript are less intelligent than people who don't program at all. JavaScript is NOT to be confused with an unrelated language called [Java](java.md), which for some time used to be used on the web too but works very differently. JavaScript should also not be confused with [ECMAScript](ecmascript.md), a language standard which JavaScript is based on but to which it adds yet more antifeatures, i.e. JavaScript is a dialect of ECMAScript (other similar ECMAScript-based languages are e.g. ActionScript and JScript). [LRS](lrs.md) stance towards this language is clear: as any other mainstream [modern](modern.md) language **JavaScript is an absolutely unacceptable choice for any serious project**, though it may be used for quick experiments and ugly temporary programs as the language is high level, i.e. extremely easy, it doesn't require any ability to think, it works in every browser (so you get a kind of [multiplatformness](multiplatform.md)) and allows making things such as [GUI](gui.md) and visualizations super quickly and easily. But remember that this kind of "comfort" always comes for a cost too high to pay.
JavaScript (JS) is a very [popular](shit.md), highly [shitty](shit.md) [bloated](bloat.md) [scripting](script.md) [programming language](programming_language.md) used mainly on the [web](www.md). The language is basically the centerpoint of [web development](webdev.md), possibly the worst area a programmer can find himself in, so it is responsible for a great number of [suicides](suicide.md), the language is infamously surrounded by a clusterfuck of most toxic [frameworks](framework.md) you can imagine and a curious fact is also that people who program in JavaScript are less intelligent than people who don't program at all. JavaScript is NOT to be confused with an unrelated language called [Java](java.md), which for some time used to be used on the web too but works very differently. JavaScript should also not be confused with [ECMAScript](ecmascript.md), a language standard which JavaScript is based on but to which it adds yet more antifeatures, i.e. JavaScript is a dialect of ECMAScript (other similar ECMAScript-based languages are e.g. ActionScript and JScript). [LRS](lrs.md) stance towards this language is clear: as any other mainstream [modern](modern.md) language **JavaScript is an absolutely unacceptable choice for any serious project**, though it may be used for quick experiments and ugly temporary programs as the language is high level, i.e. extremely easy, it doesn't require any ability to think, it works in every browser (so you get a kind of [multiplatformness](multiplatform.md)) and allows making things such as [GUI](gui.md) and visualizations super quickly and easily. But remember that this kind of "comfort" always comes for a cost too high to pay.
**How bloated is JavaScript?** Very much. A [MINIMALIST](minimalism.md) [C](c.md) implementation called QuickJS has around 80K [lines of code](loc.md) -- compare e.g. to about 25K for [tcc](tcc.md), a similar style implementation of C, and about 5K for [comun](comun.md). A more mainstream implementation of JavaScript, the [v8](v8.md) engine (used e.g. in node.js) has **over 1 million lines of code** of C++. { Checked with *cloc*. V8 also contains web assembly aside from JavaScript, but still you get the idea. ~drummyfish }