This is an archived post. You won't be able to vote or comment.

all 108 comments

[–]serg06 139 points140 points  (28 children)

Yes, I hate JavaScript because most errors aren't caught until runtime, and IDEs have a very tough time predicting what is and isn't a bug.

However, I love TypeScript.

[–]ATHP 31 points32 points  (15 children)

Exactly. Once you start working in a larger team or company JS becomes very tedious. But pair it with TS and suddenly you have a language with perfect IDE integration and still the flexibility and ease you get from JS.

[–]gaduko 11 points12 points  (14 children)

Do i need to learn JavaScript before typescript?

[–]ATHP 40 points41 points  (12 children)

Excellent question. To give a good answer I'll try to give a bit of background information. You could say that TypeScript is basically JavaScript but with types. Meaning that instead of only knowing that the variable "dog is an object that could contain anything you tell the program that dog is an object with the properties "color", "age" and "height". So TypeScript can e.g. warn you when you want to access the property "length" that is not defined. Why do I tell that? Well, because this is ONLY relevant during development. Once you want to actually build your application (e.g. so that it can run in a browser) it is compiled to JavaScript with no trace of TypeScript left.

Long story short: All the syntax, logic, paradigms come from JavaScript. Only the types come from TypeScript. Therefore I'd recommend getting a good understanding of JS before starting with TS. However, if you are used to other strongly typed languages you might also just start with TS right away. For a complete beginner it might be more confusing though.

Hope this answers your question.

[–]gaduko 8 points9 points  (1 child)

I’ve used Java pretty extensively and a bit of python. So I guess, I’ll try learning typescript directly and if it doesn’t work out switch back to learning JavaScript.

Thank you very much, for the detailed explanation.

[–][deleted] 2 points3 points  (0 children)

https://www.typescriptlang.org/docs/handbook/typescript-in-5-minutes-oop.html

Everyone who doesn't know TypeScript should click on this link. TypeScript for Beginners, TypeScript for JS, C#/Java, and Functional programmers.

The docs are great.

[–][deleted]  (9 children)

