JavaScript for the Haters
Key Takeaways
The video discusses the criticisms and quirks of JavaScript, highlighting its history, design flaws, and ecosystem issues, while also acknowledging its evolution and importance as a programming language.
Full Transcript
JavaScript an embarrassing toy language used exclusively to build things it's not supposed to it was created by Brendan Ike in 1995 who was given requirements to build a language like Java but for words it only took him seven days to execute flawlessly it became an overnight dumpster fire but really hit the fan in 2005 when Ryan Dahl made the Epic mistake of bringing JavaScript to the server with node.js just like Alfred Nobel and dynamite he would go on to apologize for his invention many years later and it's my fault and I'm very sorry the language is designed for only one use case to annoy people with browser pop-ups but today it's used to build memory hogging desktop apps with electron janky mobile apps with react native and unreliable apis with express.js no matter what you're trying to build there are hundreds of different game-changing next-gen libraries to get the job done that's because whenever a JavaScript developer encounters a problem it will instinctively create a brand new framework and upload it to GitHub with a bunch of emojis in the readme in fact there are so many npm packages that Al Gore is now predicting the Arctic will be ice free by 2013 you have stolen my dreams in my childhood unlike languages people actually like JavaScript doesn't have a mascot but they are working with David Cronenberg to design one it's a Loosely typed language and by that I mean completely detached from reality when you add an array to an object obviously it returns a string that says object object now switch the order of the operands and predictably it returns zero if you want a good laugh for yourself try adding two objects together you'll get object object object object now with that knowledge what do you think two arrays will equal obviously an empty string that makes total sense because the number zero is equivalent to an empty array and also equivalent to a string of zero and that means the only possible same conclusion is that a string of zero is also equivalent to an empty array but amazingly it's not everybody knows you never go full retire it got this way because Netscape did a focus group in the 90s with some homeless web developers they found on the street who thought two plus two should equal 22 and of course that's why 2 minus two equals zero when a language is this bad and this popular at the same time it creates an ecosystem where libraries like is odd which does exactly what the name implies can get over 400 down or no 400 000 downloads per week the fun thing about packages is that there's multiple module systems like common JS and esm so you never know if the package you're installing is actually going to work now if you do manage to build something with JavaScript it'll probably never see the light of day because then you have to learn module bundling with a tool like webpack and it's just not worth it man this has been my cathartic release from over 10 years of JavaScript development despite its problems it's evolved into an awesome language in 2022 and I love programming with it today is Thanksgiving and I'm extremely thankful for JavaScript because it puts food on my family if you want to master the basics all this reverse psychology should motivate you to buy my JavaScript course and if you don't buy it I won't make any money thanks for watching and I will see you in the next one assuming I'm not entirely canceled after this video
Original Description
Why does everybody hate JavaScript so much? A complete roast of JS that highlights the strongest criticisms against the world's most popular programming language.
#javascript #roast #comedy
🔥 Black Friday Discount
https://fireship.io/pro
🔥 Use code BLACKFIRE at checkout for 40% off
💬 Chat with Me on Discord
https://discord.gg/fireship
🔗 Resources
- Full JavaScript Course https://fireship.io/courses/js
- JavaScript in 100 Seconds https://youtu.be/DHjqpvDnNGE
- React for the Haters https://youtu.be/HyWYpM_S-2c
🎨 My Editor Settings
- Atom One Dark
- vscode-icons
- Fira Code Font
🔖 Topics Covered
- JS Roast
- Funny JavaScript features
- Worst aspects of JavaScript
- JavaScript pitfalls
- JavaScript drama
Watch on YouTube ↗
(saves to browser)
Sign in to unlock AI tutor explanation · ⚡30
Playlist
Uploads from Fireship · Fireship · 0 of 60
← Previous
Next →
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
Angular 4 Development and Production Environments with Firebase
Fireship
OAuth with Angular and Firebase Tutorial
Fireship
Anonymous Authentication with Angular and Firebase - Lazy Registration
Fireship
Angular Router Guards for Firebase Users
Fireship
Angular Firebase CRUD App with NoSQL Database Tutorial
Fireship
Upload Files from Angular to Firebase Storage
Fireship
How to Deploy an Angular App to Firebase Hosting
Fireship
Sharing Data between Components in Angular
Fireship
Loading Spinners for Asynchronous Firebase Data
Fireship
Angular 4 Transactional Email with Google Firebase Cloud Functions
Fireship
Firebase Database Rules Tutorial
Fireship
Autocomplete Search with Angular4 and Firebase
Fireship
Reddit Inspired Upvoting System with Angular and Firebase NoSQL
Fireship
Angular Drag-and-Drop File Uploads to Firebase Storage
Fireship
Text Translation with Firebase Cloud Functions onWrite and Angular 4
Fireship
Custom Usernames with Firebase Authentication
Fireship
Twitter-Inspired Follow Unfollow Feature with Firebase and Angular 4
Fireship
Simple Pagination with Firebase and Angular 4
Fireship
How to Connect Firebase Users to their Data - 3 Methods
Fireship
Add Toast Message Notifications to your Angular App
Fireship
Facebook-Inspired Reactions System with Angular and Firebase
Fireship
Learn NgModule in Angular with Examples
Fireship
Lazy Loading Components in Angular 4
Fireship
Stripe Checkout Payments with Angular and Firebase - Part 1
Fireship
Process Stripe Payments with Firebase Cloud Functions - Part 2
Fireship
Selling Digital Content in Angular with Stripe Payments - Part 3
Fireship
Angular 4 Full Text Search with Algolia - Part 1
Fireship
Algolia with Firebase Cloud Functions - Part 2
Fireship
Firebase Phone Authentication in Angular 4
Fireship
Top 7 RxJS Concepts for Angular Developers
Fireship
Learn Angular Animations with 5 Examples
Fireship
Advanced Firebase Data Filtering (Multi-Property)
Fireship
Realtime Maps with Mapbox + Firebase + Angular
Fireship
Angular Reactive Forms with Firebase Database Backend
Fireship
Send Push Notifications in Angular with Firebase Cloud Messaging
Fireship
Top 7 Ways to Debug Angular 4 Apps
Fireship
Infinite Scroll with Angular and Firebase
Fireship
Use TypeScript with Firebase Cloud Functions
Fireship
Realtime Graphs and Charts with Plotly and Firebase
Fireship
Role-Based User Permissions in Firebase
Fireship
User Presence System in Realtime - Online, Offline, Away
Fireship
Location-based Queries with GeoFire and Angular Google Maps
Fireship
Angular ngrx Redux Quick Start Tutorial
Fireship
Angular Ngrx Effects with Firebase Database
Fireship
Progressive Web Apps with Angular
Fireship
Angular Ngrx with Firebase Google OAuth User Authentication
Fireship
RxJS Quick Start with Practical Examples
Fireship
Send SMS Text Messages with Twilio and Firebase
Fireship
Firebase Database Performance Profiling
Fireship
Native Desktop Apps with Angular and Electron
Fireship
Subscription Payments with Stripe, Angular, and Firebase
Fireship
Firestore with AngularFire5 Quick Start Tutorial
Fireship
Angular HTTP Client Quick Start Tutorial
Fireship
Google Sign-In with Firestore Custom User Data
Fireship
Star Review System from Scratch with Firestore + Angular
Fireship
Angular Chatbot with Dialogflow (API.ai)
Fireship
Learn @ngrx/entity and Feature Modules
Fireship
Infinite Scroll Pagination with Firestore
Fireship
Faster Firestore via Data Aggregation
Fireship
Contentful - CMS for Angular Progressive Web Apps
Fireship
More on: AI Pair Programming
View skill →Related AI Lessons
⚡
⚡
⚡
⚡
Had my Frontend Developer interview with Capgemini (Application Developer) today, and I wanted to…
Medium · JavaScript
10 Frontend Developer Tools to Boost Productivity in 2026
Medium · Programming
10 Frontend Developer Tools to Boost Productivity in 2026
Medium · JavaScript
The US Frontend Engineer Market in 2026: A Data-Driven Reality Check (and the Bias That Stops Us Seeing It)
Dev.to AI
🎓
Tutor Explanation
DeepCamp AI