Why Do People HATE JavaScript?
Ғылым және технология
The first 1,000 people to use the link will get a 1 month free trial of Skillshare: skl.sh/zyapguy07221
Here is a new video! I hope you enjoy it!
SOCIAL MEDIA
Follow me on twitter : / zyapguy
Join The Discord : zyap.media/discord
If you like this, please check out some of my other videos.
Thanks for watching!
This video was sponsored by SkillShare.
#programming #skillshare
Пікірлер: 166
I don't hate JS on it's own, sure its a mess at times but it fills the role for webdev just fine. I DO hate people that use JS for things it shouldnt be used for, as in ANYTHING THAT'S NOT A WEB APPLICATION.
@hakuna_matata_hakuna
2 жыл бұрын
gonna cry about it?
@amineabdz
2 жыл бұрын
@@hakuna_matata_hakuna L + Ratio
@cerulity32k
2 жыл бұрын
@@hakuna_matata_hakuna yes
@anon-fz2bo
Жыл бұрын
Python is cool and easy and all but it has a few quirks in it that make u overall a worse programmer than u would be if u were to use something else. Say GO for example
@cerulity32k
Жыл бұрын
@@anon-fz2bo Python is very rich, but you can still learn many things about it that will help when programming. What exactly do you mean by quirks as a detriment?
Every time I install an npm package, I get 300 warnings with 200 high vulnerabilities and 100 deprecated code. I type npm audit fix --force and it breaks more ._.
@drex-sya
2 жыл бұрын
use yarn
@tabiasgeehuman
2 жыл бұрын
@@drex-sya how tf will that fix anything. Yarn still uses the node package registry
@drex-sya
2 жыл бұрын
@@tabiasgeehuman the errors and messages aren't coming from the node registry, but npm also a side point that many people who have used js for a year or so will either use yarn or pnpm also there is a big difference between a package manager and a package registry
@tabiasgeehuman
2 жыл бұрын
@@drex-sya the vun issues are still from the packages in the package registry, you can do nothing about those
@huaweiwang6931
2 жыл бұрын
js logic: dont fix it, lets write something else that doesnt ouput errors.
I find NaN reasonable since it's defined in ieee whatever for floats and can be pretty useful for typescript, but the null/undefined difference is horrible, partly because typeof(null) = "object". Also, at least 70% of npm packages have no reason to exist
@fox2code
2 жыл бұрын
NaN is a scary thing, no matter the language, and it propagate everywhere, no matter the language, you can't escape the NaN!!!
@uwuzote
2 жыл бұрын
NaN exists because in js "number" type represent integers and float, and float IEEE XXXX format allows for floats to have a lot non-equal NaN's in thoose
@FaZekiller-qe3uf
2 жыл бұрын
nodejs's package manager being bad has nothing to do with the JavaScript language
@FaZekiller-qe3uf
2 жыл бұрын
it just means that the repos suck
@snurf69
2 жыл бұрын
@@FaZekiller-qe3uf idk dude, try to make a single project in js without using npm
Because they have skill issues 💀
I just found you channel dude and I have to say I am so glad that you were in my recommended page keep up the work!
as someone who mainly uses python (gonna start learning C++ soon) when i heard "semicolon" i swear a switch flicked in my head and all i saw was red for a second
amazing fresh new video by zyapguy
JS was my first language so all this seems normal to me 🤣 the concatenation is the only thing that drives me up a wall
Perhaps an episode 2 about why people love JS? :)
@RiwenX
2 жыл бұрын
Sponsors don't usually like videos that take exactly 0 seconds to watch.
@amineabdz
2 жыл бұрын
People don't love JS, people just have to use it and they accept that it's the only real choice for anything web related, that's the video.
@reddeimon475
Жыл бұрын
Most JS "lovers" dont love actual JS, they mostly love JS framework
@amineabdz
Жыл бұрын
@@reddeimon475 agree, I have been using svelte for a brief while and the development process is so much saner than working with vanilla stuff or even something like React.
Zyap zyap zyap zyap zyapguy I really appreciate you video 🙂, as JavaScript learner I can related to this, because before I didn't understand that if statement can compare only string or numbers but not object and I was building a project that requires to compare object so I was stuck for weeks on this like literally, and than I reviewed some of the example course of if statement than I finally understood, but it's getting on my nerves because I have to use number and related to an object in order to compare damn it , I hat this. Honestly I think if I would update JavaScript I will modify the code in order to have the same rules just like in python (I really miss this code it's so logic).
TL;DR of this video: - Complaining about type coersion like a student that gave up 10mins into a class. If you don't know how to do type-safe code in js idk how you write code in other languages tbh. - Complaining about bloat because everything's bloated now. Even points out themself that it's not a JS-specific thing. - Complaining about codegolfers for no apparent reason at all? Most of the less readable code i've seen in actual production code was the way it is for performance reasons. Idk what this complaint about oneliners is about, JS doesn't care where you put linebreaks, put them anywhere or nowhere at all. return is literally the only keyword where that behaviour differs and you can literally just put parenthesis around your value to make sure it doesn't autofill a semicolon where you didn't intend one.
good language: does exactly what the programmer told it to do, easy to read and debug, syntax makes sense, works consistently anywhere. js; does a hell lot uder the hood without your agreement, callback hell, language inconsistency, and finally the same code runs differently even in the same engine(v8), or even at a different time...
@huaweiwang6931
2 жыл бұрын
oh one more thing, many of the problems I mentioned are actually fixed in the latest language version. guess what? nobody is using them... async await makes the code so much cleaner, but even the vue community is still in callback hell... code is read a million times more than they are written, and I dont feel the responsibility of js developers to their colleagues...
@huaweiwang6931
2 жыл бұрын
another thing came up to me: the npm repos. people make thousands of scaffolds and compilers just to do the f*king same thing again. There are also overly abundant packages that really does one thing well, like that isodd legend...
I still haven't learned a framework and I do js webdev all the time lmao
Keep on doing!!
I hv used js before but i had NO IDEA about these problems lol(except for the NaN thing)
I just use fengari. Javascript is hell to do.
an ecosystem that favors tons of micro-dependencies ecosystem that chooses dependencies based on gh star count library churn/hype driven development over-complicated build set-ups as industry standard
"...You my dear viewer can make a web server in assembly..." Well, guess what? You hit the jackpot, while learning x86 Linux assembly I did write a web server in assembly. It only returned "Hello, world" and I translated C into assembly by hand but it counts, right?
@nathansmith8883
2 жыл бұрын
No! For a web server YOU NEED TO MAKE YOUR OWN OS ON HAND MADE HARDWARE WITH A CUSTOM CPU INSTUCTION SET AND YOUR OWN COMPILER!!!!!!!!! Also you have to mine the silicon your self with tools made in your own black smith shop.
@-na-nomad6247
2 жыл бұрын
Yes.
@-na-nomad6247
2 жыл бұрын
@@nathansmith8883 Someone is getting a heart attack 🤣 Try redstone, it'll save you some money.
@2xpl361
2 жыл бұрын
@@-na-nomad6247 just a guess but i think he was joking, not sure though
@-na-nomad6247
2 жыл бұрын
@@2xpl361 you could also guess that I was. Come on man, why you gotta spoil the fun.
JavaScript was made in 10 days so no wonders about the weird undefined and weird design decisions, but js is still... Usable, and typescript fixed most of js's problems, plus these changes can't be reverted due to the amount of websites that rely on this weirdness But I don't think Js should be hated, because you can write code in a way to avoid some problems, and it's very well suited for what it's made for, web dev, so at the end, it can be forgiven, except the date system in js, it plain sucks
@kiugvvv
2 жыл бұрын
omg kenan hhiiii
@DevDoge_
2 жыл бұрын
webdev 💀
@DexieTheSheep
2 жыл бұрын
They're fixing Dates though... Search up "temporal"
@filips7158
2 жыл бұрын
It's a myth BTW. It most definitely wasn't made in 10 days. It's a continuous process, still ongoing
@bit9524
7 ай бұрын
That was initial JavaScript, eco system have evolved tons
I hope that one day, a good alternative to js will be available. I'm willing to learn python for PyAcript because I just don't like Javascript, for these issues, and because of other ones nit mentioned in the video
@alexer_eternity
2 жыл бұрын
There is TypeScript
@v01d_r34l1ty
2 жыл бұрын
The problem isn't expressly with the language itself but developers. Unto itself, the only real issues JavaScript actually has are package imports (Node.js), optimization issues (ease of use is often prioritized over efficiency), and a very toxic community quite similar to that of CS:GO. TypeScript essentially makes static handling of data and debugging cleaner, but you can do it all with the same safety using just JavaScript.
@zarifahmed5192
2 жыл бұрын
@@v01d_r34l1ty Thank you for this summary!
@ioneocla6577
Жыл бұрын
Blazor in c# is pretty cool even tho it still create a bundle (it can be mitigated)
Hi Zyap!!!!!! Love from North Korea!!! ❤❤❤❤❤❤❤❤
Coming from Python and into JS(Node) is hell. Worst thing is that I was promised a Python job but turns out they decided to switch to Node. Can't leave because I actually like the team and the company so I'm stuck with this abomination of a language.
@filips7158
2 жыл бұрын
Python and Node solve vastly different problems, just switching one with the other seems unlikely/strange. Python is horrible for some applications where Node shines and vice versa.
It also runs on only one thread. (the same one as the HTML and CSS code lol)
Really needed the gorilla hologram today 🦍
Shame that TypeScript isn't popular enough!
okay he is back
do a viddy about GoLang plz love ur content & humor
A new js framework was released while you watched this video
JS Dev here. Typescript is awesome.
Change video title to why i love js 🤣
Why when I start to learn a language, I see videos like this, this happened to me with Python also.
I found your account with the search of “Turkish guy that codes” lmfao (I forgot your channel name)
personally i love typescript, enough flexible like js but doesn't confuse like js
new 7zguy video
JS/NodeJS had too many web framework and every month there will be new framework released along side with their awful node_modules blackhole.
JavaScript was my first language, I honestly never minded any of these problems except for classes. Choose one, be class-based or be prototype-based, you can't have both. Also why are prototypes made using _functions_?! Prototypes are supposed to be made using objects.
@scvnthorpe__
Жыл бұрын
I mean they are Because functions are objects
3 LIBRARIES A DAY I AM GOING INSANE
2 жыл бұрын
Forget about frameworks/libraries for a while then, and try what's available in Node/browser (depending on the project) natively.
The big problem is that we can't improve this created-in-ten-days without breaking the web...
In fairness 9 times outta 10 the elegant solution has minimal time loss in absolute terms That being said, I did benchmark if vs switch statements for the sake of that speed
@melol69
Жыл бұрын
bruh
In my opinion JAVASCRIPT IS THE BEST LANGUAGE EEVVEVEVEVERRR CREATED I am learning it RN
I love js and when I had to learn C# I cried bc OOP is not my style. I will admit that undefined and null is a pain but u can never abandon the console.log
@baranikumars8952
2 жыл бұрын
Console.WriteLine is also unavoidable for me 😌.
@fakezpred
2 жыл бұрын
@@baranikumars8952 Try a debugger, your life will be blown away.
@baranikumars8952
2 жыл бұрын
@@fakezpred haha🥹
4:15 Oh boy!, haha
Its really a mess sometimes but I still love it.
Javascript/typescript developer here. Let me clarify most things: bugs are not hard to track, you just print stuff to the console when there's some unexpected behavior, or even better: when the code stops, you get see exactly where your problem is, so that's pretty useful. About the "weird" behavior like ![] turning into false, we see this as normal and take advantage of it, for example you can use !!variableName to check if a variable has ANY falsy value. If you get confused about this "weird" behavior, that's a skill issue. Look it up, and remember it for next time. These "falsy" values I was talking about are all values that evaluate to false, like: NaN, undefined, 0, null, you get it. If your code errors out because of one of these things(NaN, undefined, null...), it's 100% YOUR fault, you should always check data, and react if it evaluates to false, because that's probably not a good sign. Nobody puts return on one line, and a value that you want to return on another one. Yes, classes are syntactic sugar for a bunch of functions, but nobody gives a shit. New frameworks every fucking week, I know it, but honestly, if you jump on the hype train, that's YOUR problem. You have to be stupid to constantly learn new shit just because it just released. Also your True function is the weirdest thing ever: 1) use () => true instead of () => {return true} 2) use a getter instead 3) use const True = true instead if you really want to use True instead of true 4) just use true. So you're talking about a for loop running faster than forEach? Yeah nobody gives a shit. And if it would actually have an impact on performance, just use a for loop instead. The bloat of packages can be pretty bad, but can be reduced by using pnpm if you care.
@drex-sya
2 жыл бұрын
exactly, most of the issues mentioned in the video is just peoples preference, ofc not every single lang can work as somone wants it to be. As for the framework part apart from them getting announced I never seen alot of people switch or try to learn it simply cause the existing frameworks does a really good job at what it's build for and as a js/ts dev I never encountered the Nan or undefined issue after my beginner days, it mostly depends on how well your code is written also do people forget typescript is a thing?
@akosmlnr3508
2 жыл бұрын
I agree, but the video is not called “Why does js suck”. The point isn’t that javascript is unusable, the point is that it does things in its own js way sometimes, meaning it can be confusing for beginners, even if that beginner is a senior developer in any other language.
i love undefined
JS is hell! * Proceeds to write 1000 more lines of JS *
Personally I find null and undefined to be useful, since undefined means nothing as in "nothing is supposed to be here," while null means nothing as in "I, the developer, decided to make this empty instead of the usual value that you might get." All the other stuff in the video is annoying tho lol
@phitc4242
Жыл бұрын
no
@DexieTheSheep
Жыл бұрын
@@phitc4242 yes
@phitc4242
Жыл бұрын
@@DexieTheSheep :(
Hello mannnn
@Dev-Siri
2 жыл бұрын
First Comment 🏆
Somehow segfaults are more annoying when it's the fault of the language design and not the fault of how computers work
All Javascript devs should switch to Typescript. I did it and it's like magic.
Typescript
Nah, I still like it
Make a php version of this video
I like Javascript.
@SlimeyDev
2 жыл бұрын
me too lol
...Because where is wounderfull instrument as Rust programming language. (sorry for bad english)
@uwuzote
2 жыл бұрын
Upd: most of thing discussed in video can be reffered to any dynamic language in general, such as python, ruby and many-many more! (sorry for really bad english)
@uwuzote
2 жыл бұрын
Upd 2: if you love beautyfull code and want it to run as fast as ugly, you should defenetly use Rust. Example: // Imperative usage: let mut numbers = vec!["1", "2", "", "sdfgnv", "-Inf"]; let mut new_numbers = Vec::with_capacity(numbers.len()) for n in numbers { match n.parse::() { Ok(n) => { new_number.push(n); }, Err(_) => { continue; } }; }; // Declarative (functional) let mut numbers = vec!["1", "2", "", "sdfgnv", "-Inf"]; let new_numbers = numbers.filter_map(|n| n.parse::().ok() ); And they both have same functionality and speed! Thanks to zero-cost-abstractions!
@costelinha1867
2 жыл бұрын
@@uwuzote I started learning Rust recently. It's weird, at least compared to Python, but the error messages are a thing of the gods. (Also Cargo works much easier here than Pip.)
@uwuzote
2 жыл бұрын
@@costelinha1867 yea, i am also begginer, but at some level everything starts to make so much sense. I am also from python :)
@costelinha1867
2 жыл бұрын
@@uwuzote Yeah, it's kinda more of a shock at first cuz all of a sudden you have to wory about types, signed integers, unsigned integers, getting input from user is not as intuitive as it is in Python, (at first) there are mutable and immutable variables, etc. But I'm starting to get more comfortable, even if I'm not really used to the ownership rules, etc.
JavaScript 🤢🤮
I don't like javascript because debugging is hard In javascript type of object is object and type of array is also object. Type of function is function and type of class is also function And many other things like 1=="1" will return true I don't know what the heck they were thinking while doing this shit
@murariprasad8372
2 жыл бұрын
Use the === and you JS won't change types for you.
@shailmurtaza9082
Жыл бұрын
@@murariprasad8372 I know that. but that is little annoying 😅
enjoy your stay here at javascript take a cup of NaN and a slice of undefined.
Here's a video suggestion.... Why people LOVE Rust? (Which is totaly not due to the fact that I'm learning Rust right now.)
@amineabdz
2 жыл бұрын
It's because it lets you do what C can do, but in a more "sane" way.
And now I see why peopler are begging so much for PyScript to evolve enough to become a alternative to JS. Like seriously, this language sounds like a freaking nightmare.
hello from discord, I've claimed the 11th comment, no need to say who asked.
Why should web developers be forced to use JS
@RedStone576
2 жыл бұрын
because there's no other language???
Let’s be honest. It’s just Lua with delusions of grandeur. Objects are hashmaps/tables, you don’t declare types _at all,_ and even the function keyword is the same. Also there are two nulls. What the fuck.
JavaScript
One word: TypeScript
Because they bumped their head falling frm the 2nd floor when they were 3
if the problem is in one line, all the things after that line don't work. this is because I use console.log() to find where it doesn't output something 😈
We don't need a reason to hate Javascript 😎😎
I love being a nan
you need chest hair to program in javascript xd
I am OFFENDED by the implication that I am Not a Number :P
js best language
Cuz Microsoft js script host is buggy and very very buggy
JS is so easy
8 dislike from js lovers
I hate typescript more than js...
JavaScript not that bad tho
That's crazy bro but who asked
JavaScript is easy Change my mind.
I wouldn't say java script is bad but people don't usually don't know how to use a loosely type language properly IE they lose track of they're types and not enough of validation and check's etc. the language has all features to do so prototype inheritance, throw, try, catch, proxy etc.. It makes it easy to write bad code, PHP is infamous for this as well... all lose type systems have this reputation because it easy to write code with no standards that works, But that's just because it beginner friendly for example C doesn't let you do that, it wont run. people need to test their code more. if you lose track of our type your doing something wrong.
Half the people writing hell about JS have never written anything other than Python. There are tools such as ESLint, Typescript that allow you entirely to skip the muddy parts.
fair points , but it has a more mature community than python less toxic than c++ and java , and the tooling is chef's kiss .plus the market is in love with it. i also think you forgot a specific kind of hate js has been getting a little justified but not always . "there's no need for javascript here why not just use HTML and CSS" hate .
@yolowex6876
2 жыл бұрын
Wait , Who are you Mr know it all? TOXIC COMMUNITY? There are people in this Java server who literally spend hours for beginners , how is that toxic?
Jabbascrikt asynchonously sucks.
JS bad
Bcz they're terrible programmers
I hate js btw