JavaScript is a **strange paradox** in the world of programming. On one hand, it’s the **lifeblood of the web**, powering everything from simple animations to full-fledged applications. It’s everywhere—every browser runs it, and no modern website would function properly without it. That sheer **ubiquity** makes it **one of the most loved languages**, because if you know JavaScript, you can build almost anything. But at the same time, that **wide reach** is also what makes it **one of the most hated**. It’s a language that **evolved in a chaotic way**, picking up quirks and inconsistencies that developers have had to live with. Things like **automatic type coercion**, the infamous **"undefined is not a function"** errors, and the historically **messy scoping rules** frustrate even seasoned coders. And then there’s **asynchronous programming**. The introduction of **Promises** and **async/await** made things better, but JavaScript’s **event-driven nature** can still feel like a puzzle that’s constantly shifting. **Callback hell** used to be a nightmare, and even today, dealing with concurrency in JavaScript can be **both elegant and infuriating**. Despite its flaws, JavaScript **adapts**. **Frameworks like React, Vue, and Svelte** have turned it into something incredibly powerful, and **Node.js** brought it to the backend, making it a **full-stack language**. The ecosystem is gigantic, with an **endless supply of libraries**, though that’s also part of the problem—sometimes you don’t know **which package will break your project next week**. In the end, JavaScript is **both loved and hated because it refuses to be ignored**. It’s a language that constantly reinvents itself, forcing developers to either keep up or get frustrated. But one thing is certain—JavaScript is here to stay, and whether you love it or hate it, you’ll probably end up using it anyway.
Javascript is a horrible ugly language with a usable core which makes it possible to write decent code if one ignores all the advice of modern scum. All Javascript frameworks are horrible and there is no reason to use it on the server side. I wrote the following to explain the core of Javascript: Javascript is like a trans-sexual but is trans-paradigm. Just as a trans-sexual is one sex pretending to be another, Javascript is one paradigm (tables and closures like Lua) pretending to be another (object-oriented like Java). Things should be treated as they really are, not what they are pretending to be. So don't use the object-oriented features of Javascript, instead program Javascript like you would Lua. Writing object-oriented Javascript is like having sex with a trans-sexual.
Typescript was the worst thing that happened to javascript. Once nodeJS took off corporations needed to put hundreds of thousands of members of bloat teams into nodejs to make their bloat-ware. And the only thing these soy devs were ever taught was OOP. Sometimes a language takes off because it has good parts. The ability to sprinkle in functional programming to an iterative language is good. The more functional patterns you add the better. Instead of making a language meet the education of your soydevs they could have made the soydevs learn something better. Anyways check out my forum I've written from scratch in node using no frameworks. https://goatmatrix.net/c/Tech/8Cu972Y8st