JavaScript for the Haters

Sdílet
Vložit
  • čas přidán 23. 11. 2022
  • 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
    fireship.io/pro
    🔥 Use code BLACKFIRE at checkout for 40% off
    💬 Chat with Me on Discord
    / discord
    🔗 Resources
    - Full JavaScript Course fireship.io/courses/js
    - JavaScript in 100 Seconds • JavaScript in 100 Seconds
    - React for the Haters • React for the Haters i...
    🎨 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
  • Věda a technologie

Komentáře • 2,1K

  • @Virbox
    @Virbox Před rokem +17106

    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...

  • @maxxinmaze4501
    @maxxinmaze4501 Před rokem +12271

    Non-JS developers: Finally a video for me..
    JS developers: Finally a video for me..

    • @meegmemes
      @meegmemes Před rokem +21

      🤔

    • @somebody_2837
      @somebody_2837 Před rokem +61

      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.

    • @sharmarahul384
      @sharmarahul384 Před rokem +41

      Yeah! I am JS developer and waiting for this video!

    • @proyas21
      @proyas21 Před rokem +1

      Yoooooo

    • @ukaszzajac6704
      @ukaszzajac6704 Před rokem +84

      @@somebody_2837 no, its just a bad language, it was not designed to be used this extensively

  • @gibbyfromicarlybestshow986
    @gibbyfromicarlybestshow986 Před rokem +1504

    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"

    • @ziskador
      @ziskador Před 11 měsíci +62

      that's exactly what my teacher says in every class 🤣🤣🤣

    • @aki7162
      @aki7162 Před 5 měsíci +1

      That's why you should study js by urself reading specs

    • @DavidLaFontaine
      @DavidLaFontaine Před 4 měsíci +10

      If you listen closely, you can hear the faint screams from inside the tutor's braincase ...

    • @carlospacheco7544
      @carlospacheco7544 Před 11 dny

      too relatable that it hurts.

  • @migvelv
    @migvelv Před rokem +7971

    1:18 I love how he couldn’t be bothered to say “object” twice so he copied the audio, following the DRY principle

    • @Brawaru
      @Brawaru Před rokem +4

      languagesEverCreated.some(lang => isJavaScript(lang)) // ⇒ true
      Checks out!

    • @festusighalo
      @festusighalo Před rokem +153

      I see what you did there 😄😄

    • @yuriy636
      @yuriy636 Před rokem +40

      Definitely

    • @dontreadmyusername6787
      @dontreadmyusername6787 Před rokem +473

      It is one of the languages of all time
      If i had to rate it out of 10 i would rate it a number

    • @Zmunk19
      @Zmunk19 Před rokem +180

      @@dontreadmyusername6787 and I would rate it out of 10

  • @panlis6243
    @panlis6243 Před rokem +3941

    "Completely detatched from reality" is the most accurate description of js type system that I've ever heard

    • @i_should_be_coding
      @i_should_be_coding Před rokem +251

      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.

    • @Merthalophor
      @Merthalophor Před rokem +110

      @@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

    • @ChickenBoy260
      @ChickenBoy260 Před rokem +41

      @@Merthalophor and so we have === for type checking

    • @MrCool-lo3ls
      @MrCool-lo3ls Před rokem +30

      @@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.

    • @idanlib
      @idanlib Před rokem +1

      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.

  • @Xylight
    @Xylight Před rokem +3054

    There was Atwood's law, now here's my law:
    "Everybody who can code in JavaScript, suffers with JavaScript"

    • @adamantii
      @adamantii Před rokem +61

      * cries in JavaScript *

    • @mihir7126
      @mihir7126 Před rokem +4

      @Dr. Gregory House the answer is yes.

    • @BloodyMobile
      @BloodyMobile Před rokem +9

      If you don't hate JS at least partially after using it, you haven't used it thoroughly yet.

    • @lewa_j
      @lewa_j Před rokem +4

      Sadly, you don't have to code in it to suffer from it

    • @tedchupig
      @tedchupig Před rokem

      i dont hate js, i hate ms

  • @BrianOSheaPlus
    @BrianOSheaPlus Před rokem +1023

    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?)

    • @bellissimo4520
      @bellissimo4520 Před rokem +122

      It's more equally equal.

    • @ConernicusRex
      @ConernicusRex Před rokem

      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."

    • @Favmir
      @Favmir Před rokem +267

      "They are all equal…… but some are more equal than others."

    • @dotanuki3371
      @dotanuki3371 Před rokem +42

      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

    • @TheInnerSpark
      @TheInnerSpark Před 11 měsíci +5

      @@dotanuki3371 wtf really? what do you need 19 duplicates for!?!?!

  • @MxSlfDstrct
    @MxSlfDstrct Před rokem +782

    I love that the only good thing he has to say about JS is that he gets paid good money to write it

    • @_DRMR_
      @_DRMR_ Před rokem +71

      No, he said it puts food on his family.

    • @r.y.z.
      @r.y.z. Před 9 měsíci +4

      He also said he loves programming with it.

    • @monkey_gamer_001
      @monkey_gamer_001 Před 8 měsíci +8

      yeah but he said it like he's being held hostage@@r.y.z.

    • @r.y.z.
      @r.y.z. Před 8 měsíci

      @@monkey_gamer_001 that's just his voice

    • @JohnStockton7459
      @JohnStockton7459 Před 4 měsíci

      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

  • @pesterenan
    @pesterenan Před rokem +2103

    "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

    • @joostvisser8537
      @joostvisser8537 Před rokem +76

      If you add food and family it equals dinner table in JS

    • @David_Box
      @David_Box Před rokem +88

      For those who don't know, that's actually a quote from George Bush

    • @timurf6392
      @timurf6392 Před rokem

      @@David_Box Yes! Just like free nations don't develop weapons of mass destruction!

    • @vapeurdepisse
      @vapeurdepisse Před rokem +1

      What types in JS

    • @alanwilliamduarte5617
      @alanwilliamduarte5617 Před rokem +6

      oq vc ta fazendo por aqui meu caro jogador de oxygen not included? Não é possível que vc possa ter uma vida normal!

  • @rea9lizer
    @rea9lizer Před rokem +5780

    -Un- popular opinion: The only problem with TypeScript is that it's based on JavaScript

    • @st-jn2gk
      @st-jn2gk Před rokem +200

      Have you tried dart? it feels like the most elegant amalgamation of both. truly a beautiful language. Unfortunately only has a community for flutter.

    • @rea9lizer
      @rea9lizer Před rokem +51

      @@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!

    • @akatsukilevi
      @akatsukilevi Před rokem +6

      Tru

    • @LeoPacheco87
      @LeoPacheco87 Před rokem +57

      Popular opinion*

    • @aaronmarcus6295
      @aaronmarcus6295 Před rokem +21

      @@st-jn2gk Dart is so amazing

  • @Radian628
    @Radian628 Před rokem +1096

    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.

    • @Lexaire
      @Lexaire Před rokem +42

      Where did the semicolons get inserted?

    • @BluePieNinjaTV
      @BluePieNinjaTV Před rokem +105

      @@Lexaire nowhere because JavaScript doesn't require them

    • @crackwitz
      @crackwitz Před rokem +139

      What the fuuuuuuuuuukkk

    • @dantnad
      @dantnad Před rokem +121

      Cool, now explain 2 - "2" = 0 and 2 + "2" = 22

    • @geniewiley4217
      @geniewiley4217 Před rokem +138

      @@dantnad type coercion, ints and strings have different definitions for the + operand so javascript converts a string to an int or vice-versa

  • @JettoDz
    @JettoDz Před rokem +28

    "Programming in JS is like looking both ways to cross the street, and then getting hit by an airplane" - Don't know by who

    • @chadvise3308
      @chadvise3308 Před 3 měsíci

      😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂😂

  • @window.location
    @window.location Před rokem +1408

    Non-JS devs: hates JS.
    JS devs: hates JS every moment.

    • @oktavic777
      @oktavic777 Před rokem +100

      You mean moment.js?

    • @isaacqadri
      @isaacqadri Před rokem +10

      @@oktavic777 lmao

    • @CodecrafterArtemis
      @CodecrafterArtemis Před rokem +23

      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.

    • @mihir7126
      @mihir7126 Před rokem +5

      Moment gives me PTSD.

    • @jsonkody
      @jsonkody Před rokem +1

      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.

  • @ChrisLDGK
    @ChrisLDGK Před rokem +936

    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

    • @RikTaa
      @RikTaa Před rokem +14

      Just starting out, got any tips?

    • @faridguzman91
      @faridguzman91 Před rokem +193

      @@RikTaa abandon ship

    • @bobbypaycheque
      @bobbypaycheque Před rokem +70

      @@RikTaa Learn a real language like C

    • @user-ov1nn2sr4s
      @user-ov1nn2sr4s Před rokem +18

      @@bobbypaycheque probably not worth it, easier to get js job first and then start learning something more complicated like C

    • @nishantdesai3705
      @nishantdesai3705 Před rokem +139

      @@bobbypaycheque C is for kids, just learn assembly language

  • @asedtf
    @asedtf Před rokem +168

    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

    • @YuriG03042
      @YuriG03042 Před rokem +10

      at least you are not concatenating strings!

    • @farid-frederick
      @farid-frederick Před rokem +32

      learn php and maybe you put $ in variable name as well

    • @encycl07pedia-
      @encycl07pedia- Před rokem +3

      @@farid-frederick PHP > JS

    • @GreyDeathVaccine
      @GreyDeathVaccine Před rokem

      @@encycl07pedia- I love new features in php8

    • @isodoubIet
      @isodoubIet Před rokem +2

      input "what is your name? "; name$

  • @cIappo896
    @cIappo896 Před rokem +169

    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.

    • @isaiahdavis5435
      @isaiahdavis5435 Před rokem +9

      LOL

    • @ValidT
      @ValidT Před rokem +18

      Sounds about right

    • @darkwoodmovies
      @darkwoodmovies Před rokem +15

      Psh, the backend is just a random DB vendor stitched together with Node and Express.

    • @sergiishpak
      @sergiishpak Před rokem +3

      what is the name of the project?

    • @encycl07pedia-
      @encycl07pedia- Před rokem +1

      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!

  • @crappycoder
    @crappycoder Před rokem +428

    Best 100 seconds to send to someone planning to try and be a javascript dev.
    From: A javascript dev.

    • @JorgetePanete
      @JorgetePanete Před rokem

      😂

    • @pleonexia4772
      @pleonexia4772 Před rokem +18

      Literally decided to learn JavaScript 12 hours ago. Had no idea what I was in for.

    • @JorgetePanete
      @JorgetePanete Před rokem +6

      @@pleonexia4772 Go for Rust, it works, and has a compilation step

    • @javabeanz8549
      @javabeanz8549 Před rokem +5

      @@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.

    • @abjoern
      @abjoern Před rokem

      I've never understood why it's called 100 seconds when the videos are 160-170?

  • @BoloH.
    @BoloH. Před rokem +164

    "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.

    • @_robertas
      @_robertas Před rokem +9

      someone made a minecraft mod just for allowing people to code is js 💀💀💀

    • @i-ahmed3495
      @i-ahmed3495 Před rokem

      @@_robertas he wants them dead probably

    • @ouhyeap315
      @ouhyeap315 Před rokem +1

      ​@@_robertas xdd

    • @edipedipbulmaz
      @edipedipbulmaz Před rokem

      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

    • @ConernicusRex
      @ConernicusRex Před rokem +1

      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.

  • @sharpfang
    @sharpfang Před rokem +61

    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.

    • @MrQuantumCodes
      @MrQuantumCodes Před rokem

      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 :)

    • @Dragiux
      @Dragiux Před rokem +9

      @@MrQuantumCodes You don't run your code on enough devices.

    • @sharpfang
      @sharpfang Před rokem +5

      @@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.

    • @daveyvanderweide4977
      @daveyvanderweide4977 Před rokem +2

      @@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

    • @sharpfang
      @sharpfang Před rokem +1

      @@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.

  • @ShemoKam
    @ShemoKam Před rokem +201

    I love how we as a community can disagree on many things, but we all collectively hate javasctipt 😂👍

    • @Leonhart_93
      @Leonhart_93 Před rokem +7

      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.

    • @edipedipbulmaz
      @edipedipbulmaz Před rokem +1

      yeah i do suffer with js but don't touch to my localstorage

    • @juandiegofm
      @juandiegofm Před rokem

      HAHAHAHA...just pretentious people bitching about JS while using a fucking browser that works like a fucking charm!!! HAHAHAHAHAHAHAHAHAHAHA! Good grief!🤣

    • @thatboywithakeyboard9292
      @thatboywithakeyboard9292 Před rokem +3

      and yet still our lives depends on it.

    • @Daaboo
      @Daaboo Před 2 měsíci +1

      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 🙄

  • @frz_akbar
    @frz_akbar Před rokem +87

    JavaScript dev when debugging: "Where tf my data going?"

    • @rayleigh404
      @rayleigh404 Před rokem +7

      God damn true

    • @Daaboo
      @Daaboo Před 2 měsíci +1

      Best errors are when the console and the page is just blank. Like wtf did just happen?

  • @clxxiii
    @clxxiii Před rokem +416

    This has got to be good

    • @nicejungle
      @nicejungle Před rokem +68

      "this" is always a good joke in javascript

    • @patricksieber7338
      @patricksieber7338 Před rokem

      it is

    • @andylee5969
      @andylee5969 Před rokem +3

      What do you mean by “this”

    • @jonkf7548
      @jonkf7548 Před rokem +14

      @@andylee5969 what does any JavaScript developer mean by ‘this’? Whatever it is I’m sure the interpreter disagrees.

    • @ashishkarnkarnashish
      @ashishkarnkarnashish Před rokem

      How this comment 21 hours ago when video is only 1 hour ago

  • @oODomeeOo
    @oODomeeOo Před rokem +72

    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.

    • @lawrencedoliveiro9104
      @lawrencedoliveiro9104 Před rokem +10

      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
      @dylanbailey4791 Před rokem +2

      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

    • @oODomeeOo
      @oODomeeOo Před rokem +7

      @@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.

  • @amalkatrazz
    @amalkatrazz Před rokem +204

    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.

    • @Gintoki_Madao
      @Gintoki_Madao Před rokem +33

      The last part of your paragraph sounded like frustration 😭

    • @joon_yoo
      @joon_yoo Před rokem +33

      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

    • @Saphkey
      @Saphkey Před rokem +10

      A good IDE will oftenmost point out syntax errors for you that the error logging would be useless for.

    • @amalkatrazz
      @amalkatrazz Před rokem +4

      @@Saphkey I used browser and text editor, and console messages in the browser were useless crap most of the time 😢

    • @manuelsilva3754
      @manuelsilva3754 Před rokem +3

      that's why you use a formatter like prettier or so

  • @ryanpmcguire
    @ryanpmcguire Před rokem +274

    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
      @ZephrymWOW Před rokem +20

      if your experienced then you have no use for these courses lol. Just make something. Sounds like your experienced in tutorial hell.

    • @poolkrooni
      @poolkrooni Před rokem +62

      @@ZephrymWOW let people enjoy things in life.

    • @adambickford8720
      @adambickford8720 Před rokem

      @@ZephrymWOW Bullshit. 60s w/this guy is equal to hours of experimentation.

    • @trumpetpunk42
      @trumpetpunk42 Před rokem +12

      @@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...

  • @mikelezhnin8601
    @mikelezhnin8601 Před rokem +45

    "it's a loosely typed language, and by that I mean completely detached from reality"
    the burn is real xD

  • @carlsmith8593
    @carlsmith8593 Před rokem +51

    I never even wanted to learn JS, now I'm stuck writing it forever.

    • @Marie-qv6on
      @Marie-qv6on Před rokem +1

      you’re telling me

    • @carlsmith8593
      @carlsmith8593 Před rokem

      @DeadManWalking - True. Though, ironically, I think CoffeeScript would make an excellent shell scripting language.

  • @DrAnimePhD
    @DrAnimePhD Před rokem +73

    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

    • @RomanMlejnek
      @RomanMlejnek Před rokem +14

      based

    • @vapeurdepisse
      @vapeurdepisse Před rokem +22

      Big BS but you have an anime avatar so that's no surprise.

    • @DrAnimePhD
      @DrAnimePhD Před rokem

      @@vapeurdepisse Counterargument: I am in your walls

    • @thebuffman5597
      @thebuffman5597 Před rokem +2

      @@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.

    • @crispyybaconx
      @crispyybaconx Před rokem

      @@bri4498 what's wrong with scratch?

  • @Nneoh1
    @Nneoh1 Před rokem +67

    "Because it puts food on my family"
    man I love your humor :D

  • @mtyrio
    @mtyrio Před rokem +16

    1:18 thumbs up for sound effect on object Object

  • @__.-__.
    @__.-__. Před 4 měsíci +10

    Please make Python for the Haters
    🥺🥺🥺

    • @patrickgoodman7478
      @patrickgoodman7478 Před 4 měsíci +2

      This. Please fireship it's all I want for Christmas this year

  • @AJofSteele
    @AJofSteele Před 11 měsíci +3

    I still don’t know if I’m supposed to put semi colons after each line or not

  • @dioveath
    @dioveath Před rokem +105

    "Homeless developers" lol. Seriously entertaining. Best video to date. And I'll need to build some npm modules.

  • @topticktom
    @topticktom Před rokem +71

    This has to be 1000 seconds long

  • @fededevi1985
    @fededevi1985 Před rokem +98

    To someone who worked on compilers or interpreters javascript looks exactly like the first language you will develop in a compilers course

    • @peacefulexistence_
      @peacefulexistence_ Před rokem +29

      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

    • @ltrotskey6571
      @ltrotskey6571 Před 9 měsíci +1

      eh, my compilers course had us making a language that resembled Turbo Pascal, with most of the features stripped out.

  • @andythedishwasher1117
    @andythedishwasher1117 Před rokem +25

    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...

    • @andythedishwasher1117
      @andythedishwasher1117 Před rokem +9

      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...));

    • @davidwuhrer6704
      @davidwuhrer6704 Před rokem +3

      @@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".

  • @asii_k
    @asii_k Před rokem +31

    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

    • @pleonexia4772
      @pleonexia4772 Před rokem +1

      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

    • @titan5064
      @titan5064 Před rokem +20

      @@pleonexia4772 if you're given the solution to an issue and you're sure it's the solution then you've not programmed enough

    • @madhououinkyoma
      @madhououinkyoma Před rokem +16

      @@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 💩

    • @v01d_r34l1ty
      @v01d_r34l1ty Před rokem +1

      @@madhououinkyoma if you can’t take a joke about programming, you don’t do enough programming… also JS is “scripting” not “programming” hehe 🔥

    • @JoyOfThinking
      @JoyOfThinking Před rokem +2

      @@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]".

  • @alp6742
    @alp6742 Před rokem +11

    A JS dev making a video where he roasts JS and other JS devs are looking forward to see it

  • @flamakespark
    @flamakespark Před rokem +16

    Whenever you feel like you regret choosing JS as a primary lang, just remember that you could have chosen a PHP

    • @jsm33t
      @jsm33t Před 5 měsíci +1

      $whats $wrong $with $p$h$p ?

  • @psyk109
    @psyk109 Před rokem +13

    "it puts food on my family" Yep. That is exactly how JS works.

    • @napalm5
      @napalm5 Před rokem

      George Bush said this back in the day

  • @Cerberus8771
    @Cerberus8771 Před rokem +17

    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!

  • @someever
    @someever Před rokem +26

    the fake png💀💀💀

  • @Supperconductor
    @Supperconductor Před rokem +2

    I cried a little bit because I feel you really get me, Fireship! HAPPY THANKSGIVING EVERYONE!!!

  • @omairys
    @omairys Před rokem +96

    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.

    • @ekzac
      @ekzac Před rokem +22

      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.

    • @infectedasylum7035
      @infectedasylum7035 Před rokem +3

      Using JavaScript makes me feel like MacGyver

    • @vasiovasio
      @vasiovasio Před rokem

      Be like Me - PHP for LIFE!!! 😊

    • @zanza8197
      @zanza8197 Před rokem

      @@vasiovasio Symfony to be specific!!
      Though we also have to deal with JS from time to time.

    • @Andrushe4kanka
      @Andrushe4kanka Před 5 měsíci

      Have u tried build react-native app? this is the circle of hell

  • @RavMucha
    @RavMucha Před rokem +9

    [object Object] in NaN seconds.
    I'll just w8 here and refresh.

  • @tooFarGonexk4he4tu3s
    @tooFarGonexk4he4tu3s Před rokem +90

    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.

    • @TheyCallMeIce
      @TheyCallMeIce Před rokem +21

      Why am I not surprised... Have you heard of our lord and savior, Web Assembly?

    • @JorgetePanete
      @JorgetePanete Před rokem +12

      The problem is that JS is still in schools :/

    • @oscarljimenez5717
      @oscarljimenez5717 Před rokem +1

      Everyone should avoid talking about type conversion in JS, can be a real mess.

    • @colinmarshall6634
      @colinmarshall6634 Před rokem +9

      @@JorgetePanete Until there is a good replacement for web dev you will always have a need for lots of JS devs

    • @JorgetePanete
      @JorgetePanete Před rokem +3

      @@colinmarshall6634 WASM in Rust or The Next Thing™

  • @peytoncastillo4508
    @peytoncastillo4508 Před rokem +5

    Therapist: can you define a love/hate relationship in your life?
    Me: “JavaScript ”

  • @R-Jay.
    @R-Jay. Před rokem +9

    My biggest fear is an interviewer asking me 2+"2" and 2-"2" kind of questions 😅
    You perfectly "summed it up" 😄

  • @sohrb
    @sohrb Před rokem +40

    oh boy this is gonna be a fun one :)

  • @kaimemes
    @kaimemes Před rokem +12

    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

  • @CeladonBadger
    @CeladonBadger Před rokem +11

    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.

  • @Cthulch
    @Cthulch Před rokem +24

    Made me laugh out loud a few times. This is a good one, thanks.

  • @hellelo.5840
    @hellelo.5840 Před rokem +37

    I think I will agree with 100% of this, waiting for the video, I am a js developpeur.

  • @JewelOfSoul
    @JewelOfSoul Před rokem +18

    you actually made me feel the need to learn Rust or Go.

  • @rohantalele8987
    @rohantalele8987 Před rokem +26

    Man, I face real anxiety when someone asks output based questions in a JS interview.

  • @seriouslyWeird
    @seriouslyWeird Před rokem +2

    The electron memory hogging junk apps and the node horror speaks from my heart

  • @hugazo
    @hugazo Před rokem +11

    Totally worth the waiting! And yes, i'm also a js developer who hates and loves js

  • @zarrar9561
    @zarrar9561 Před rokem +10

    Just in case anyone is wondering what that machine language in the intro say's. It says "Hi Mom"😅

  • @SapphireKR
    @SapphireKR Před rokem +21

    Fun fact: The binary stuff in 0:12 actually means "hi mom"
    01101000 01101001
    00100000 01101101
    01101111 01101101

  • @Mindinmatrix
    @Mindinmatrix Před rokem +2

    Thanks for the vid :D Always a pleasure to watch your videos. I'd love to see more "for the haters" videos. I share those with my code buddies, and they always get a good laugh!

  • @stephenthumb2912
    @stephenthumb2912 Před rokem +6

    1. There are endless JS Frameworks
    2. JS Framework's main goal is to reduce the use of JS.

    • @RottenMuLoT
      @RottenMuLoT Před rokem +1

      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).

  • @RAKESH-qt5qt
    @RAKESH-qt5qt Před rokem +15

    This is hilarious 😂 better than most stand-up comedy stuff!

  • @omarpixel9176
    @omarpixel9176 Před rokem +1

    I could swear your videos are getting more and more unhinged and I'M ALL HERE FOR IT

  • @TheRythimMan
    @TheRythimMan Před rokem +1

    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.

  • @MxSmack
    @MxSmack Před rokem +6

    This is probably the best channel about development at the moment.

  • @SteveGouldinSpain
    @SteveGouldinSpain Před 11 měsíci +4

    As a pre-web programmer, I got the same sickly feeling when JavaScript came out that I did when CSS was inflicted on us.

  • @natywubet2175
    @natywubet2175 Před rokem +8

    1:58
    Bruh albert enstein is haskel developer 😂

  • @CrusaderGabriel
    @CrusaderGabriel Před rokem +4

    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

  • @daone197
    @daone197 Před rokem +9

    2:36 Javascript puts food on your family?🤔

  • @sn_kgs
    @sn_kgs Před 10 měsíci +3

    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.

    • @mister-zen8491
      @mister-zen8491 Před 3 měsíci

      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.

  • @krishgarg2806
    @krishgarg2806 Před rokem

    another tip for people for the stagger animation, you can use index while looping, CSS variables, and a bit of maths to save repeated code.

  • @theAmazingJunkman
    @theAmazingJunkman Před 6 měsíci

    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

  • @7th808s
    @7th808s Před rokem +5

    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?"

  • @thecoder4403
    @thecoder4403 Před rokem +5

    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 ??????

  • @cryingwater
    @cryingwater Před rokem +5

    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

    • @davidwuhrer6704
      @davidwuhrer6704 Před rokem +1

      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.

  • @costplusdotcomdotmy
    @costplusdotcomdotmy Před rokem +6

    omg i just looked at is-odd on github. there's a link to another repo called is-even. I died when I saw index.js hahaha

  • @juancruzc.degaetano7099
    @juancruzc.degaetano7099 Před rokem +8

    This "for the haters" videos are just hilarious, I love 'em.

  • @bakenbard
    @bakenbard Před rokem +6

    Developer with 20 years of JS experience once said: i have no idea what i'm doing...

  • @neanda
    @neanda Před rokem +4

    "it helps me put food on my family" 🤣🤣 that took me by surprise, I'm gonna use that one day

  • @MinerPlayer
    @MinerPlayer Před rokem +6

    As a person constantly learning JS i can say, JS is not bad how it looks, it's worse

  • @jt4351
    @jt4351 Před rokem +64

    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

    • @madhououinkyoma
      @madhououinkyoma Před rokem +23

      Well, it put food on his family so not the same

    • @JobinJacobKavalam
      @JobinJacobKavalam Před rokem +9

      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.

  • @seancpp
    @seancpp Před rokem +9

    1:25 LMAO

  • @horizont6172
    @horizont6172 Před rokem +6

    02:29 I WAS EATING, MAN WTF YOU'RE DOING !

  • @travis8106
    @travis8106 Před rokem +1

    I'm loving learning JS but this video is making me excited for when I learn other languages that are less sloppy.

  • @ptrdblmeter
    @ptrdblmeter Před rokem +21

    This is why I switched to C#. Good Luck not getting an undefined value by trying to do maths your not supposed to, I'm just gonna write a program that's actually gonna tell me what the hell is wrong with what I wrote.

    • @salvationindustries
      @salvationindustries Před rokem +2

      C# is good and all, but javascript has a different use case even if both can do backend web. You are using interpreted languages in general for the speed of development more than efficiency of the program and that matters when you want to build something as soon an possible.

    • @charlesm.2604
      @charlesm.2604 Před rokem +6

      @@salvationindustries C# supports different execution profiles (Just-In-Time compilation for debugging and Ahead-Of-Time compilation for production).
      The engine is also open source and can be embedded or used in Terminal with real-time interpretation for scripting purposes.

    • @madhououinkyoma
      @madhououinkyoma Před rokem +5

      @@charlesm.2604 I don’t think you understood their comment

    • @charlesm.2604
      @charlesm.2604 Před rokem +3

      @@madhououinkyoma I understood that they talked about interpreted languages vs. compiled languages. Which I replied, C# can be interpreted as well.
      Worst part is that nobody uses JavaScript, we use TypeScript, so there's a transpilation step which needs to run before execution anyway.

    • @madhououinkyoma
      @madhououinkyoma Před rokem +2

      @@charlesm.2604 their main point is about “speed of development”. So, how fast you can build a new, working feature or test a prototype.

  • @Viralvlogvideos
    @Viralvlogvideos Před rokem +3

    0:30 background music is epic 😆

  • @jasperdiscovers
    @jasperdiscovers Před rokem

    Your JavaScript course on your website is so wicked, it's mono. My left ear really liked the introduction video.

  • @HansMaxiBricks
    @HansMaxiBricks Před rokem +3

    I had no idea you were such a great comedian hahaha. I was LOL the whole video. Epic stuff mate

    • @jakobgii
      @jakobgii Před rokem

      @fireship+𝟭𝟱𝟭𝟬𝟮𝟮𝟰𝟱𝟴𝟯𝟵 eat pant

  • @thatsalot3577
    @thatsalot3577 Před rokem +10

    Your one of the most awaited videos

  • @WishPL
    @WishPL Před rokem +45

    Q: How much do you hate some gnarly aspects of JS?
    A: Yes

  • @johanskoog875
    @johanskoog875 Před rokem

    Just got into a fullstack JS education starting this fall. So excited..

  • @jma42
    @jma42 Před rokem

    i really hate on why i do have to use bundlers and stuff but it seems really cool to make it working and seeing your files shrink to like 90% of its original size, but yeah I hope it was like rust that have unified tooling

  • @ZaqueoRaccoon
    @ZaqueoRaccoon Před rokem +9

    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.

  • @matthewg5792
    @matthewg5792 Před rokem +3

    you harnessed my feelings exactly with
    "object object object object"

  • @daniel....
    @daniel.... Před rokem

    Love these kinds of videos, keep them coming!

  • @fabiosarts
    @fabiosarts Před rokem

    i kinda prefer the
    from datetime import time
    than deconstucting an import, much easier to autocomplete than writting an empty object to complete the setence and pressing left plenty of times C:
    import {time} from 'datetime'

  • @Pocahonkers
    @Pocahonkers Před rokem +6

    Sometimes I wonder what seemingly every single javascript framework compares itself to when they sell themselves as "lightweight", "fast" and "easy to learn".

    • @ahandlethatisnottaken
      @ahandlethatisnottaken Před rokem +1

      probably to jQuery

    • @cmaxz817
      @cmaxz817 Před rokem

      @@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.

  • @iuseflare
    @iuseflare Před rokem +23

    this is gonna be lit just based off of the thumbnail

  • @SoupyMittens
    @SoupyMittens Před 9 měsíci +1

    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

  • @santiagoguastavino346
    @santiagoguastavino346 Před rokem +1

    Loved it. I've just shared it to my friends who know real languages.