JavaScript for the Haters

Поделиться
HTML-код
  • Опубликовано: 2 янв 2025
  • НаукаНаука

Комментарии • 2,2 тыс.

  • @maxxinmaze4501
    @maxxinmaze4501 2 года назад +13279

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

    • @meegmemes
      @meegmemes 2 года назад +24

      🤔

    • @somebody_2837
      @somebody_2837 2 года назад +71

      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 2 года назад +42

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

    • @proyas21
      @proyas21 2 года назад +1

      Yoooooo

    • @ukaszzajac6704
      @ukaszzajac6704 2 года назад +92

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

  • @Virbox
    @Virbox 2 года назад +18765

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

  • @panlis6243
    @panlis6243 2 года назад +4408

    "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 2 года назад +267

      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 2 года назад +117

      @@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 2 года назад +47

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

    • @MrCool-lo3ls
      @MrCool-lo3ls 2 года назад +33

      @@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 2 года назад +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.

  • @gibbyfromicarlybestshow986
    @gibbyfromicarlybestshow986 Год назад +2198

    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 Год назад +81

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

    • @aki7162
      @aki7162 Год назад +4

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

    • @DavidLaFontaine
      @DavidLaFontaine 11 месяцев назад +18

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

    • @carlospacheco7544
      @carlospacheco7544 7 месяцев назад

      too relatable that it hurts.

    • @awwalmohammed9254
      @awwalmohammed9254 6 месяцев назад

      I had the same issue

  • @migvelv
    @migvelv 2 года назад +8619

    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 2 года назад +4

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

    • @festusighalo
      @festusighalo 2 года назад +162

      I see what you did there 😄😄

    • @yuriy636
      @yuriy636 2 года назад +41

      Definitely

    • @dontreadmyusername6787
      @dontreadmyusername6787 2 года назад +495

      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 2 года назад +188

      @@dontreadmyusername6787 and I would rate it out of 10

  • @Xylight
    @Xylight 2 года назад +3246

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

    • @adamantii
      @adamantii 2 года назад +65

      * cries in JavaScript *

    • @mihir7126
      @mihir7126 2 года назад +4

      @Dr. Gregory House the answer is yes.

    • @BloodyMobile
      @BloodyMobile 2 года назад +10

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

    • @lewa_j
      @lewa_j 2 года назад +4

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

    • @tedchupig
      @tedchupig 2 года назад

      i dont hate js, i hate ms

  • @pesterenan
    @pesterenan 2 года назад +2289

    "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 2 года назад +82

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

    • @David_Box
      @David_Box 2 года назад +92

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

    • @timurf6392
      @timurf6392 2 года назад

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

    • @vapeurdepisse
      @vapeurdepisse 2 года назад +1

      What types in JS

    • @alanwilliamduarte5617
      @alanwilliamduarte5617 2 года назад +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!

  • @BrianOSheaPlus
    @BrianOSheaPlus 2 года назад +1354

    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 Год назад +159

      It's more equally equal.

    • @ConernicusRex
      @ConernicusRex Год назад

      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 Год назад +323

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

    • @dotanuki3371
      @dotanuki3371 Год назад +49

      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 Год назад +6

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

  • @__.-__.
    @__.-__. 10 месяцев назад +28

    Please make Python for the Haters
    🥺🥺🥺

    • @patrickivaswell
      @patrickivaswell 10 месяцев назад +3

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

  • @MxSlfDstrct
    @MxSlfDstrct 2 года назад +947

    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_ Год назад +77

      No, he said it puts food on his family.

    • @theycallmerye3
      @theycallmerye3 Год назад +5

      He also said he loves programming with it.

    • @monkey_gamer_001
      @monkey_gamer_001 Год назад +10

      yeah but he said it like he's being held hostage@@theycallmerye3

    • @theycallmerye3
      @theycallmerye3 Год назад

      @@monkey_gamer_001 that's just his voice

    • @JohnStockton7459
      @JohnStockton7459 11 месяцев назад

      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

  • @rea9lizer
    @rea9lizer 2 года назад +5990

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

    • @st-jn2gk
      @st-jn2gk 2 года назад +210

      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 2 года назад +54

      @@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 2 года назад +6

      Tru

    • @LeoPacheco87
      @LeoPacheco87 2 года назад +57

      Popular opinion*

    • @aaronmarcus6295
      @aaronmarcus6295 2 года назад +23

      @@st-jn2gk Dart is so amazing

  • @window.location
    @window.location 2 года назад +1533

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

    • @oktavic777
      @oktavic777 2 года назад +105

      You mean moment.js?

    • @towatch
      @towatch 2 года назад +10

      @@oktavic777 lmao

    • @CodecrafterArtemis
      @CodecrafterArtemis 2 года назад +24

      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 2 года назад +5

      Moment gives me PTSD.

    • @jsonkody
      @jsonkody 2 года назад +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.

  • @JettoDz
    @JettoDz 2 года назад +355

    "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 10 месяцев назад +3

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

    • @tangsi721
      @tangsi721 6 месяцев назад +8

      笑死了

    • @Liqwidbeats
      @Liqwidbeats 3 месяца назад

      😂😂😂😂😂😂

    • @abraruralam3534
      @abraruralam3534 Месяц назад +2

      me when function cross(road), but JS doesn't check what type of road. 😔

  • @Radian628
    @Radian628 2 года назад +1212

    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 2 года назад +45

      Where did the semicolons get inserted?

    • @BluePieNinjaTV
      @BluePieNinjaTV 2 года назад +126

      @@Lexaire nowhere because JavaScript doesn't require them

    • @crackwitz
      @crackwitz 2 года назад +159

      What the fuuuuuuuuuukkk

    • @dantnad
      @dantnad 2 года назад +129

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

    • @geniewiley4217
      @geniewiley4217 2 года назад +157

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

  • @sharpfang
    @sharpfang 2 года назад +102

    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 2 года назад

      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 2 года назад +11

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

    • @sharpfang
      @sharpfang 2 года назад +8

      @@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 2 года назад +4

      @@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 2 года назад +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.

  • @ChrisLDGK
    @ChrisLDGK 2 года назад +966

    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 2 года назад +14

      Just starting out, got any tips?

    • @faridguzman91
      @faridguzman91 2 года назад +207

      @@RikTaa abandon ship

    • @bobbypaycheque
      @bobbypaycheque 2 года назад +77

      @@RikTaa Learn a real language like C

    • @WaBC9IPa
      @WaBC9IPa 2 года назад +19

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

    • @nishantdesai3705
      @nishantdesai3705 2 года назад +148

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

  • @crappycoder
    @crappycoder 2 года назад +479

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

    • @JorgetePanete
      @JorgetePanete 2 года назад

      😂

    • @pleonexia4772
      @pleonexia4772 2 года назад +18

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

    • @JorgetePanete
      @JorgetePanete 2 года назад +6

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

    • @javabeanz8549
      @javabeanz8549 2 года назад +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 2 года назад

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

  • @BoloH.
    @BoloH. 2 года назад +213

    "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 2 года назад +12

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

    • @i-ahmed3495
      @i-ahmed3495 2 года назад

      @@_robertas he wants them dead probably

    • @ouhyeap315
      @ouhyeap315 2 года назад +1

      ​@@_robertas xdd

    • @edipedipbulmaz
      @edipedipbulmaz Год назад

      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 Год назад +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.

  • @cIappo896
    @cIappo896 2 года назад +191

    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 2 года назад +11

      LOL

    • @ValidT
      @ValidT 2 года назад +21

      Sounds about right

    • @darkwoodmovies
      @darkwoodmovies 2 года назад +19

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

    • @sergiishpak
      @sergiishpak 2 года назад +3

      what is the name of the project?

    • @encycl07pedia-
      @encycl07pedia- 2 года назад +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!

  • @andythedishwasher1117
    @andythedishwasher1117 2 года назад +28

    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 2 года назад +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 2 года назад +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".

  • @AvenDonn
    @AvenDonn 2 года назад +220

    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 2 года назад +13

      at least you are not concatenating strings!

    • @farid-frederick
      @farid-frederick 2 года назад +37

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

    • @encycl07pedia-
      @encycl07pedia- 2 года назад +7

      @@farid-frederick PHP > JS

    • @GreyDeathVaccine
      @GreyDeathVaccine Год назад

      @@encycl07pedia- I love new features in php8

    • @isodoubIet
      @isodoubIet Год назад +3

      input "what is your name? "; name$

  • @ryanpmcguire
    @ryanpmcguire 2 года назад +281

    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 2 года назад +22

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

    • @poolkrooni
      @poolkrooni 2 года назад +63

      @@ZephrymWOW let people enjoy things in life.

    • @adambickford8720
      @adambickford8720 2 года назад

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

    • @trumpetpunk42
      @trumpetpunk42 Год назад +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...

  • @clxxiii
    @clxxiii 2 года назад +426

    This has got to be good

    • @nicejungle
      @nicejungle 2 года назад +68

      "this" is always a good joke in javascript

    • @patrick1893-i9o
      @patrick1893-i9o 2 года назад

      it is

    • @andylee5969
      @andylee5969 2 года назад +3

      What do you mean by “this”

    • @JonnyJKF
      @JonnyJKF 2 года назад +14

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

    • @ashishkarnkarnashish
      @ashishkarnkarnashish 2 года назад

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

  • @DrAnimePhD
    @DrAnimePhD 2 года назад +84

    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 2 года назад +15

      based

    • @vapeurdepisse
      @vapeurdepisse 2 года назад +25

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

    • @DrAnimePhD
      @DrAnimePhD 2 года назад

      @@vapeurdepisse Counterargument: I am in your walls

    • @thebuffman5597
      @thebuffman5597 2 года назад +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 2 года назад

      @@bri4498 what's wrong with scratch?

  • @psyk109
    @psyk109 2 года назад +35

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

    • @napalm5
      @napalm5 2 года назад +1

      George Bush said this back in the day

  • @oODomeeOo
    @oODomeeOo 2 года назад +92

    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 2 года назад +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 2 года назад +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 2 года назад +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.

  • @frz_akbar
    @frz_akbar 2 года назад +110

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

    • @rayleigh404
      @rayleigh404 2 года назад +8

      God damn true

    • @Daaboo
      @Daaboo 9 месяцев назад +4

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

    • @greenparksquad6336
      @greenparksquad6336 3 месяца назад +1

      @@Daaboo that's more like react type of shit

  • @mikelezhnin8601
    @mikelezhnin8601 2 года назад +61

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

  • @carlsmith8593
    @carlsmith8593 2 года назад +65

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

    • @carlsmith8593
      @carlsmith8593 Год назад +2

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

  • @amalkatrazz
    @amalkatrazz 2 года назад +219

    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 2 года назад +39

      The last part of your paragraph sounded like frustration 😭

    • @joon_yoo
      @joon_yoo 2 года назад +37

      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 2 года назад +10

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

    • @amalkatrazz
      @amalkatrazz 2 года назад +5

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

    • @manuelsilva3754
      @manuelsilva3754 2 года назад +3

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

  • @mtyrio
    @mtyrio 2 года назад +18

    1:18 thumbs up for sound effect on object Object

  • @dioveath
    @dioveath 2 года назад +112

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

  • @Nneoh1
    @Nneoh1 2 года назад +78

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

    • @ericvogler6909
      @ericvogler6909 2 года назад +7

      Ya that reference is 20+ years old by now

    • @Nneoh1
      @Nneoh1 2 года назад +4

      Didn't ask

    • @madhououinkyoma
      @madhououinkyoma 2 года назад +7

      @@ericvogler6909 reference to what?

    • @ericvogler6909
      @ericvogler6909 2 года назад +5

      @@madhououinkyoma It was something dumb George W. Bush said.

  • @Anonysus-z9y
    @Anonysus-z9y 2 года назад +228

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

    • @Leonhart_93
      @Leonhart_93 2 года назад +8

      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 Год назад +1

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

    • @juandiegofm
      @juandiegofm Год назад

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

    • @thatboywithakeyboard9292
      @thatboywithakeyboard9292 Год назад +3

      and yet still our lives depends on it.

    • @Daaboo
      @Daaboo 9 месяцев назад +2

      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 🙄

  • @SapphireKR
    @SapphireKR 2 года назад +26

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

  • @asii_k
    @asii_k 2 года назад +36

    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 2 года назад +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 2 года назад +25

      @@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 2 года назад +18

      @@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 2 года назад +1

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

    • @abc_35p
      @abc_35p 2 года назад +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]".

  • @topticktom
    @topticktom 2 года назад +76

    This has to be 1000 seconds long

  • @flamakespark
    @flamakespark 2 года назад +28

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

    • @jsm33t
      @jsm33t 11 месяцев назад +4

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

  • @fededevi1985
    @fededevi1985 2 года назад +103

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

    • @peacefulexistence_
      @peacefulexistence_ 2 года назад +30

      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 Год назад +1

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

  • @CeladonBadger
    @CeladonBadger 2 года назад +14

    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.

  • @Cerberus8771
    @Cerberus8771 2 года назад +20

    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!

  • @sohrb
    @sohrb 2 года назад +41

    oh boy this is gonna be a fun one :)

  • @alp6742
    @alp6742 2 года назад +13

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

  • @kaimemes
    @kaimemes 2 года назад +14

    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

  • @tomaszmaachowski2303
    @tomaszmaachowski2303 Год назад +1

    If anyone bothers - the binary numbers in 0:12 translate to "hi mom" in ASCII

  • @Cthulch
    @Cthulch 2 года назад +25

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

  • @tooFarGonexk4he4tu3s
    @tooFarGonexk4he4tu3s 2 года назад +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 2 года назад +23

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

    • @JorgetePanete
      @JorgetePanete 2 года назад +11

      The problem is that JS is still in schools :/

    • @oscarljimenez5717
      @oscarljimenez5717 2 года назад +1

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

    • @colinmarshall6634
      @colinmarshall6634 2 года назад +9

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

    • @JorgetePanete
      @JorgetePanete 2 года назад +4

      @@colinmarshall6634 WASM in Rust or The Next Thing™

  • @R-Jay.
    @R-Jay. 2 года назад +14

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

    • @itsmenatika
      @itsmenatika 2 месяца назад +1

      It's manageable until you get things like {} + []

  • @Artenesama
    @Artenesama 2 года назад +1

    Your pacing and delivery are perfect

  • @omairys
    @omairys 2 года назад +103

    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 2 года назад +23

      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 2 года назад +3

      Using JavaScript makes me feel like MacGyver

    • @vasiovasio
      @vasiovasio 2 года назад

      Be like Me - PHP for LIFE!!! 😊

    • @zanza8197
      @zanza8197 Год назад

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

    • @Andrushe4kanka
      @Andrushe4kanka Год назад

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

  • @hellelo.5840
    @hellelo.5840 2 года назад +37

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

  • @hugazo
    @hugazo 2 года назад +11

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

  • @JewelOfSoul
    @JewelOfSoul 2 года назад +20

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

  • @rohantalele8987
    @rohantalele8987 2 года назад +27

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

  • @sn_kgs
    @sn_kgs Год назад +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 9 месяцев назад

      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.

  • @RavMucha
    @RavMucha 2 года назад +9

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

  • @peytoncastillo4508
    @peytoncastillo4508 2 года назад +5

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

  • @AJofSteele
    @AJofSteele Год назад +4

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

    • @aadilmb8058
      @aadilmb8058 5 месяцев назад +1

      You don't have to, but it's good practice.

  • @ahuman32478
    @ahuman32478 Год назад +2

    2:01 Someone please tell me why is-odd has 400K downloads (I'm not a JS dev if you couldn't tell)

  • @SteveGouldinSpain
    @SteveGouldinSpain Год назад +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.

  • @tusharwani3146
    @tusharwani3146 2 года назад +12

    the binary at 0:12 reads, hi mom

  • @RAKESH-qt5qt
    @RAKESH-qt5qt 2 года назад +16

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

  • @CrusaderGabriel
    @CrusaderGabriel 2 года назад +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

  • @7th808s
    @7th808s 2 года назад +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?"

  • @horizont6172
    @horizont6172 2 года назад +7

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

  • @jt4351
    @jt4351 2 года назад +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 2 года назад +23

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

    • @JobinJacobKavalam
      @JobinJacobKavalam 2 года назад +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.

  • @someever
    @someever 2 года назад +31

    the fake png💀💀💀

  • @thecoder4403
    @thecoder4403 2 года назад +7

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

  • @natywubet2175
    @natywubet2175 2 года назад +9

    1:58
    Bruh albert enstein is haskel developer 😂

  • @seriouslyWeird
    @seriouslyWeird 2 года назад +2

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

  • @juancruzc.degaetano7099
    @juancruzc.degaetano7099 2 года назад +8

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

  • @MinerPlayer
    @MinerPlayer Год назад +6

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

  • @MxSmack
    @MxSmack 2 года назад +6

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

  • @theAmazingJunkman
    @theAmazingJunkman Год назад

    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

  • @drewsarkisian9375
    @drewsarkisian9375 Год назад +1

    "It puts food on my family." Wiser words were never spoken.

  • @daone197
    @daone197 2 года назад +9

    2:36 Javascript puts food on your family?🤔

  • @vijaysamant2864
    @vijaysamant2864 2 месяца назад +9

    For the nerds, 0:12 says 'hi mom"

    • @SrFodd
      @SrFodd Месяц назад +1

      "For the nerds"
      My brother in Christ, that's all of us here

  • @cryingwater
    @cryingwater 2 года назад +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 2 года назад +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.

  • @omarpixel9176
    @omarpixel9176 2 года назад +1

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

  • @Avo7bProject
    @Avo7bProject Год назад

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

  • @thatsalot3577
    @thatsalot3577 2 года назад +10

    Your one of the most awaited videos

  • @iuseflare
    @iuseflare 2 года назад +23

    this is gonna be lit just based off of the thumbnail

  • @bakenbard
    @bakenbard 2 года назад +6

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

  • @HansMaxiBricks
    @HansMaxiBricks 2 года назад +3

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

    • @jakobgii
      @jakobgii 2 года назад

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

  • @TheRythimMan
    @TheRythimMan Год назад +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.

  • @stephenthumb2912
    @stephenthumb2912 2 года назад +7

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

    • @RottenMuLoT
      @RottenMuLoT 2 года назад +2

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

  • @neanda
    @neanda 2 года назад +4

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

  • @WolfPhoenix0
    @WolfPhoenix0 2 года назад +7

    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!

  • @PoProstuLatanie
    @PoProstuLatanie Год назад +2

    0:13 If anyone wonders this binary stands for "hi mom"

  • @kuolettavaVids
    @kuolettavaVids Год назад +2

    You listed David Cronenberg with the title "Canadian", does that certify his understanding of monstrosities?

  • @zarrar9561
    @zarrar9561 2 года назад +12

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

  • @TheSpurious
    @TheSpurious 2 года назад +16

    Finally a video for me.

  • @WishPL
    @WishPL 2 года назад +45

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

  • @kevinbacon8716
    @kevinbacon8716 2 года назад +1

    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.

  • @GetFitEatRight
    @GetFitEatRight Год назад +1

    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.

  • @ZaqueoRaccoon
    @ZaqueoRaccoon 2 года назад +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.

  • @sipos0
    @sipos0 2 года назад +19

    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.

    • @renstein8210
      @renstein8210 2 года назад +2

      Ahhh Captain Janeway, Lace, the final brazier.

  • @Pocahonkers
    @Pocahonkers 2 года назад +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 2 года назад +1

      probably to jQuery

    • @cmaxz817
      @cmaxz817 Год назад

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

  • @SoupyMittens
    @SoupyMittens Год назад +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

  • @theena
    @theena 2 года назад +2

    That David Cronernberg reference had me on the floor.