Back to blogYouTube Video

Published December 16, 2025

Why I HATE Javascript

Can't play the video or having issues? Here's the direct link.

AI Summary

The creator shares a candid, unstructured discussion regarding the flaws and frustrations associated with JavaScript. While acknowledging that the language can be powerful and 'cool,' the video focuses on highlighting its specific shortcomings and the developer's personal grievances with its design and behavior.

Key Takeaways

  • JavaScript possesses significant flaws and inconsistencies that can frustrate developers.
  • Despite its widespread use and utility, the language has inherent design issues that the author finds problematic.

Description

Book a call: https://calendly.com/itshassanaziz/discuss-a-project ==== ==== ==== Gonna share some quick thoughts on JavaScript. Just rambling a bit with no real structure. JS can be a cool language, but it's not without its flaws. So, let's look at some of them in this video. If you're learning something useful from these videos, make sure to subscribe to the channel. I've got a lot of amazing content planned for the future. :) ==== ==== ==== LINKS Website: https://www.hassandev.me Portfolio: https://www.hassandev.me/work YouTube: https://www.youtube.com/@itshassanaziz?sub_confirmation=1 My Book: https://www.hassandev.me/designing-websites X / Twitter: https://x.com/nothassanaziz

Transcript

Auto-generated transcript
If you know anything about me, you know that I'm not a big fan of JavaScript. I hate that language. And I hate how the only way you can make writing JavaScript code tolerable is by slapping different solutions on top of it instead of fixing the actual underlying language. Now, my hate for JavaScript is nothing new. This has been going on for years now. But I recently came across this tweet over here that I'm going to show you and I posted a reply and everything. and this is what really reminded me of how much i absolutely hate writing code in javascript so this guy says with ram crisis bubble that who knows when it's gonna burst it's more important than ever to fight against web and electron slop that was built on memory is free premise so apparently the developers of today think that memory is free and they just write unoptimized applications that have terrible performance and their excuse is well we need to ship fast and so we're just going to build the most non-performant applications of all time that are going to consume gigabytes of memory tons of storage and cpu and compute and we're not even going to bother trying to optimize it anyway i declare 2026 a year of febna whatever that means fast efficient beautiful native applications okay that's what it means you work on something that fits post your project and replies now it would be amazing if we had native projects being built now but the sad reality is that's not gonna happen most of most likely it's not gonna happen and i posted a little reply over here i was being pretty sarcastic i'm not gonna lie i was being kind of a pity right now but what i basically said was only real solution is to make something that converts javascript into native apps because 99 of devs have never even seen a world outside of javascript and npm and you're not gonna get them to learn native tech anytime soon and you know what i stand by my statement i stand by every word i said the reality is most people most developers start off with javascript or python most of them start off with javascript and they just don't even think about learning something new learning different other languages they don't even see a world outside of javascript because everything is being built with javascript even ai and everything else internet of things we're just pumping javascript into everything and as you see the results are horrible so he posted a little reply over here only real solution not a solution not even real i'll just hope that insane ram prices will encourage proper software to emerge and then the market will decide of course we kind of have an elephant in the room vcs with infinite money how come vcs get to have infinite money meanwhile i'm stuck here struggling to eat anyway but we've recently learned that this money is not that infinite after all well money is kind infinite in the sense that they can just print more money but that's a completely different discussion yeah i'm being sarcastic i'd rather these people learn other languages so you can develop native directly heck learn them just for the sake of learning see go rust whatever see what problems they solve that javascript and typescript can't and this is the thing you need to learn new other languages just to see what kind of problems they're solving just to see what kind of features they're offering like like try using go i've been using go for a couple months now and it's just such a beautiful language to work with try using rust try using c try your hand at manual memory management see how that works see how much you can actually write better applications with better memory management and everything better performance in these languages you don't just have to be stuck with javascript now one of the reasons i hate javascript so much the whole javascript ecosystem not just the language is because it doesn't even have a proper standard library and this is something this is something that I really started to hate about JavaScript once I learned Go. If you've used Go before you know how amazing the Go standard library is. It is so well written. It has it covers so many different use cases. I rarely have to go and look for a third-party package when I'm building applications in Go because the standard library is just so amazing. But we just can't say the same about JavaScript. So on that topic I have this little Stack Overflow forum post over here that we're going to go through and by the way guys even though ai and llms have just taken the world by storm stack overflow still has a ton of value over here not not necessarily in asking questions anymore because you can just use chat jpd for that but more so kind of like it's an archive of information right it has a ton of different niche problems that people have posted solutions for and that is still very valuable. Anyway, what is JavaScript's version of .NET standard class library? Well, none. JavaScript doesn't have a standard class library. But let's see what this guy said. This is a very detailed reply and there's a lot of cool insights in here. So we're going to go through that. The JavaScript language itself does not have what most people call a full-blown standard library. The two largest environments where JavaScript is used are the browser and Node.js and each has their own library and it adds functionality on top of the language. Yeah, that's how that works. Most of the interfaces added in the browser are standardized through the W3C in an effort to make all browsers work the same. I'm not aware of any standards effort for the Node.js libraries. Yeah, because there is none. You can kind of see how it would evolve this way because the browser is purposely limited in what it can do for security reasons and thus it doesn contain rich access to the file system child processes tcp stack creating servers etc Then along came node and it had an objective to be able to do all of those things. So if you're programming in node.js then your standard are the libraries built into node.js and documented with it. If you're fetching http requests from external sources ironically the node.js built-in support from that is not great perhaps because there are so many very good open source third-party libraries for it in npm that is that i think is what most people use we're going to talk about all of these third-party packages as well they're great but they're not reliable fuck off windows i don't know why i get these notifications still anyway you can use the built-in http request and it works but it's lower level than most people want and not very feature rich when it comes to auth and processing requests and responses and other things other things like that for years the request library on npm was about as standard a third-party choices you could get and what was often used in online tutorials and was relied upon by many other packages. But for a variety of reasons, this has been put into maintenance mode and deprecated for new projects. And there are many other good choices such as GOT, Axios, NodeFetch, SuperAgent, and so on. You can see a listing of many other choices here. I personally like GOT. It seems simple when you just need something simple. It's ground-up, promise-based, and can do much more complicated things when required. Many of the other choices work very well too. With the huge success of the NPM ecosystem for publicly sharing Node.js modules, after a while, many Node.js programmers just start thinking of NPM as their available library. yeah that's what most people do in javascript yeah obviously you need to understand a little bit of what's behind the module you rely on on from npm how many other people are using it how frequently is it maintained is it reasonably documented etc but if it's a widely used module with a lot of projects using and depending upon it and it seems to be getting regular updates then the worst thing that happens is that you have to create a fork sometime in the future to fix or add something you want that isn't getting the attention you want you always have the the source so you're never left high and dry that way okay it's not entirely clear exactly what you're asking here yes you can write yes you can clearly yes you can what the fuck is wrong with me why can't i speak yes you can cleanly write classes that implement business logic that provide data or formatted text for use in the front end but that answer has to do little with standard libraries you can do all that with non-standard libraries just fine you just put your classes in their implementation into a module and export the class from the module so you can use it in any other module of your project the class implementation details will be hidden in its module now as this genius over here said many node.js programmers just start thinking of npm as their available library and yes that is what most people do but the problem with that is you have no control over npm npm the node.js developers don't have control over npm like the guys who actually work on node.js and npm and everything these packages come from third-party sources and honestly even though i love open source and I love that other people are sharing these free tools online that we can use to not have to reinvent the wheel and everything even though I love open source this is not reliable because because let's say you're using some third-party package on npm and let's say the developer of that package takes down the project because you literally can't do that in fact this has happened multiple times before and I guess the most famous incident is just going to be the left pad incident let's check this out so basically this was a tiny tiny 11 lines of code npm package called left pad and the developer of this project unpublished it removed it from npm and it broke some of the most important packages on all of npm now how exactly did this happen there's a whole story behind this and we're not going to go too deep into it because honestly it's it doesn't even matter who cares what this guy thinks it honestly doesn't even matter but the big thing is this tiny incident caused such a long chain of issues down the line that it just broke some of the most important packages that you ever used and the reason this happens is because javascript developers have this culture of of writing tiny libraries to solve problems instead of just implementing the solution yourself like if i talk to a programmer in literally any other programming language they would probably just write a function to do whatever this 11 line package was doing right instead of downloading another dependency just for 11 lines of code they would probably just write a function or a utility or something and just use that because 11 lines of code is not that hard to maintain right but adding an extra dependency for that that's just dumb right but javascript developers and the javascript way of doing things has this modular approach where you're stuck thinking, hey, should I build this myself or should I just look for a package that does this for me? Because like if you go on NPM, there are such niche packages over there that handle such niche use cases. It's weird. Like there is literally, let me just show you something crazy. If you've never seen this before, you are going to love this. Let me show you some packages over here. So there is a package on NPM. Why can't I search? there we go there is literally a package on npm called is even you know what this does you know what this package does it returns true if the given number is even and you know how many downloads this gets 130 or 150 000 per week and i can just keep going through this i guess but it seems to be getting like 150 160 170 000 even 180 000 downloads every single week In other words this is a very popular package Now are you telling me that JavaScript developers cannot even tell whether a number is even or not? Like, is this how far we've fallen as programmers? And this isn't even the worst of it. There is literally another package called is odd. Guess what this does? I'll tell you it returns true if the given number is odd as an integer that does not exceed the javascript maximum safe integer now please someone please tell me and this this one gets even more downloads than the is even package 436 000 downloads just this week so an extremely popular package now can someone please explain to me why javascript developers find it so hard to tell whether a number is even or odd it is so fucking easy in literally any language how are you guys failing this. 2.3 million downloads a month. You guys see this shit? Anyway, now I'm being a bit too harsh because most packages, most applications are not using these packages directly. What they're doing is they're using other larger packages like let's say Express or React or Next.js or Tailwind or you know Electron or some other packages and these packages in turn have their own dependencies and those dependencies have their own dependencies and it just becomes a long chain of dependencies and one of those dependencies is going to be this is odd and is even packages and probably a bunch of other dumb packages that have no sense in being a dependency but you basically end up with dumb ass packages like these stuck in your dependencies list and it makes no sense to have packages like these like why do you need a separate dependency to tell whether a number is odd or even it just makes no sense and there are tons of packages just like this on npm and different applications are using different packages to solve the exact same problems and this just leads to inconsistent apis and and when you have multiple different packages that solve the same problem in different ways you you start to have you start to encounter inconsistent apis and edge cases and just it just takes so much more mental bandwidth to track how everything works in your application because you've just added so much more complexity to it like as much as i love open source and using stuff that other people built to save time i would also be very careful of using packages on npm because especially if there are such tiny and dumb packages like these that i can build myself in like five minutes right especially if it's packages like these because anyone could take it down at any time and then your entire application would break just like what happened with the left pad incident over here which was 10 years ago but it's still relevant why because the underlying problems have still not been fixed so make of that what you will now the standard library is one reason and the ecosystem is another reason why i hate javascript so much another reason why i'm not a fan of javascript is because it's such a beginner friendly language and you might you might hate me for saying this but I mean no harm to anyone but since JavaScript is a beginner friendly language and I should probably write these things down just so it's just so it's clear what we're talking about since JavaScript is a beginner friendly language and to be clear this is not even like a bad thing but it does lead to some bad effects down the line since it's a beginner friendly language it's going to attract newbies to coding right and newbies let's just be honest they're not good at writing good code they're not good at following best practices they're not good at building performant applications now this is obviously to be expected i mean they're new to the to the whole industry right then you don't expect a new programmer to be writing elite top tier linux torvald code right it's going to take a lot of time for that junior programmer to get to that elite level right so i'm not saying that javascript being a beginner-friendly language is a bad thing, but this does lead to a lot of applications being built in a very terrible and non-performant way. Because just by the nature of being a beginner- friendly language, most developers in JavaScript just don't even know how things like performance and other things even work, right? Security, performance, scaling, most developers have not even encountered something like this in their careers. Now, another reason why JavaScript should build some sort of a standard library or at least agree on some standards right is because it would solve a lot of the problems that being a beginner friendly language attracts so how does how does having a standard lib for javascript help fix the beginner friendly issues so we talked about why javascript attracts beginners and we talked about how they are probably not the most best of coders we talked about how they probably don't really know a lot about performance and security and stuff like that so how does building a standard library for javascript help fix these issues that beginners would attract and build in their applications well a standard library would solve all of the common problems that javascript developers go through and all of the new developers all the beginner developers instead of writing their own implementation for solving the same problem or using some third party packages on NPM with inconsistent apis and stuff they can just use the standard library we would have a standard library with different packages that solve the that solve all of the common problems of programming and all developers would just use the standard library to solve those problems and we would have a standardized approach to solving most common problems instead of having these third-party packages scattered across npm with each their own way of implementing solutions instead of all of that mess we would have one standardized library that all developers of javascript can use to solve all sorts of different problems and this standard library would be built in the most performance and secure way so that we can build faster and more secure applications this is actually the same thing that python encourages its developers to do so python has a very nicely built standard library just like go i love the python standard library i love the go standard library the thing about the python standard library is that most python built-in packages have been built in c right and since they've been built in c you know that they're gonna have some amazing performance and so in a lot of cases in python i would just encourage you to try to use the standard library to solve any sort of problem in your code instead of trying to implement your own solution in python code. And the reason is because most Python built-in packages are built in C, which means they're going to be very, very fast, right? And that is why you need a standard library. That is why the Python standard library is so much better than writing your own solutions in Python whenever possible, right? Sometimes you just have to write your own solution because you're doing something custom, right? But in a lot of cases, you can just use the standard library and it's going to be so much faster and easier to maintain as well than whatever custom solution you build right so that's the thing with python and that's how javascript can get inspired by other languages doing the same thing build its own standard library or at least agree on some sort of standards that developers can use and should be encouraged to use to solve all sorts of common problems and beyond all of this beyond all the javascript stuff i would encourage all javascript developers to go and learn other languages and there's a couple reasons why why i'm encouraging you to do this because the biggest reason is because each language solves different sets of problems, right? Like people love Go and Python for their simplicity, right? People love Rust for the speed and the memory management approach that Rust takes, right? People love C for its simplicity and its memory, not necessarily for memory management. People love C for its simplicity and its performance, right? When you want to write some really fast, really system critical, super fast code you either pick C or I guess you pick Rust nowadays. So there's different languages out there and each has its own strengths and weaknesses and I encourage you if you've never seen other languages or worked with other languages other than JavaScript I highly encourage you to go out there and practice a new language. Try learning something like Go or Rust or even C or anything like that right maybe even C sharp or Java. There are so many other languages out there that are worth your time the thing with the javascript ecosystem is that they just try to shove js into everything they just try to just build javascript implementations into every industry like you you can see this yourself javascript started off on the web right when the internet was first being built it was javascript that we were using in browsers to build websites right to add functionality to our websites so js started off in the web in the browsers but now you see it being used literally everywhere in ai and machine learning in desktop applications in mobile applications in the internet of things in pretty much any industry and any tech product you can think of there is a javascript implementation for it that you can use to write the application in JavaScript. And while this does give us some powers as well, because we can use JavaScript in building any sort of application at all, it does also introduce a ton of other problems. The same problems we talked about earlier in the video, right? And the same reason that this guy on my Twitter is complaining about JavaScript and Electron apps. So this video is kind of just all over the place. I've just been ranting and rambling the entire time with no real clear structure. But if you stuck around the entire time listening to me ramble on and on about my hate for JavaScript Respect to you, man we're gonna end the video over there because yeah, it's getting a bit long and I think I've I think I've Given enough hate to JavaScript for one day. We've been recording for 30 minutes This is gonna take me an hour or two to just edit But I'm gonna leave you with just one clear message learn other languages learn other programming languages see what problems they solve, see what strengths they have, what weaknesses they have, and figure out in what use cases you would use some other language and in what use case you would use JavaScript or TypeScript. Because this is the kind of stuff that's going to really turn you into a much better developer and a much better software engineer. Do not just be married to one single language. That's all for this video, guys. Thank you so much for watching. If you liked it, press like. If you want to subscribe, then subscribe. And I will see you in the next video.

Share this article

All great things started with a conversation

If you've got a cool project or opportunity and you want me to be a part of it, set up a free meeting with me here, and let's talk. 😊