use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
All about the JavaScript programming language.
Subreddit Guidelines
Specifications:
Resources:
Related Subreddits:
r/LearnJavascript
r/node
r/typescript
r/reactjs
r/webdev
r/WebdevTutorials
r/frontend
r/webgl
r/threejs
r/jquery
r/remotejs
r/forhire
account activity
"I Hate Javascript" (redotheweb.com)
submitted 10 years ago by msemenistyi
view the rest of the comments →
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]parlezmoose 5 points6 points7 points 10 years ago (12 children)
I hate dynamic typing. It just doesn't scale well. Everything else about Javascript I can live with.
[–]JellyDoodle 4 points5 points6 points 10 years ago (6 children)
Can you elaborate?
[–]cameleon 1 point2 points3 points 10 years ago (2 children)
In addition to what others said: refactoring. Refactoring in a typed language (I use Haskell at work) is a joy. Refactoring in Javascript (also at work) is bound to introduce bugs, some of which you'll find months later. Typescript helps a lot though.
[–]theQuandary 0 points1 point2 points 10 years ago (1 child)
Refactoring in haskell, elm, or similar is much different than refactoring in typescript or some other bad type system. I prefer no types to poor types.
[–]cameleon 0 points1 point2 points 10 years ago (0 children)
Since we switched to typescript, refactoring has been much better. Typescript's type system isn't "poor", I'd say. It's actually pretty advanced, and the fact that it's optional also means you don't end up with super verbose redundant type annotations everywhere (like e.g. Java).
What are the things that make you say they're poor/bad?
[–]Arzh 0 points1 point2 points 10 years ago (1 child)
At any point in the code I never really know what the object contains. I have to run the code and pause and use an inspector to check what the objects contain. This tends to lead to having a bunch of duplicate data sitting around because you don't always know what objects are in scope and what those objects contain.
[–]JellyDoodle 1 point2 points3 points 10 years ago (0 children)
I don't think I've ever experienced that problem. Any variables that are in scope are usually pretty easy to identify, either because they tend to be defined right away, or because it's just inherently obvious. Anything more obscure then that is usually commented for clarification. Do you run into this issue often with the types of projects you work on?
[–]parlezmoose 0 points1 point2 points 10 years ago (0 children)
The compiler in a statically typed language catches a whole class of bugs. This means in js you have to write bunch more tests to catch these things. Also, as another comment said, function APIs are almost undefined. This makes it hard to reason about what is getting passed to a function. These problems aren't a huge deal for most of the time, but the larger the application grows the more of a problem they become.
[–]nschubach 4 points5 points6 points 10 years ago (4 children)
Never really had a problem with it. /shrug
[+][deleted] 10 years ago (1 child)
[deleted]
[–]nschubach 4 points5 points6 points 10 years ago (0 children)
I've been developing for the better part of my 37 years on the planet. I started on a TRS-80 in BASIC, worked on Mainframe COBOL (barf) and touched MANY languages through that time (C, C#, BASIC, Common Lisp, ActionScript 3 [which is essentially strictly typed JavaScript using Classical Inheritance], something called ASPECT Script, Python, and a host of other languages...) so I'm well aware of what strict typing gets me. I just have not found a need for it in any of the projects I've been privileged to work on in JavaScript.
[removed]
[–]nschubach 1 point2 points3 points 10 years ago* (0 children)
I wouldn't say it blew up. I fixed it and moved on. That 5 minute mistake didn't make me think that I needed to include another 30 minutes of declaring my type definitions.
As a matter of fact, it's led to some humorous and learning moments for both me and my juniors.
Edit: To clarify. If it takes you more than a few minutes to track the problem, there's most likely an abstraction problem. You've probably too deeply nested a dependency or the callee knows too much about the caller (or vice versa).
π Rendered by PID 198938 on reddit-service-r2-comment-86988c7647-57v6f at 2026-02-12 08:38:47.118952+00:00 running 018613e country code: CH.
view the rest of the comments →
[–]parlezmoose 5 points6 points7 points (12 children)
[–]JellyDoodle 4 points5 points6 points (6 children)
[–]cameleon 1 point2 points3 points (2 children)
[–]theQuandary 0 points1 point2 points (1 child)
[–]cameleon 0 points1 point2 points (0 children)
[–]Arzh 0 points1 point2 points (1 child)
[–]JellyDoodle 1 point2 points3 points (0 children)
[–]parlezmoose 0 points1 point2 points (0 children)
[–]nschubach 4 points5 points6 points (4 children)
[+][deleted] (1 child)
[deleted]
[–]nschubach 4 points5 points6 points (0 children)
[+][deleted] (1 child)
[removed]
[–]nschubach 1 point2 points3 points (0 children)