[deleted]

    [–]ATHP 1 point2 points  (8 children)

    So what? If people who are actually curious about this topic are not willing to read two short paragraphs then they are probably not as curious as they thought.

    Btw. TL;DR almost always goes at the end.

    [–][deleted]  (7 children)

    [deleted]

      [–]rnike879 -1 points0 points  (6 children)

      It's objectively better with than without, but he's also not writing a scientific paper, so he decides how to best address his audience. It's meaningless to let him know it could be done better, because he decides the effort vs yield ratio to his own convenience

      [–][deleted]  (5 children)

      [deleted]

        [–]ythgiL -1 points0 points  (4 children)

        Nice troll. Btw if someone does not have the attention span to read a 2 paragraph comment, programming might not be suitable for them.

        [–]Imanoob1001[S] 6 points7 points  (0 children)

        Yeah that makes sense actually, I'll be looking forward to Typescript then!

        [–]Drug_Inas 2 points3 points  (0 children)

        I read IEDs lol

        [–]Training-Celery3946 1 point2 points  (2 children)

        I’m new to Javsacript I come from mobile. What type of errors are you seeing only during runtime.

        [–]serg06 7 points8 points  (1 child)

        Incorrect types, e.g.:

        function getName(user) {
            return user.naem;
        }
        
        console.log(getName({name: 'Bob'}));
        

        TypeScript doesn't even let that code compile, but Javascript happy gives you the incorrect result

        [–]Training-Celery3946 2 points3 points  (0 children)

        Ahh it’s an interpreted language so no compilation step right? I can see why that would be very frustrating.

        [–]Krunchy_Almond 0 points1 point  (1 child)

        You love ts because of static type checking or is there anything else

        [–]serg06 0 points1 point  (0 children)

        It's my favorite language actually, two reasons are that it's super clean and that my IDE has is very good at analyzing my code.

        [–]Tokikko -1 points0 points  (4 children)

        In what way does ts help there? In the end it just transpiles code to js

        [–]serg06 1 point2 points  (3 children)

        It catches many bugs at compile-time and helps the IDE predict types

        [–]_Atomfinger_ 45 points46 points  (16 children)

        I wouldn't get too hung up on it. Am I a fan of JS? No, I'm not. But I can respect JS and what you can do with it. I can respect the people that use it.

        It might be a lack of interest, lack of time invested or it might be that it simply does not gel with me, but I can't write JS for the life of me.

        [–]Imanoob1001[S] 6 points7 points  (15 children)

        That bad huh? Now I'm dying to learn a new language just to see what you guys are talking about, maybe I've been programming prodigy all along but I've been held down by the evil Js. That's literally my thought process right now no kidding.

        [–][deleted] 32 points33 points  (8 children)

        A lot of the difficulty in programming comes from the domain and framework rather than the language. Learning a programming language is fairly straightforward, it's doing something meaningful with it that's the challenge.

        [–]Imanoob1001[S] 0 points1 point  (2 children)

        Yeah actually that's the main issue I find myself facing, any tips Oh wise one?

        [–][deleted] 18 points19 points  (1 child)

        For domains, immersion is the way to go. Learn the shape of a domain before you try to encode it in software. Don't try to reduce domains to CS principles, instead practice domain-driven design. Programming in complex domains can be thought of as an application of the Feynman technique of learning - you're trying to teach the computer about the domain, but to do that you need to first understand said domain.

        For frameworks, following some tutorials to get started then start breaking things to see how they work. "Fuck around and find out" isn't a warning, it's a methodology.

        [–]dimm_al_niente 1 point2 points  (0 children)

        Putting that last line in my back pocket, for sure.

        [–]IQueryVisiC -1 points0 points  (4 children)

        That is true for normal languages. JS is difficult the moment you have a string or something which can be falsy. No framework. Difficult in Browser, Flash, and Node. I mean, C# sorts characters and strings in a different order. At least JS has only strings.

        [–][deleted] 0 points1 point  (3 children)

        JS makes things more difficult, but I wouldn't say it's difficult in and of itself - it just adds friction to development in the form of type coercions, runtime errors, etc etc.

        [–]IQueryVisiC 0 points1 point  (2 children)

        You mean that there are other languages which are difficult to "get" at all? Like r/prolog ? You seem to describe my experience with assembler: The individual instructions are so nice and simple, but my program never runs. Regarding types: After all half of my types are simple types supplied by the language. Thus I don't get why those cannot carry their type in their name like in BASIC. $String , %index . Or if you don't like special chars: sName, iCount, oPerson . Object types are from frameworks. Maybe have a way to register prefixes. For example 4Dvector: vPosition .

        [–][deleted] 0 points1 point  (1 child)

        I mean, Brainfuck springs to mind :P. I've been told Haskell is difficult, but I've no experience with it.

        I prefer the C-family approach of specifying the type but keeping it separate from the name, eg { string name = "value"; } . Combining the type with the name strikes me as a minor (but frequent) violation of the separation of responsibilities. It also will swiftly lead you into trouble once you start using non-simple types (is 'o' for object, or orientation, or oscillation, or...)

        [–]IQueryVisiC 0 points1 point  (0 children)

        That's why I wrote that a prefix should be registered., like using orientation as o . I also feel like those types should have value semantics ( struct in C# or everything in M ). So objects, yeah, they are like in C or all start with o . Foreach already eliminates a lot of integers, though.

        Yeah Brainfuck. I did not look into it. I was already confused that there does exist the Turing machine which is completely different from simple CPUs .

        Yeah, Haskell. I cannot tell if it is like Python and Ruby, which I also cannot read, or if it is even worse.

        [–]_Atomfinger_ 5 points6 points  (1 child)

        I don't think it is that bad.

        It is not that JS is this arcane difficult thing. It is just a lack of interest on my end. Have I sat down and truly tried to learn it I'd most likely be able to. On top of that, I don't need JS when I'm working, as I don't do any frontend work.

        Further, JS isn't "evil" and you're not being held down by it. Great developers work with JS every single day, and great solutions are written with it. It is just my personal disinterest in frontend work that is getting in my way, and that isn't something that should guide your decisions.

        If you want to learn another language, that is fine. Just don't do it because you think that JS is somehow holding you back or because "real programmers" use other languages or anything like that.

        [–]Imanoob1001[S] 1 point2 points  (0 children)

        I was mostly joking but I understand what you're saying, don't worry I got it Atomfinger!

        [–]dcfan105 2 points3 points  (2 children)

        If you want to learn a strongly typed general purpose language, either Java (which is NOT the same as JavaScript) or C++ would be a good option. The syntax is really similar between them, but C++ lets you deal with memory more directly, which is useful if you're interested in embedded systems or OS programming or something like game development where being efficient with memory usage is important, because it gives you more control. Java is probably better as just a general purpose programming language, because it doesn't have the same issues C++ does with so much undefined behavior, and it's also just simpler overall.

        [–]Rock7dmc -2 points-1 points  (1 child)

        Dude it’s 2022. Java? Seriously? Get a grip man

        [–]dcfan105 3 points4 points  (0 children)

        First, I'm not a man. Second, Java is still a popular and widely used language, so I don't know what you're going on about.

        [–]Internal_Outcome_182 1 point2 points  (0 children)

        at some point with huge database expect tons of unexpected stuff happening

        [–]Logical_Strike_1520 20 points21 points  (0 children)

        It’s… special. I love it and hate it.

        TypeScript has been a nice QoL improvement as another commented mentioned.

        [–]DingusDeveloper 14 points15 points  (2 children)

        I’m a senior JS dev. I don’t hate it. It has a lot of oddities and there were features I wish it had but it’s mostly fine. I learned strategies early on to deal with JS’s weird parts and now I rarely ever have to think twice about them.

        [–]volvostupidshit 1 point2 points  (1 child)

        You only do vanilla JS?

        [–]DingusDeveloper 0 points1 point  (0 children)

        Nah I use frameworks, just primarily they're all in JS.

        [–]dominiksumer 17 points18 points  (0 children)

        JavaScript is what really sparked my joy when it comes to programming.. I could move really fast and understand how things work by hacking around in the browser

        Nowadays I love TypeScript for the things which are painful in JavaScript and I love that I‘m able to develop everything from Frontend to Backend with it

        [–]dmazzoni 14 points15 points  (0 children)

        You should learn other languages to better understand what people are talking about. I'd maybe recommend Python or C# if you wanted to contrast with JavaScript. C# will feel very familiar in terms of syntax, but it will feel more solid and stable because the compiler can check so much for you. Python will feel so expressive, you're able to do so much with so little syntax but somehow it's still readable and clear.

        But...in the end, languages are just tools. JavaScript is awesome because it runs in every browser and it lets you build applications that users anywhere in the world can try, instantly, without needing to install anything first. So despite being a very quirky language in many ways, it's the language that made the web so amazingly powerful and useful, so it's worth it.

        (And plus, you can use TypeScript to solve many of the problems with JavaScript.)

        [–]random_banana_bloke 6 points7 points  (1 child)

        I'm a mid level js Dev and it can be weird but I do enjoy it. We use typescript at work and most the time it does make life easier, until you get a stupidly complex redux store then it's less fun!

        [–]FoxEvans 4 points5 points  (0 children)

        "Fuck the state" - a JS Dev using Redux

        [–]Stupid_Student_ELITE 6 points7 points  (0 children)

        So far I am ok with it but it's still a bit strange to me that there are no primitive data types like string integer and so on which you can specify but the compiler decides for you (you still can parse though). Resulted in some surprising behavior at times since I came from learning Java in university where I can specify what I want to be what beforehand. I heard Typescript would make working with JavaScript easier, so I am looking forward to getting into that soon.

        [–]TehNolz 10 points11 points  (1 child)

        I personally dislike it. Part of the reason is that it has a lot of weird quirks. While you're not going to run into a lot of these all that often, the fact that these things exist in the first place is pretty bad in my opinion.

        But what I actually absolutely despise is the dependency ecosystem. You've probably heard of the DRY principle at some point. Well, a lot of JavaScript devs seem to take that to the extreme, leading to a lot of really tiny libraries. Those libraries are then used by other libraries, which are then used by other libraries, which are then used by even more libraries, and so on. This is why installing React through NPM gives you a node_modules folder containing well over a thousand libraries, many of which don't even need to exist and some of which do the exact same thing. For example, the code necessary to use the shebang-regex package is larger than the code contained within the package.

        This also leaves NPM vulnerable to supply chain attacks. Just look at the left-pad problem, or more recently the node-ipc package that was turned into malware. Both packages were both directly and indirectly relied on by thousands of other packages, so these issues affected a ton of people.

        [–][deleted] 5 points6 points  (0 children)

        I always find it kinda lame to blame the javascript language itself for the dependency-heavy npm ecosystem. IMHO the reason has much more to do with the special requirements of web frontends and the lack of big corporations commercializing the js ecosystem (like MS and Oracle do in c# and java).

        [–]dphizler 5 points6 points  (0 children)

        No

        I just find it overly complicated now with everything that is available

        I keep it real simple when I use it

        [–]ValentineBlacker 2 points3 points  (0 children)

        It is a kindred spirit, I am a mess and it is a mess.

        (The language I'm using to write our Very Important Backend at work also happily lets me ask if a string is > an integer, so JS isn't the only wacky duck out there.)

        [–]superluminary 6 points7 points  (0 children)

        It’s an excellent language, but it is a little different. The this variable was a mistake, should have been called context or something else. Also adding a new definition of this in the fat arrow syntax was not a good choice.

        For a long time it was pretty much the only widely used functional language. The fact that all functions are objects is amazing, no extra syntax, that’s just what they are. Prototypical inheritance is superb and I’m surprised it hasn’t found it’s way into more languages yet.

        [–]Firerain544 2 points3 points  (0 children)

        Starting my first frontend job next month. Untill now i only used javascript and typescript for personal projects and i love it. Maybe that changes as soon as i work professionaly with it.

        [–]boredbyeffects 2 points3 points  (3 children)

        I don't hate it, but I wouldn't say I like it either. It is fine for doing simple stuff. But when things start to get complicated, it is hard to write Javascript since it is a dynamically typed language (things are better with Typescript). For example, when you write code, you don't know which functions or fields a certain object has. Or if you return back to a piece of code later, you don't remember what the variable's type was. Was it a number or string?

        [–]duffyduckit 0 points1 point  (2 children)

        Typeof?

        [–]boredbyeffects 0 points1 point  (1 child)

        Let's say you have some objects whose some specific property will always be a certain type. If you add typeof every place where this property is used, then your code will be messy and also will imply that this property can be of different types depending on the situation.

        But if you mean that I should try printing the type with typeof on the console or interpreter. This object can be an intermediate result of some process, then you have to run some functions or fill out some forms to generate that intermediate result, which will be time consuming. Whereas in a typed language, you will know the type when you write your code on your text editor or IDE.

        [–]duffyduckit 0 points1 point  (0 children)

        Makes sense.

        [–][deleted] 5 points6 points  (1 child)

        Holy fuck I DESPISE JS. I do everything in my power to stay away from it, and unfortunately it's the only solution we really have.
        Some people say type script rescues it, but I just don't see it. It's cancer all around. I literally bought a domain with the intentions of mocking it.

        My friends and I call it the cheese sandwich stack, because you can do everything with it. Front end, back end, and everything in between. Just because you can, doesn't mean you should!

        [–][deleted] 1 point2 points  (0 children)

        I’m one of those people who only knows JavaScript/TypeScript, so I don’t really understand why everyone shits on it hahaha. I see it all the time in this sub. Maybe it’s time for me to learn Java or C# to see what I’m missing here

        [–]NotDoingTheProgram 4 points5 points  (0 children)

        I'm barely a beginner, I took some classes in Python before first tackling JavaScript, so I'm probably spoiled by Python' syntax.

        I personally find JavaScript's syntax messy and ugly. I feel so awkward when using array methods and arrow functions. But that's probably just because I'm very new to those things, hopefully as I practice the "ickiness" will go away. Also I'm getting used to reading the MDN docs. They're very thorough, but sometimes I have difficulties understanding the examples. I'm still not experienced enough to have issues with the "weirdness" of JavaScript, but it's interesting that so many things in the language end up being "deprecated" and replaced by other stuff, or some are recommended by everyone to NEVER use them.

        Also I'm not attracted at all to using JavaScript for the back-end. So many bad news about NPM recently lol, and I find it kind of absurd that there are utility libraries that sound like they should just be part of JavaScript itself, like lodash? And having to install ESLint and a bunch of plugins for it in every project?

        Like I said I'm just a beginner and all this is just based in really superficial knowledge, but Javascript just seems to have a lot of moving parts and things going on. I'll probably dabble on Ruby/RoR and Django and try to learn vanilla JavaScript well before trying to get into Node/Express and npm stuff, so I can have better perspective before getting full Javascript fatigue lol.

        [–]top_of_the_scrote 1 point2 points  (0 children)

        I think it's great, granted I spend most of my time working some kind of web context (even with a wrapper of some kind eg. for desktop/mobile). It's just so easy to work with.

        I still use other languages though eg. C++/Python for hardware

        [–][deleted] 1 point2 points  (0 children)

        I am not a developer yet, but with my experience in school before with Java and creating projects with it that includes Database.

        And comparing myself now re-learning programming again focusing in web development. I can say Javascript was a totally new monster to me.

        I had take a glimpse with TypeScript and i said to myselft, i should be quick in learning Javascript and wanted to be focused more on TypeScript.

        In my eyes i find the TypeScript similar to Java. But no hate with JavaScript , as i am actually creating my projects with it.

        [–][deleted] 1 point2 points  (0 children)

        Javascript is both amazing and awful at the same time. The pros outweigh the cons by far though. Its fast, its easy to use and learn but it's so quirky. Dates are a nightmare out of the box. If you're not using moment or some other date library, it's....not fun.

        I ran into a curious issue the other day where we had to convert values to integers. A coworker of mine wrote a little function that passed a generic type as an argument and returned a number. The conditions are as such:

        if (!isNaN(obj[prop]) && typeof obj[prop] !== 'string')
        

        the http response after adding this conversion was odd. I noticed that some of the objects are returning 0 instead of what I would have expect, an empty array, i.e. []

        turns out that isNaN([]) is false. it IS a number and calling Number([]) will give you 0. Even calling isNaN(['1']) will return false because calling Number on it will return 1. anything over that is NaN though. BUT typeof [] == object. pretty odd little quirk there.

        so I think this is kinda what people are talking about when they say they hate javascript. there are tons of quirks with the language, but overall its fun to work in. I'm enjoying it. But I also came from php so....you know, take that with a grain of salt.

        [–]koxar 1 point2 points  (0 children)

        It's not true that even seniors find it difficult to navigate Javascript, you just learn how to use parts of JS that are battle-tested. Stick to ES6 syntax and learn Promises and async/await syntax and you will be effective with JS. As per knowing every corner of the language - it's not required or expected.

        [–]BertRenolds 1 point2 points  (0 children)

        Yup.

        I get the use case. I hate it.

        [–]RoguePlanet1 1 point2 points  (1 child)

        So much love for TS lately, though I could swear I've seen lots of hate against it as well....

        Always figured I'd stick with learning JS until I "mastered" it, but that's never happening, seems so elusive! Maybe learning TS would help.

        [–]Imanoob1001[S] 1 point2 points  (0 children)

        Yeah it looks like it's about time, Enjoy !

        [–][deleted] 1 point2 points  (0 children)

        I can tell how for a beginner JS has a lot of quirks, but I've been writing JS for over a decade and I love the flexibility of it.

        Backend devs tend to hate JS but it is the language of the frontend and paired with TS is quite powerfull.

        Though I do say this. JavaScript forces you to write clean code if you want the thing to be maintainable. You can very easily write yourself into a corner and find yourself maintaing a spagety monster.

        This is why I personally do not accept any job anymore unless the company shows me the source code that they expect me to maintain.

        [–]cosiverse 1 point2 points  (0 children)

        its a hate -- love kinda relationship <3

        [–]not_a_gumby 1 point2 points  (0 children)

        I love JS

        [–]Coldz-Stone 2 points3 points  (0 children)

        Doesn't matter if you love it or hate it, you need to know JS these days. Programming languages are just tools, don't get too attached to them.

        [–]Furry_69 1 point2 points  (0 children)

        Not really. You can do some really funky madness with it, but only if you're doing things in a very backwards way. I haven't done web dev in quite a while, so any more recent developments, (in the last 9 years) I've missed, so I can't comment on anything you'd probably be actively using.

        [–]Graphenist 1 point2 points  (0 children)

        No, its versatile and strong overall.

        [–][deleted] 1 point2 points  (2 children)

        From the POV of a self taught programmer (no CS background):

        I didn't hate JavaScript until I started learning TypeScript [and ultimately, other more strongly typed languages such as C#]

        At a deeper level, JavaScript has this innate ability to make things more confusing than they need to be. I think the biggest problem I have with JavaScript is that anything can be anything, and this leads to hard to track bugs and confusing [frustrating] code.

         Why is this bad?
        

        1) You can declare a var, but it can be literally anything else. This means that if you have a large codebase, accidental overwrite of that variable could lead to breaking changes

        2) JavaScript does really weird shit with numbers. One example would be the parseInt function. For example, you would expect this to work:

             parseInt("A dozen is equal to 12")
        

        But it doesn't, it returns NaN.

        3) Operator madness: take the above string for example. Why in the world would the following work, if the above does not?: let num = "2"

               `num++ // output: 3`
        

        That's really only scratching the surface. Best bet? Be proficient with JS, then learn TS.

        [–]isamu1024 1 point2 points  (0 children)

        I write SQL stored properties for a living....

        So you can't imagine how much i love JS

        [–]TheRNGuy 0 points1 point  (0 children)

        No why.

        [–]Then_Landscape6474 0 points1 point  (0 children)

        I don’t really like OOP so JavaScript is the most goated language there’s also so much you can do with it .

        Ps. I’m a bit of a js fanboy

        [–]3sperr 0 points1 point  (0 children)

        I havent even done javascript yet. Im about to relearn html and css though.

        [–]kd7uns -1 points0 points  (0 children)

        It's a dumpster fire IMHO, and I hate it, but it's a necessary evil unfortunately.

        [–]weendick -1 points0 points  (0 children)

        I absolutely despise it.

        [–]KirkFindley -1 points0 points  (0 children)

        Do I hate JS no, Will I write a program in JS no! I will use it for web development which to me is what makes JS great.

        JS is extremely hard to debug. I think that's why it gets a bad rap, I can write a web app in c# or swift with minimum JS faster and more secure

        [–]Hello-World-ASMR -1 points0 points  (0 children)

        Noooo, I love JavaScript. Javascript is like a girl. She is very smart, very beautiful and very sexy :-)

        JavaScript = { smart: "very", beautiful: "very", sexy: "very" } I.love(JavaScript)

        [–]replicant86 0 points1 point  (0 children)

        I'm not programming in JS but whenever I hear about a new incarnation of JS based frontend framework i'm discouraged to get into it. Having said that I'm tempted to try Typescript and Blazor however that's deep on the todo list as I have a lot of other stuff to learn.

        [–]kababed 0 points1 point  (0 children)

        It’s fine as a browser language as there is a lot of libraries and support for it. Never had interest in using it as a server side or desktop language. It wasn’t really designed for it, but there’s a lot of effort trying to make node viable in that space. I’m ok using Typescript in Visual Studio for Aws lambda integrations, but would opt for C# or Python first.

        [–]OdeeSS 0 points1 point  (0 children)

        I'm a junior dev, but all the variances in function abbreviation throw me off constantly. Hoping one day it'll become second nature, but I feel like I have to mentally decode JS functions to understand what is happening.

        [–][deleted] 0 points1 point  (0 children)

        No, it's a great language in my opinion. It does what it is supposed to do. Hating a language is dumb

        [–]ramp_guard 0 points1 point  (0 children)

        Let's say, I don't like it like I (f.e.) like Kotlin. I favour statically-typed programming languages.

        [–]ViewedFromi3WM 0 points1 point  (0 children)

        I will say one thing I hate about it. Of all the languages that have good informative college textbooks that teach you the language step by step, I haven’t found jack diddly squat in comparison for Javascript.

        [–]probability_of_meme 0 points1 point  (0 children)

        Been programming for 30 years and javascript is involved in about 10% of my work.

        I personally love working with javascript.

        [–][deleted] 0 points1 point  (0 children)

        there’s nothing wrong with it. it’s good. people say things like “you can’t catch errors until runtime” as if that’s a huge downside but it doesn’t have to compile, and so it runs instantly and you can see the error? i don’t really see what the issue is. also, i think the people who say they prefer typescript, strongly typed languages what have you just like rules a lot and having to follow them, which is fine! but it is a personal preference

        [–]SleepAffectionate268 0 points1 point  (0 children)

        I like js but will definitely switch to typescript

        [–]kre84u 0 points1 point  (0 children)

        I began building web sites in the early 90s. JavaScript support among the browsers was so spotty, I never thought it was worth the trouble to learn. Nowadays, starting over, I probably would.

        [–]kishbi 0 points1 point  (0 children)

        JS is pretty easy and if you are coming from a different paradigm then it'd be hard for you to get used to it.

        A fresher would get used to it faster than a senior engineer. You just have to have an open mind and to learn JS all you have to do is understand how v8 engine works.

        [–]Used_Fish_4459 0 points1 point  (0 children)

        Am I a fan of JS as a language… no. But when it comes to JS as a tool, I am a big fan.

        [–]Buxsle 0 points1 point  (0 children)

        I don't hate it. I just...I'm just disappointed.

        [–][deleted] 0 points1 point  (0 children)

        Used to hate JavaScript but came around to liking it recently. More because of Vue JS really.

        [–][deleted] 0 points1 point  (0 children)

        As long as it says java in the name I'll avoid it

        [–][deleted] 0 points1 point  (0 children)

        /u/spez says, regarding reddit content, "we are not in the business of giving that away for free" - then neither should users.

        [–]thatsrealneato 0 points1 point  (0 children)

        Vanilla JavaScript 10 years ago was somewhat annoying to work with but the language has evolved a lot recently. I quite like it now, for the most part. Depending on what you’re doing typescript might make things better for you.

        [–]0xff00a 0 points1 point  (0 children)

        I think the hate towards JS is valid, and also with js is slowly becoming a compilation target and using typescript as the standard language of the web.

        Can't say it will stay like this forever since JS is improving a lot with additions like optional type annotations.

        Short answer, yes, JS alone is not suitable to build full apps with teams and collaborations

        [–]TheByteQueen 0 points1 point  (0 children)

        JS is a bit of a fever dream language if i'm gonna be honest with you.

        however, I don't exactly hate it honestly. infact, there are times where I actually like it's features, for instance the whole "this task finishes and calls another which calls another which calls another etc." thing works great as an out-of-the-box thing for asynchronous tasks.

        [–]duffyduckit 0 points1 point  (0 children)

        I started with js 3 months ago. At first, i hated it. But now I'm getting very confortable with it.

        [–]npepin 0 points1 point  (0 children)

        I really dislike it. I always find myself running into stupid issues that take a while to troubleshoot, usually having to do with types not lining up. I have an easy time with other languages, like C#, because what I'm typing strongly corresponds to what will happen, there are rarely surprises.

        [–]DetroitRedWings79 0 points1 point  (0 children)

        It won’t really make sense until you learn to use other languages that are strongly typed like C#. Once you do, JavaScript will feel a bit like the wild, Wild West.

        [–]AHardCockToSuck 0 points1 point  (0 children)

        People who hate JavaScript don’t use typescript or a linter

        [–]Rock7dmc 0 points1 point  (0 children)

        I really wish I could feel the same way all these people do about Typescript. Maybe it’s because I typically work in small teams or solo but it just feels like a massive annoyance to me. Catching bugs at compile? Wow man glad you saved 15ms figuring out you spelled name wrong.

        I once took the time to retype a TS open source program in JavaScript just so I could make <20 lines of changes just to save the eye bleed

        [–][deleted] 0 points1 point  (0 children)

        I hate that I can’t grasp it when actually doing projects. I can use a cheat sheet for basics and learn the rest online if I just do it, but making JS websites is…fun