I feel that people are just hating js because others hate it, and not because they think it's bad, even the non js devs are hating on it for absolutely no reason.
The JS type system's biggest fault is trying to help you do things you didn't know you intended, mostly by casting everything to a string. It's like editing a word document, but Clippy has sudo privileges over your filesystem now.
@@i_should_be_coding Yeah wtf were they thinking? "let's make 0 == "0" for when the programmer forgot to remove the quotation marks, so he doesn't get an error and have to debug his code" lmao
@@Merthalophor i think the reason was for user input to work better, as in: they type a number, the program would think it is a string, but the programmer would want to compare it to a number.
It's like a monkey with a machine gun. You can't really blame the monkey for the small genocide it commits every time it wants to pass arguments to a function which is also an object because everything is an object.
I love how JavaScript worked around the weird equality test issues by adding more equality operators like === (in other words, no I mean it, is it really *really* equal?)
apparently it's not enough. I took at look at react a few years back, think it was around version 15/16. threw together a oneliner that walked the dep tree of a fresh 'new' react app (at a casual 200 mb), and counted duplicated libraries. the winner was an equality checker lib, at 19 duplicates
@@st-jn2gk I've been looking forward to try Flutter but never looked into Dart's syntax and features. Thanks for suggestion, would definitely try it out soon!
When React hooks started to gain popularity, I joked that JS devs don't want half of JS (the object-oriented parts). Now, with the popularity of TypeScript, I feel like most JS devs don't want JS at all.
Nah .. I am sad about some stupid $#!@ in JS but overall I am ok with the lang .. BUT I hate more and more other BASE tech. - its so bad design .. CSS and HTML, and request/response and like those uses kebab case, html comments are so stupidly bad it's not evem funny etc.
Fun fact: {} + [] is 0 because, in this case, {} is *not* an object. Rather, it's an anonymous block scope. If you're confused, it's equivalent to the expression "if (true) {} + []". "if (true) {}" isn't a piece of data--- it's a statement. The + operator in this case is unary, meaning that [] is its only operand. To demonstrate this, you could type out "+ []" and get the same result. Unary + simply casts its operand to a number. [] casts to 0. And hence, the result is 0.
Not even a mention that every implementation of Javascript is different and incompatible with other implementations. Theoretically same code should work on any web browser, or other webpage rendering device. In practice you write miles of code to test for presence of features, and work around their absence, and in the end it still fails on a number of devices where the test itself triggers a runtime error.
That has never happened to me as of yet, I thought that was a thing of the past. I can sort of agree that some functions still do this, but I don't think it's that prominent to be called a problem :)
@@MrQuantumCodes "That was a thing from the past" means you don't test your code on older devices. Some 3 weeks ago I decided I'll get back to Javascript after some 15-year hiatus, learn all the new stuff. Made a nice small webapp (a slideshow pulling random pictures off a *booru site) using all the modern best practices. Then bought the cheapest new 10" Android tablet to hang it on the wall and run the app on it, as a kind of electronic photoframe. Android 4.2, newest Chrome capable of running on it, 10 years old, the app crashed horribly. Allegedly JSON.Parse was on Chrome since the beginning, and is the fallback if newer JSON parsers fail. Apparently not on Android, sought alternatives, all too new, had to do the deprecated eval() people tell horror stories about. Fullscreen API - the standard version causes runtime error, but I managed to find the experimental, pre-standard implementation specific to Chrome and it worked. Checking for fullscreen was a no-go though, the checking for presence of the property would cause runtime error, never mind trying to read it. I had to scratch a modern, neat [].includes() to find if an element is in the array, and iterate elements like one would in Netscape Navigator. And had to do body id="body" because GetElementsByTagName wasn't implemented.
@@sharpfang Android 4.2 is a thing from the past though. It is well over a decade old now. I am not suprised modern JS won't run optimal on a deprecated OS
@@daveyvanderweide4977 And yet I bought the tablet "new" never used, from a retailer, dunno how old really but not some refurb. Recently seen a knock-off Xiaomi 12 phone look-alike, advertized to run Android 11. In reality it ran Android 4.2 reskinned to look like and identify as 11. And it wasn't some ancient product that spent ages in storage. It was manufactured over the past year, 'cause they wouldn't be able to replicate Xiaomi 12's look faithfully before its release. In short, Android 4.2 is far from dead, and its users, sellers and manufacturers don't care about its "deprecated" status. Meanwhile JS developers who do, create for these very users the problems I wrote about.
im making a country-creating game in JS AND IT'S LITERALLY AN APP LMAO that's the reason i use localstorage over json, because i literally can't use json
Yep. A general purpose tool that can be a applied to any job is almost always going to be a bad tool for whatever job you apply it to. It's like trying to dig a hole with a butterknife. Sure, you can, but someone came up with shovels for just this situation.
Javascript got me into a project that is a part LinkedIn, part Facebook, part Upwork, part Jira and part Medium. The deadline is January 2023, and there's 3 FE devs, including me. I'm the most senior with 3 years. Our backend isn't done yet.
Javascript would probably just be the giant AnCap conglomerate supervillain that thinks it is responsible for its own success but in fact is mainly dependent upon the many services it "supports" (meaning they really just use Javascript begrudgingly as a key to the mystical Document Object Model which only Javascript may enter (until the arrival of Web Assembly in season 2...));
@@andythedishwasher1117 The fact that the script tag has a type attribute is a clue that JS was never meant to be the only DOM scripting language. And yet here we are. The power of monopoly, cleverly disguised as "network effect".
I'm a C# dev who was forced by Amazon to code in JS. Now that I'm out of my month long journey of TS and NodeJS, I'm constantly putting $ in my strings in C#. Thanks JS
Despite being relatively experienced in javascript i am legitimately thinking about buying the course just because of the extremely concise, no BS style of delivery. I would unironically buy a course on every major language from you if it's done in the same style as your usual how-to's.
@@ZephrymWOW the entertainment value alone would worth it! I'd rather watch a good roast of my work platform than some laugh-tracked talking heads on TV...
I originally was gonna be a programmer. College was going great at first. Then we got to Java and JavaScript. That damn language made me immediately transfer my credits into a different major. In hindsight, I’m thankful JS saved me from a career of pain and depression
@@bri4498 Tbh we are learning javascript right now and i started messing around just with how optimized i could write code in it. Then the teacher asked me about my iq, just because I had an idea on what to do in javascript. Golden moment. But really, on the other hand i have been programming for 7 years beforehand in game maker studio, it was funny when a girl in class asked "ohh, you must've learned that before, right?" I nodded to be polite instead of telling her "This is my first attempt at this language lol". Anyway, it is funny, how exploiting these issues can also make some funny things. Like some vodoo magically optimized codes xD Like literally i optimized the teachers code to run at 50% of the normal time and made 1000000.... iterations to prove my point, yep it is indeed optimized lol.
I had a JS project last week in university which drove me insane because of the CommonJS, ES6 and bundling clusterfuck. Like everything you do breaks another thing. Then there are features which are supported since years in one browser and not in others (I look at you module web workers and importmaps). The video was relieved my pain.
I mainly use MDN as my reference for things Web. That has handy compatibility matrices for all the important features (that I’ve come across so far), so I know to only use stuff where all the boxes are green.
@@dylanbailey4791 We didn't lol. The prof had just Chrome as a requirement so Firefox won't work at all because of importmap and module web workers. And library wise we discarded everything except ES6 modules. That worked quite well, because bundling isn't required then.
I've recently tried JS. I am not a dev, I am a tech writer and I wanted some functionality in the webdoc I was making that the Jekyll theme we use does not support out of the box. I know some basic Python and I studied R as part of my linguistics major so I figured implementing a couple of simple scripts would be totally non-issue. And no, it was not an issue, I figured out quite quickly how to code the entire thing. Problem was, I would have spent at least a third of that time less if JS had syntax that made sense and if its console log errors were remotely descriptive of what is wrong with your code. I might be stupid, I have an arts degree after all, but to me, "x is not a function" does not intuitively mean that I missed one semicolon in a few dozens of lines of code.
Nah, I think it's rather cute how you can make impressive shit happen by just literally writing 3 lines, no libs or builds or other bloating required. Of course, it doesn't scale great but it definitely has beling instantly available as an advantage.
HAHAHAHA...just pretentious people bitching about JS while using a fucking browser that works like a fucking charm!!! HAHAHAHAHAHAHAHAHAHAHA! Good grief!🤣
That's the thing. With vanilla it's just all good and games but no employeers want just vanilla or even jquery!!! They want dumb libraries like Ruby or Angular because why make things easy 🙄
One of our pipelines will occasionally write files with lines that are '[object Object]' and it's been a bit of a mystery why that's happening but I think this video solved that
Couldn't be too good at programming or anything for that matter if you're given the solution to an issue and still aren't sure whether it's the solution
@@pleonexia4772 always love coming to comments with people being like “if blah blah blah, then you mustn’t be good at programming”. Usually all from people who don’t know anything about programming 💩
Was furloughed recently which sucked since it was right before the holidays and after making some hefty financial commitments. Sent out my resume to various places. Was hoping for a job that used a typed language. Lo and behold, I was able to land a job with TS/JS (close enough) a week before thanksgiving. Not what I wanted but I love it. Do I recommend? No, but I love it!
it's kinda insane to think about how JavaScript, a language that (if you look at particular objective measures to gauge the quality of a language) kinda sucks, got popular
As a student learning JS I should mention that modern courses tend to avoid talking about type conversion and often encourage developers to use TS as soon as they get some basic understanding of the language.
First error (tip for free): you should not try to love this thing. It is a healthy hate-hate relation you must target. That thing only works if you yell at screen and call it of all bad words you can remember.
I'm a high school CS teacher and I love to teach JS. In my experience, students want to quickly build things that look fancy and quickly get bored with dull black terminal windows or sandboxed solutions for use in schools only like Kara or Greenfoot. HTML/CSS is easy to learn and allows them to start their project with an almost finished GUI that they can quickly adapt or rewrite workout changing the actual app. This is also a good demonstration of SoC (which I have never been taught in school, hence all my programs were slapped into ghastly messes of single Java files) with HTML for the structure, CSS for the design and JS for the functionality. Last but not least, JS's event driven control flow is really intuitive, especially when you've worked with graphical programming tools like Scratch or AppInventor before, and prevents you from nesting loops into each other which you won't understand later.
On behalf of all the students that hate JS and prefer python, old fashioned CLI, and C#... Phuck you for continuing the spread of this abomination of coding.
I remember in uni I had to research like everything about JavaScript (just because a guy that dropped out chose C++ and we weren't allowed to pick the same language...) And a fun fact I remember (or may be mis-remembering) is that they named it JAVAscript to "profit" on the popularity of Java, but then people took at look at it and were like "dafuq is this" lol
I've never written javascript code, returned back to it and immediately know what it's doing. I'm alwas looking at it like "wait, this actually works?"
That reverse psychology ending is gold. I actually love JS. Easy to learn, hard to master, for sure. And like you, it has put food on my tables so hate away lol
Comming from the C background where I used to know each and everylogic or at least how program is running ..... now doing js feels like learning alien programming language ...... the two things which haunt me the most is ... NaN != NaN and the sort function ... wtf is this ... who creates such type of sort function??? who even use such type of sorting for numbers ??????
I once saw a video where a guy wrote a compiler in javascript using zero numbers or letters, just various brackets and arithmetic operators. I hadn’t started learning JS at the time, and that told me everything I needed to know about what I was about to dive into
Coding in Javascript is like coding liquids. If you put an integer into a let, it becomes and integer variable, and then you can also set this integer variable to contain a string if you don't need it anymore. It's cool. Sometimes
Personally I wouldn't allow anything other than "const". Unfortunately this still doesn't give you any type safety. Also, it breaks all forms of non-recursive iteration; good, in my arrogant opinion those are unnecessary syntactic sugar anyway and only encourage writing spaghetti code. The reason some languages have static typing is to discourage repurposing variables. And that doesn't work _at all._ Go goes so far as to use a different operator for when you reassign a variable, but it _still allows it._ Dynamic typing is cool though. It enables functional polymorphism. That's also why generic types are a thing.
I'm a Rip Van Winkle older programmer who drifted off from VB6 into VBscript and MS Office for the past 20+ years. Gave this vid a thumbs up for making me finally learn that JavaScript is not a slimmed-down version of Java, but "something else".
And that's why we have "strict mode" and typescript. That being said, I love javascript because it lets me do insane crap other programming languages would not even allow me to compile. With parenthesis in the right place you can make some pretty crazy half-number/half-string that surprisingly work.
That's the paradoxal beauty of it all. The fastest, bug-free, secure and easiest to read and maintain code is the one that doesn't exist at all ! (I'm actually dead serious because it is true when you really think about it).
Jeff: "JavaScript, an embarrassing toy language used exclusively to build things it's not supposed to" Me: "Now, THIS is my kind of Fireship video. 😂" Also, Jeff will only be cancelled if he makes a "JavaScript for the Lovers" video. Now that's one I definitely don't want to watch!
I often wonder if I should learn JavaScript to break into the industry but then videos like this talk me off the ledge. I reckon I’ll stick to learning python.
Seemed like a sensible and well informed video until 2:48. I feel like when JS was first responsible for me having to click OK through hundreds of dialogue boxes when I was expecting sexy nudes instead.
Sometimes I wonder what seemingly every single javascript framework compares itself to when they sell themselves as "lightweight", "fast" and "easy to learn".
@@ahandlethatisnottaken they should leave the OG alone man. Poor jQuery has been serving JS devs for years and years and years. I mostly use it to do some trivial shit which I don't like to code tons of boilerplates using vanilla JS.
I made a game with javascript having never coded in any language prior to that, and I swear to god I was ready to give up each time the entire game just completely blanked out because I added 1 too many equal signs
Non-JS developers: Finally a video for me..
JS developers: Finally a video for me..
🤔
I feel that people are just hating js because others hate it, and not because they think it's bad, even the non js devs are hating on it for absolutely no reason.
Yeah! I am JS developer and waiting for this video!
Yoooooo
@@somebody_2837 no, its just a bad language, it was not designed to be used this extensively
When you code in JS, you always want to shout "F%ck this", but you can't be sure what "this" means in your local environment...
The call site, my fella.
yooo virbox im a huge fan of your videos keep up the great work
@@iuseflare hi, thank you 😊
This mean this
@@muhammadksatriaakbarariend8684 but what's *this* ?
"Completely detatched from reality" is the most accurate description of js type system that I've ever heard
The JS type system's biggest fault is trying to help you do things you didn't know you intended, mostly by casting everything to a string.
It's like editing a word document, but Clippy has sudo privileges over your filesystem now.
@@i_should_be_coding Yeah wtf were they thinking? "let's make 0 == "0" for when the programmer forgot to remove the quotation marks, so he doesn't get an error and have to debug his code" lmao
@@Merthalophor and so we have === for type checking
@@Merthalophor i think the reason was for user input to work better, as in: they type a number, the program would think it is a string, but the programmer would want to compare it to a number.
It's like a monkey with a machine gun. You can't really blame the monkey for the small genocide it commits every time it wants to pass arguments to a function which is also an object because everything is an object.
The worst thing about JavaScript is being a tutor trying to explain "that's not how it should work, and you shouldn't do that, but yes, it does work"
that's exactly what my teacher says in every class 🤣🤣🤣
That's why you should study js by urself reading specs
If you listen closely, you can hear the faint screams from inside the tutor's braincase ...
too relatable that it hurts.
I had the same issue
1:18 I love how he couldn’t be bothered to say “object” twice so he copied the audio, following the DRY principle
languagesEverCreated.some(lang => isJavaScript(lang)) // ⇒ true
Checks out!
I see what you did there 😄😄
Definitely
It is one of the languages of all time
If i had to rate it out of 10 i would rate it a number
@@dontreadmyusername6787 and I would rate it out of 10
There was Atwood's law, now here's my law:
"Everybody who can code in JavaScript, suffers with JavaScript"
* cries in JavaScript *
@Dr. Gregory House the answer is yes.
If you don't hate JS at least partially after using it, you haven't used it thoroughly yet.
Sadly, you don't have to code in it to suffer from it
i dont hate js, i hate ms
"Puts food on my family"
Well, considering JS type conversion, a family and a table are the same thing for JS, so this is acceptable. xD
If you add food and family it equals dinner table in JS
For those who don't know, that's actually a quote from George Bush
@@David_Box Yes! Just like free nations don't develop weapons of mass destruction!
What types in JS
oq vc ta fazendo por aqui meu caro jogador de oxygen not included? Não é possível que vc possa ter uma vida normal!
I love how JavaScript worked around the weird equality test issues by adding more equality operators like === (in other words, no I mean it, is it really *really* equal?)
It's more equally equal.
No other language has this because '==' in those languages is testing for equality but '==' in JS... isn't. Because it's "Like Java but for r*tards."
"They are all equal…… but some are more equal than others."
apparently it's not enough. I took at look at react a few years back, think it was around version 15/16. threw together a oneliner that walked the dep tree of a fresh 'new' react app (at a casual 200 mb), and counted duplicated libraries. the winner was an equality checker lib, at 19 duplicates
@@dotanuki3371 wtf really? what do you need 19 duplicates for!?!?!
Please make Python for the Haters
🥺🥺🥺
This. Please fireship it's all I want for Christmas this year
I love that the only good thing he has to say about JS is that he gets paid good money to write it
No, he said it puts food on his family.
He also said he loves programming with it.
yeah but he said it like he's being held hostage@@theycallmerye3
@@monkey_gamer_001 that's just his voice
All these new coders only in it for the money are so cringe. Like it genuinely makes me happy knowing all of you will fail and remain broke forever
-Un- popular opinion: The only problem with TypeScript is that it's based on JavaScript
Have you tried dart? it feels like the most elegant amalgamation of both. truly a beautiful language. Unfortunately only has a community for flutter.
@@st-jn2gk I've been looking forward to try Flutter but never looked into Dart's syntax and features. Thanks for suggestion, would definitely try it out soon!
Tru
Popular opinion*
@@st-jn2gk Dart is so amazing
Non-JS devs: hates JS.
JS devs: hates JS every moment.
You mean moment.js?
@@oktavic777 lmao
When React hooks started to gain popularity, I joked that JS devs don't want half of JS (the object-oriented parts).
Now, with the popularity of TypeScript, I feel like most JS devs don't want JS at all.
Moment gives me PTSD.
Nah .. I am sad about some stupid $#!@ in JS but overall I am ok with the lang .. BUT I hate more and more other BASE tech. - its so bad design .. CSS and HTML, and request/response and like those uses kebab case, html comments are so stupidly bad it's not evem funny etc.
"Programming in JS is like looking both ways to cross the street, and then getting hit by an airplane" - Don't know by who
😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂
笑死了
😂😂😂😂😂😂
me when function cross(road), but JS doesn't check what type of road. 😔
Fun fact: {} + [] is 0 because, in this case, {} is *not* an object. Rather, it's an anonymous block scope. If you're confused, it's equivalent to the expression "if (true) {} + []". "if (true) {}" isn't a piece of data--- it's a statement. The + operator in this case is unary, meaning that [] is its only operand. To demonstrate this, you could type out "+ []" and get the same result. Unary + simply casts its operand to a number. [] casts to 0. And hence, the result is 0.
Where did the semicolons get inserted?
@@Lexaire nowhere because JavaScript doesn't require them
What the fuuuuuuuuuukkk
Cool, now explain 2 - "2" = 0 and 2 + "2" = 22
@@dantnad type coercion, ints and strings have different definitions for the + operand so javascript converts a string to an int or vice-versa
Not even a mention that every implementation of Javascript is different and incompatible with other implementations. Theoretically same code should work on any web browser, or other webpage rendering device. In practice you write miles of code to test for presence of features, and work around their absence, and in the end it still fails on a number of devices where the test itself triggers a runtime error.
That has never happened to me as of yet, I thought that was a thing of the past. I can sort of agree that some functions still do this, but I don't think it's that prominent to be called a problem :)
@@MrQuantumCodes You don't run your code on enough devices.
@@MrQuantumCodes "That was a thing from the past" means you don't test your code on older devices. Some 3 weeks ago I decided I'll get back to Javascript after some 15-year hiatus, learn all the new stuff. Made a nice small webapp (a slideshow pulling random pictures off a *booru site) using all the modern best practices. Then bought the cheapest new 10" Android tablet to hang it on the wall and run the app on it, as a kind of electronic photoframe. Android 4.2, newest Chrome capable of running on it, 10 years old, the app crashed horribly. Allegedly JSON.Parse was on Chrome since the beginning, and is the fallback if newer JSON parsers fail. Apparently not on Android, sought alternatives, all too new, had to do the deprecated eval() people tell horror stories about. Fullscreen API - the standard version causes runtime error, but I managed to find the experimental, pre-standard implementation specific to Chrome and it worked. Checking for fullscreen was a no-go though, the checking for presence of the property would cause runtime error, never mind trying to read it. I had to scratch a modern, neat [].includes() to find if an element is in the array, and iterate elements like one would in Netscape Navigator. And had to do body id="body" because GetElementsByTagName wasn't implemented.
@@sharpfang Android 4.2 is a thing from the past though. It is well over a decade old now. I am not suprised modern JS won't run optimal on a deprecated OS
@@daveyvanderweide4977 And yet I bought the tablet "new" never used, from a retailer, dunno how old really but not some refurb. Recently seen a knock-off Xiaomi 12 phone look-alike, advertized to run Android 11. In reality it ran Android 4.2 reskinned to look like and identify as 11. And it wasn't some ancient product that spent ages in storage. It was manufactured over the past year, 'cause they wouldn't be able to replicate Xiaomi 12's look faithfully before its release. In short, Android 4.2 is far from dead, and its users, sellers and manufacturers don't care about its "deprecated" status. Meanwhile JS developers who do, create for these very users the problems I wrote about.
I’ve been working as a react developer full-time for the past 5 years and I’m absolutely stoked to see someone shit on JavaScript
Just starting out, got any tips?
@@RikTaa abandon ship
@@RikTaa Learn a real language like C
@@bobbypaycheque probably not worth it, easier to get js job first and then start learning something more complicated like C
@@bobbypaycheque C is for kids, just learn assembly language
Best 100 seconds to send to someone planning to try and be a javascript dev.
From: A javascript dev.
😂
Literally decided to learn JavaScript 12 hours ago. Had no idea what I was in for.
@@pleonexia4772 Go for Rust, it works, and has a compilation step
@@pleonexia4772 I learned it because I needed to, but I have made a few funny things with it and I learned enough to do some troubleshooting.
I've never understood why it's called 100 seconds when the videos are 160-170?
"Used exclusively to build things it's not supposed to" few hours earlier I was working on a TS/JS project and had this exact thought.
someone made a minecraft mod just for allowing people to code is js 💀💀💀
@@_robertas he wants them dead probably
@@_robertas xdd
im making a country-creating game in JS AND IT'S LITERALLY AN APP LMAO
that's the reason i use localstorage over json, because i literally can't use json
Yep. A general purpose tool that can be a applied to any job is almost always going to be a bad tool for whatever job you apply it to. It's like trying to dig a hole with a butterknife. Sure, you can, but someone came up with shovels for just this situation.
Javascript got me into a project that is a part LinkedIn, part Facebook, part Upwork, part Jira and part Medium.
The deadline is January 2023, and there's 3 FE devs, including me. I'm the most senior with 3 years.
Our backend isn't done yet.
LOL
Sounds about right
Psh, the backend is just a random DB vendor stitched together with Node and Express.
what is the name of the project?
Can you create a GUI with Visual Basic to track your progress?
I'd just use PHP. That's what Facebook was built on. Power to the users!
Dude you nailed it so hard. The Cronenberg mascot idea floored me. I feel like there needs to be a cartoon with programming languages as characters...
Javascript would probably just be the giant AnCap conglomerate supervillain that thinks it is responsible for its own success but in fact is mainly dependent upon the many services it "supports" (meaning they really just use Javascript begrudgingly as a key to the mystical Document Object Model which only Javascript may enter (until the arrival of Web Assembly in season 2...));
@@andythedishwasher1117 The fact that the script tag has a type attribute is a clue that JS was never meant to be the only DOM scripting language. And yet here we are. The power of monopoly, cleverly disguised as "network effect".
I'm a C# dev who was forced by Amazon to code in JS.
Now that I'm out of my month long journey of TS and NodeJS, I'm constantly putting $ in my strings in C#.
Thanks JS
at least you are not concatenating strings!
learn php and maybe you put $ in variable name as well
@@farid-frederick PHP > JS
@@encycl07pedia- I love new features in php8
input "what is your name? "; name$
Despite being relatively experienced in javascript i am legitimately thinking about buying the course just because of the extremely concise, no BS style of delivery. I would unironically buy a course on every major language from you if it's done in the same style as your usual how-to's.
if your experienced then you have no use for these courses lol. Just make something. Sounds like your experienced in tutorial hell.
@@ZephrymWOW let people enjoy things in life.
@@ZephrymWOW Bullshit. 60s w/this guy is equal to hours of experimentation.
@@ZephrymWOW the entertainment value alone would worth it! I'd rather watch a good roast of my work platform than some laugh-tracked talking heads on TV...
This has got to be good
"this" is always a good joke in javascript
it is
What do you mean by “this”
@@andylee5969 what does any JavaScript developer mean by ‘this’? Whatever it is I’m sure the interpreter disagrees.
How this comment 21 hours ago when video is only 1 hour ago
I originally was gonna be a programmer. College was going great at first. Then we got to Java and JavaScript. That damn language made me immediately transfer my credits into a different major. In hindsight, I’m thankful JS saved me from a career of pain and depression
based
Big BS but you have an anime avatar so that's no surprise.
@@vapeurdepisse Counterargument: I am in your walls
@@bri4498 Tbh we are learning javascript right now and i started messing around just with how optimized i could write code in it. Then the teacher asked me about my iq, just because I had an idea on what to do in javascript. Golden moment.
But really, on the other hand i have been programming for 7 years beforehand in game maker studio, it was funny when a girl in class asked "ohh, you must've learned that before, right?" I nodded to be polite instead of telling her "This is my first attempt at this language lol".
Anyway, it is funny, how exploiting these issues can also make some funny things. Like some vodoo magically optimized codes xD
Like literally i optimized the teachers code to run at 50% of the normal time and made 1000000.... iterations to prove my point, yep it is indeed optimized lol.
@@bri4498 what's wrong with scratch?
"it puts food on my family" Yep. That is exactly how JS works.
George Bush said this back in the day
I had a JS project last week in university which drove me insane because of the CommonJS, ES6 and bundling clusterfuck. Like everything you do breaks another thing. Then there are features which are supported since years in one browser and not in others (I look at you module web workers and importmaps).
The video was relieved my pain.
I mainly use MDN as my reference for things Web. That has handy compatibility matrices for all the important features (that I’ve come across so far), so I know to only use stuff where all the boxes are green.
Out of curiosity, how on earth did you solve it? Java to Js dev here, trying to make npm packages at my job has been a nightmare
@@dylanbailey4791 We didn't lol. The prof had just Chrome as a requirement so Firefox won't work at all because of importmap and module web workers. And library wise we discarded everything except ES6 modules. That worked quite well, because bundling isn't required then.
JavaScript dev when debugging: "Where tf my data going?"
God damn true
Best errors are when the console and the page is just blank. Like wtf did just happen?
@@Daaboo that's more like react type of shit
"it's a loosely typed language, and by that I mean completely detached from reality"
the burn is real xD
I never even wanted to learn JS, now I'm stuck writing it forever.
@DeadManWalking - True. Though, ironically, I think CoffeeScript would make an excellent shell scripting language.
I've recently tried JS. I am not a dev, I am a tech writer and I wanted some functionality in the webdoc I was making that the Jekyll theme we use does not support out of the box. I know some basic Python and I studied R as part of my linguistics major so I figured implementing a couple of simple scripts would be totally non-issue.
And no, it was not an issue, I figured out quite quickly how to code the entire thing. Problem was, I would have spent at least a third of that time less if JS had syntax that made sense and if its console log errors were remotely descriptive of what is wrong with your code. I might be stupid, I have an arts degree after all, but to me, "x is not a function" does not intuitively mean that I missed one semicolon in a few dozens of lines of code.
The last part of your paragraph sounded like frustration 😭
I'll be honest, most error msgs are nondescriptive pieces of garbage that don't even point to the area of the error so I get you man
A good IDE will oftenmost point out syntax errors for you that the error logging would be useless for.
@@Saphkey I used browser and text editor, and console messages in the browser were useless crap most of the time 😢
that's why you use a formatter like prettier or so
1:18 thumbs up for sound effect on object Object
"Homeless developers" lol. Seriously entertaining. Best video to date. And I'll need to build some npm modules.
"Because it puts food on my family"
man I love your humor :D
Ya that reference is 20+ years old by now
Didn't ask
@@ericvogler6909 reference to what?
@@madhououinkyoma It was something dumb George W. Bush said.
I love how we as a community can disagree on many things, but we all collectively hate javasctipt 😂👍
Nah, I think it's rather cute how you can make impressive shit happen by just literally writing 3 lines, no libs or builds or other bloating required. Of course, it doesn't scale great but it definitely has beling instantly available as an advantage.
yeah i do suffer with js but don't touch to my localstorage
HAHAHAHA...just pretentious people bitching about JS while using a fucking browser that works like a fucking charm!!! HAHAHAHAHAHAHAHAHAHAHA! Good grief!🤣
and yet still our lives depends on it.
That's the thing. With vanilla it's just all good and games but no employeers want just vanilla or even jquery!!! They want dumb libraries like Ruby or Angular because why make things easy 🙄
Fun fact: The binary stuff in 0:12 actually means "hi mom"
01101000 01101001
00100000 01101101
01101111 01101101
One of our pipelines will occasionally write files with lines that are '[object Object]' and it's been a bit of a mystery why that's happening but I think this video solved that
Couldn't be too good at programming or anything for that matter if you're given the solution to an issue and still aren't sure whether it's the solution
@@pleonexia4772 if you're given the solution to an issue and you're sure it's the solution then you've not programmed enough
@@pleonexia4772 always love coming to comments with people being like “if blah blah blah, then you mustn’t be good at programming”. Usually all from people who don’t know anything about programming 💩
@@madhououinkyoma if you can’t take a joke about programming, you don’t do enough programming… also JS is “scripting” not “programming” hehe 🔥
@@pleonexia4772 Let's say you probably don't know javascript if you don't know that printing an object will by default print "[object Object]".
This has to be 1000 seconds long
no
that's around 16 minutes, which isn't that much.
unless you meant that? idfk
420/(1000-"1000" )
No man, I'd die of laughter.
I had to play it at half speed, so that is closer to 1000 seconds 😅
Whenever you feel like you regret choosing JS as a primary lang, just remember that you could have chosen a PHP
$whats $wrong $with $p$h$p ?
To someone who worked on compilers or interpreters javascript looks exactly like the first language you will develop in a compilers course
The fact that JS was originally a lisp before the author was told to "make it look more like this new Java thing" makes it even better
eh, my compilers course had us making a language that resembled Turbo Pascal, with most of the features stripped out.
I love JS because having to work with it for half a year motivated me to finish my master’s degree in data science/AI.
Was furloughed recently which sucked since it was right before the holidays and after making some hefty financial commitments. Sent out my resume to various places. Was hoping for a job that used a typed language. Lo and behold, I was able to land a job with TS/JS (close enough) a week before thanksgiving. Not what I wanted but I love it. Do I recommend? No, but I love it!
oh boy this is gonna be a fun one :)
A JS dev making a video where he roasts JS and other JS devs are looking forward to see it
it's kinda insane to think about how JavaScript, a language that (if you look at particular objective measures to gauge the quality of a language) kinda sucks, got popular
If anyone bothers - the binary numbers in 0:12 translate to "hi mom" in ASCII
Made me laugh out loud a few times. This is a good one, thanks.
As a student learning JS I should mention that modern courses tend to avoid talking about type conversion and often encourage developers to use TS as soon as they get some basic understanding of the language.
Why am I not surprised... Have you heard of our lord and savior, Web Assembly?
The problem is that JS is still in schools :/
Everyone should avoid talking about type conversion in JS, can be a real mess.
@@JorgetePanete Until there is a good replacement for web dev you will always have a need for lots of JS devs
@@colinmarshall6634 WASM in Rust or The Next Thing™
My biggest fear is an interviewer asking me 2+"2" and 2-"2" kind of questions 😅
You perfectly "summed it up" 😄
It's manageable until you get things like {} + []
Your pacing and delivery are perfect
I'm trying to love this language, but in the end it makes me feel like I should go to therapy after deploying a new build.
First error (tip for free): you should not try to love this thing. It is a healthy hate-hate relation you must target. That thing only works if you yell at screen and call it of all bad words you can remember.
Using JavaScript makes me feel like MacGyver
Be like Me - PHP for LIFE!!! 😊
@@vasiovasio Symfony to be specific!!
Though we also have to deal with JS from time to time.
Have u tried build react-native app? this is the circle of hell
I think I will agree with 100% of this, waiting for the video, I am a js developpeur.
plzzz no baguette
@@sweJEverywhere 🥖
Totally worth the waiting! And yes, i'm also a js developer who hates and loves js
you actually made me feel the need to learn Rust or Go.
Man, I face real anxiety when someone asks output based questions in a JS interview.
I'm a high school CS teacher and I love to teach JS. In my experience, students want to quickly build things that look fancy and quickly get bored with dull black terminal windows or sandboxed solutions for use in schools only like Kara or Greenfoot. HTML/CSS is easy to learn and allows them to start their project with an almost finished GUI that they can quickly adapt or rewrite workout changing the actual app. This is also a good demonstration of SoC (which I have never been taught in school, hence all my programs were slapped into ghastly messes of single Java files) with HTML for the structure, CSS for the design and JS for the functionality. Last but not least, JS's event driven control flow is really intuitive, especially when you've worked with graphical programming tools like Scratch or AppInventor before, and prevents you from nesting loops into each other which you won't understand later.
On behalf of all the students that hate JS and prefer python, old fashioned CLI, and C#...
Phuck you for continuing the spread of this abomination of coding.
[object Object] in NaN seconds.
I'll just w8 here and refresh.
Therapist: can you define a love/hate relationship in your life?
Me: “JavaScript ”
I still don’t know if I’m supposed to put semi colons after each line or not
You don't have to, but it's good practice.
2:01 Someone please tell me why is-odd has 400K downloads (I'm not a JS dev if you couldn't tell)
As a pre-web programmer, I got the same sickly feeling when JavaScript came out that I did when CSS was inflicted on us.
the binary at 0:12 reads, hi mom
This is hilarious 😂 better than most stand-up comedy stuff!
I remember in uni I had to research like everything about JavaScript (just because a guy that dropped out chose C++ and we weren't allowed to pick the same language...) And a fun fact I remember (or may be mis-remembering) is that they named it JAVAscript to "profit" on the popularity of Java, but then people took at look at it and were like "dafuq is this" lol
I've never written javascript code, returned back to it and immediately know what it's doing. I'm alwas looking at it like "wait, this actually works?"
02:29 I WAS EATING, MAN WTF YOU'RE DOING !
That reverse psychology ending is gold. I actually love JS. Easy to learn, hard to master, for sure. And like you, it has put food on my tables so hate away lol
Well, it put food on his family so not the same
Same for my family too. Despite all the perceived hate, i could say with near certainty that the creator of the video truly loves the language.
the fake png💀💀💀
Comming from the C background where I used to know each and everylogic or at least how program is running ..... now doing js feels like learning alien programming language ...... the two things which haunt me the most is ... NaN != NaN and the sort function ... wtf is this ... who creates such type of sort function??? who even use such type of sorting for numbers ??????
1:58
Bruh albert enstein is haskel developer 😂
The electron memory hogging junk apps and the node horror speaks from my heart
This "for the haters" videos are just hilarious, I love 'em.
As a person constantly learning JS i can say, JS is not bad how it looks, it's worse
This is probably the best channel about development at the moment.
I once saw a video where a guy wrote a compiler in javascript using zero numbers or letters, just various brackets and arithmetic operators. I hadn’t started learning JS at the time, and that told me everything I needed to know about what I was about to dive into
"It puts food on my family." Wiser words were never spoken.
2:36 Javascript puts food on your family?🤔
Kkkkk😅
For the nerds, 0:12 says 'hi mom"
"For the nerds"
My brother in Christ, that's all of us here
Coding in Javascript is like coding liquids. If you put an integer into a let, it becomes and integer variable, and then you can also set this integer variable to contain a string if you don't need it anymore. It's cool. Sometimes
Personally I wouldn't allow anything other than "const". Unfortunately this still doesn't give you any type safety. Also, it breaks all forms of non-recursive iteration; good, in my arrogant opinion those are unnecessary syntactic sugar anyway and only encourage writing spaghetti code.
The reason some languages have static typing is to discourage repurposing variables. And that doesn't work _at all._
Go goes so far as to use a different operator for when you reassign a variable, but it _still allows it._
Dynamic typing is cool though. It enables functional polymorphism. That's also why generic types are a thing.
I could swear your videos are getting more and more unhinged and I'M ALL HERE FOR IT
I'm a Rip Van Winkle older programmer who drifted off from VB6 into VBscript and MS Office for the past 20+ years. Gave this vid a thumbs up for making me finally learn that JavaScript is not a slimmed-down version of Java, but "something else".
Your one of the most awaited videos
I am?
this is gonna be lit just based off of the thumbnail
Developer with 20 years of JS experience once said: i have no idea what i'm doing...
I had no idea you were such a great comedian hahaha. I was LOL the whole video. Epic stuff mate
@fireship+𝟭𝟱𝟭𝟬𝟮𝟮𝟰𝟱𝟴𝟯𝟵 eat pant
And that's why we have "strict mode" and typescript. That being said, I love javascript because it lets me do insane crap other programming languages would not even allow me to compile. With parenthesis in the right place you can make some pretty crazy half-number/half-string that surprisingly work.
1. There are endless JS Frameworks
2. JS Framework's main goal is to reduce the use of JS.
That's the paradoxal beauty of it all. The fastest, bug-free, secure and easiest to read and maintain code is the one that doesn't exist at all ! (I'm actually dead serious because it is true when you really think about it).
"it helps me put food on my family" 🤣🤣 that took me by surprise, I'm gonna use that one day
Jeff: "JavaScript, an embarrassing toy language used exclusively to build things it's not supposed to"
Me: "Now, THIS is my kind of Fireship video. 😂"
Also, Jeff will only be cancelled if he makes a "JavaScript for the Lovers" video. Now that's one I definitely don't want to watch!
0:13 If anyone wonders this binary stands for "hi mom"
You listed David Cronenberg with the title "Canadian", does that certify his understanding of monstrosities?
Just in case anyone is wondering what that machine language in the intro say's. It says "Hi Mom"😅
Of course ;)
Finally a video for me.
wtf is wrong with u?
Yeah
Q: How much do you hate some gnarly aspects of JS?
A: Yes
I often wonder if I should learn JavaScript to break into the industry but then videos like this talk me off the ledge. I reckon I’ll stick to learning python.
As a 10+ year JS dev myself... lots a solid points. However I only code Vanilla JS these days and put most of the weight on PHP and CSS.
This is painful to watch because its so true.
Laughed my ass off. I think I'll just buy your course, that reverse psychology worked.
Seemed like a sensible and well informed video until 2:48. I feel like when JS was first responsible for me having to click OK through hundreds of dialogue boxes when I was expecting sexy nudes instead.
Ahhh Captain Janeway, Lace, the final brazier.
Sometimes I wonder what seemingly every single javascript framework compares itself to when they sell themselves as "lightweight", "fast" and "easy to learn".
probably to jQuery
@@ahandlethatisnottaken they should leave the OG alone man. Poor jQuery has been serving JS devs for years and years and years. I mostly use it to do some trivial shit which I don't like to code tons of boilerplates using vanilla JS.
I made a game with javascript having never coded in any language prior to that, and I swear to god I was ready to give up each time the entire game just completely blanked out because I added 1 too many equal signs
That David Cronernberg reference had me on the floor.