Need a JavaScript Guide



  • Yes I just cannot afford to be non-serious about JS anymore. I need a good resource to jiggle my mind on JS again. I prefer books over videos cos videos get me sleepy af. But either are welcome.

    Here's what I have done so far.

    1. Went through the MDN docs. Got the basics and the OOP stuff down.
    2. I get a little bit of ES6.
    3. I tried watching stuff that involves Modules and whatnot on pluralsight. It was all happy and warm till shit started breaking cos some stuff was outdated. No fucking wonder.

    So, Any suggestions for a resource that I can coherently work through and also is not oudated AF? Anything interactive is also welcome. I'm looking for something > beginner and <= intermediate. I don't need advance stuff at this point.


  • Banned

    @stillwater get the Framework Of The Week and read through examples. Depending on your general programming proficiency, it might yield better results than any tutorial.



  • @gąska said in Need a JavaScript Guide:

    @stillwater get the Framework Of The Week and read through examples. Depending on your general programming proficiency, it might yield better results than any tutorial.

    I'm neck deep in angularjs for now. I just wanted to fill any gaps in my knowledge as far as JS goes and needed a good resource. I just read a tutorial that had me include a cdn link to babel in an empty html page. Fucking broke down!. Just including the CDN link broke it. Why can't the JS ecosystem be consistent Oh lordie lord!



  • I GIVE UP.

    Cannot install a single thing because some dependency gets fucked up. I am tired of deleting node_modules all the goddamn time.


  • ♿ (Parody)

    The only way I'm able to learn this stuff is by hacking on something real. I've never had luck with tutorials or whatever, except as a way to solve a particular problem I've run into. Most of my javascript knowledge was really gained by hacking around NodeBB (and subsequent stuff I've done at work).



  • @stillwater I found this useful:



  • @stillwater Recommendation.. delete JS and Node and Angular, and anything that isn't older then a few years that is going to be replaced... no scratch that, any technology built by the nerds of the week that have only been out of school for a month.

    AngularJs got replaced by Angular 2.0 and you had to completely rewrite, angular 2.0 went up to 4.0 and had to be rewritten for your stuff to work. Angular X.X is being replaced by React, which is starting to get replaced by something else. This by itself PROVES that any perceived benefit your company will get from these technologies is completely false as it requires a complete rewrite of the stuff from the ground up every few years.

    Go back to Java itself, or C# or anything that has a track record of staying with us for more then 4 useful years. your companies bottom line will thank you in the long run.

    Do NOT drink the kool aid.



  • @kattman said in Need a JavaScript Guide:

    Go back to Java itself, or C# or anything that has a track record of staying with us for more then 4 useful years.

    I have been doing exactly that. But you see, the entirety of the enterprise world that uses .NET around these parts jumped on the AngularJS bandwagon. What could have been half a dozen js files is now angularjs sprinkled everywhere in web apps. So for me to get a .NET job I have to tick the box that says AngularJS regardless of whether i think it is worth my time or not ( By the way, I hate investing time in Angular) :(



  • @boomzilla said in Need a JavaScript Guide:

    The only way I'm able to learn this stuff is by hacking on something real. I've never had luck with tutorials or whatever, except as a way to solve a particular problem I've run into. Most of my javascript knowledge was really gained by hacking around NodeBB (and subsequent stuff I've done at work).

    I think I'll go down this route. Jumping between outdated tutorials and breaking dependencies sucks. If that's gonna be the case might as well have it happen doing something I like.


  • ♿ (Parody)

    @kattman said in Need a JavaScript Guide:

    Recommendation.. delete JS and Node and Angular, and anything that isn't older then a few years that is going to be replaced... no scratch that, any technology built by the nerds of the week that have only been out of school for a month.

    But ignoring all JS means that you're effectively ignoring the entire front end of web development. Which is certainly something that some people can do but it's definitely something for which there is great demand.



  • @boomzilla said in Need a JavaScript Guide:

    But ignoring all JS means that you're effectively ignoring the entire front end of web development.

    This FOMO is the reason I have to put up with this shit.


  • Discourse touched me in a no-no place

    @boomzilla said in Need a JavaScript Guide:

    Which is certainly something that some people can do

    👋

    but it's definitely something for which there is great demand.

    We delegate that to developers elsewhere. We even let them think that they are in charge…



  • @kattman said in Need a JavaScript Guide:

    @stillwater Recommendation.. delete JS [ ... ] and Angular, and anything that isn't older then a few years that is going to be replaced... no scratch that, any technology built by the nerds of the week that have only been out of school for a month.

    AngularJs got replaced by Angular 2.0 and you had to completely rewrite, angular 2.0 went up to 4.0 and had to be rewritten for your stuff to work. Angular X.X is being replaced by React, which is starting to get replaced by something else. This by itself PROVES that any perceived benefit your company will get from these technologies is completely false as it requires a complete rewrite of the stuff from the ground up every few years.

    Go back to Java itself, or C# or anything that has a track record of staying with us for more then 4 useful years. your companies bottom line will thank you in the long run.

    Do NOT drink the kool aid.

    On one hand, I agree that JS ecosystem is a major clusterfuck and has been for a while. On the other hand, what do you suggest instead? Continuing to live in the dark ages of $('#foo_error').text('Value must be a number').fadeIn()?

    I would say that if you are working with apps that require interactivity, the best approach would be to pick a stack that seems the least idiotic to you, learn it well, and stick to it. Any pain you experience while getting started will be balanced out by not needing to write reams of jQuery to manage the DOM over and over, and having a smoother UX in the end.

    @kattman said in Need a JavaScript Guide:

    delete [...] Node

    Hear hear!



  • @stillwater said in Need a JavaScript Guide:

    So, Any suggestions for a resource that I can coherently work through and also is not oudated AF?

    Want to make the plan editor work?

    Pull requests accepted!



  • @boomzilla said in Need a JavaScript Guide:

    But ignoring all JS means that you're effectively ignoring the entire front end of web development.

    I still write shit in MVC5. Also I still use WinForms. (I'd probably use WebForms if it were better than MVC, but it's really not.)

    Then again I suppose I'm a dinosaur who should be put down.



  • The only javascript book I ever read fully was Eloquent Javascript.

    It's pretty good. It has neat interactive examples you can run directly in the browser. And writing style is OK.

    The version I read had a point where it went full retard into functional programming. The book has been updated since, so maybe that part is watered down these days.



  • @blakeyrat said in Need a JavaScript Guide:

    I still write shit in MVC5.

    What do you use for Client side interactive stuff? Vanilla JS?



  • @stillwater said in Need a JavaScript Guide:

    What do you use for Client side interactive stuff? Vanilla JS?

    Yeah when it comes up.

    That said, for my current project, since it's going to be fancier and customer-facing, we're getting some real front-end guys to do it in either React or Vue. Still the MVC stuff is good for the admin pages and stuff like that.



  • @blakeyrat said in Need a JavaScript Guide:

    @stillwater said in Need a JavaScript Guide:

    What do you use for Client side interactive stuff? Vanilla JS?

    Yeah when it comes up.

    That said, for my current project, since it's going to be fancier and customer-facing, we're getting some real front-end guys to do it in either React or Vue. Still the MVC stuff is good for the admin pages and stuff like that.

    I stuck with good ol' MVC for as long as I possibly could but now JS is being shoved down my throat. I've decided I'll go with vuejs for my personal use and read up just enough angularjs to bullshit my way through an interview.


  • 🚽 Regular

    Get your head out of Javascript and look into TypeScript. It compiles down to Javascript and is what all the cool kids are doing now. Angular 2.0+ (which if you're looking at Angular you HAVE to learn) is very much tied to TypeScript. If you're familiar with OOP, you should get the hang of it very quickly.

    Most of the struggle at that point is not the language itself but configuring it in your specific dev environment. Gulp and Grunt are your friends, but the specifics vary depending on how you're set up.



  • @the_quiet_one said in Need a JavaScript Guide:

    Angular 2.0+ (which if you're looking at Angular you HAVE to learn)

    I gave up learning Angular 2.0+ after people started having problems with debugging errors and whatnot. There is no consensus on what is the right way to do things and the JS Ecosystem is just running around like headless chicken. I hope it explodes and dies.


  • 🚽 Regular

    @stillwater TypeScript's still a good thing to look into. Angular 2.0 is heavily involved with it, but there's still tons of uses for TS outside of Angular.



  • @the_quiet_one said in Need a JavaScript Guide:

    @stillwater TypeScript's still a good thing to look into. Angular 2.0 is heavily involved with it, but there's still tons of uses for TS outside of Angular.

    I actually like TypeScript but I give up halfway setting up the transpilers and the build tools :( . If push comes to shove, I think TypeScript is the only way forward for me.



  • @stillwater exactly. TypeScript is great, even vanilla JS is not as bad as the toolchains surrounding it. Setting up a solution to transpile TS to JS is pretty simple, the headache comes when you have to prepare that JS for production usage. Unfortunately, the ❄ 🔁 syndrome has infected everyone and all things are done differently wherever you look.

    Do you have full freedom to choose the build tools, or does "the entirety of the enterprise world that uses .NET around these parts jumped on the AngularJS bandwagon" have a single dictated build flow you need to follow? In the former case, we could start a "look at my build setup" showcase to get you started.



  • @dcoder said in Need a JavaScript Guide:

    Do you have full freedom to choose the build tools,

    Lololololololololololololololol.

    @dcoder said in Need a JavaScript Guide:

    or does "the entirety of the enterprise world that uses .NET around these parts jumped on the AngularJS bandwagon" have a single dictated build flow you need to follow?

    It is a PHB type manager who listens to one opinionated JS is awesome OSS everywhere type rockstar ninja who thinks "his way or the highway". They put something in place which does not change for the next 7832432 years.


  • Banned

    @boomzilla said in Need a JavaScript Guide:

    @kattman said in Need a JavaScript Guide:

    Recommendation.. delete JS and Node and Angular, and anything that isn't older then a few years that is going to be replaced... no scratch that, any technology built by the nerds of the week that have only been out of school for a month.

    But ignoring all JS means that you're effectively ignoring the entire front end of web development. Which is certainly something that some people can do but it's definitely something for which there is great demand.

    Agreed. There's great demand for ignoring frontend and jobs that don't involve frontend in any way.


  • ♿ (Parody)

    @stillwater said in Need a JavaScript Guide:

    I actually like TypeScript but I give up halfway setting up the transpilers and the build tools

    I'm trying to hold out switching from JS until WebAssembly is actually a thing before requiring a toolchain to build code that goes into the browser.


  • Considered Harmful

    @boomzilla It's currently a thing.



  • @stillwater said in Need a JavaScript Guide:

    It is a PHB type manager who listens to one opinionated JS is awesome OSS everywhere type rockstar ninja who thinks "his way or the highway".

    Well then, you're fucked. And not in the fun way.



  • @dcoder said in Need a JavaScript Guide:

    @stillwater said in Need a JavaScript Guide:

    It is a PHB type manager who listens to one opinionated JS is awesome OSS everywhere type rockstar ninja who thinks "his way or the highway".

    Well then, you're fucked. And not in the fun way.

    With so much fuckery on every level, things have gotten so bad to a point where I think starting a fuckall startup is not a bad idea after all.


  • Garbage Person

    @gąska said in Need a JavaScript Guide:

    @boomzilla said in Need a JavaScript Guide:

    @kattman said in Need a JavaScript Guide:

    Recommendation.. delete JS and Node and Angular, and anything that isn't older then a few years that is going to be replaced... no scratch that, any technology built by the nerds of the week that have only been out of school for a month.

    But ignoring all JS means that you're effectively ignoring the entire front end of web development. Which is certainly something that some people can do but it's definitely something for which there is great demand.

    Agreed. There's great demand for ignoring frontend and jobs that don't involve frontend in any way.

    My frontend guy deciding he was going to move to Florida was the best thing that ever happened to my team. I no longer had to pretend to care about JS.



  • @dcoder Yes, TypeScript is great as long as you don't have to futz around with 3rd party packages. Then all bets are off and you'll be casting to any all day long.

    Because I sometimes didn't get a "This function expects 3 arguments. You currently provide 2.", instead I got the "Let me tell you the history of all the type references this function's arguments down to their great-great-ancestors do expect you to provide!"



  • @rhywden That's a fair point. Most of the popular packages have type definitions on https://github.com/DefinitelyTyped/DefinitelyTyped , though.


  • Banned

    @dcoder I'm sure this idea of externally annotating types to all functions of a 3rd party code you can't touch works as well in practice as it sounds.



  • @gąska It can definitely be a nuisance, yes. But smarter libraries are starting to bundle their typings along with the source, and TypeScript itself can infer some degree of typing information from plain JS files. It's not a perfect situation, but even type checking your own code without 3rd party dependencies is better than not typechecking anything at all, especially when your code gets more complex. I mentioned previously that one of my projects already has ~50k lines of TypeScript, and 95% of that interacts only with my code, Lodash, Knockout, and a dash of jQuery – type definitions for those popular libs are easy to find, and typechecking that much code is a huge bonus.



  • I'll just leave this here

    https://what.thedailywtf.com/post/288095



  • @homobalkanus said in Need a JavaScript Guide:

    I'll just leave this here

    https://what.thedailywtf.com/post/288095

    You are aware that what you linked is 4 years old right?



  • @stillwater still a good rant



  • @homobalkanus said in Need a JavaScript Guide:

    @stillwater still a good rant

    Ohhhhh yess, The entire thread is a pot of gold.

    Fucking JS.I can't go one day without something or the other making me say fucking JS.




  • Banned

    @stillwater it's funny how every single framework on this list has been obsolete for years. No, Angular doesn't count - IIRC it's been rewritten from scratch twice already.


  • 🚽 Regular

    Oh no! Batman is dead!

    https://github.com/Shopify/batman


  • ♿ (Parody)

    @pie_flavor said in Need a JavaScript Guide:

    @boomzilla It's currently a thing.

    Not for me when it's not available in the browser I'm contractually obligated to support.



  • n-gate is a snarky bastard with too much free time. That free time is often spent writing recaps of discussions happening at Hacker News. This one seems entertaining and somewhat on-topic:

    A webshit incorrectly decides that javascript is not a shitshow, because all of the bad design choices have excuses and workarounds. You just don't know javascript the way webshits do; it loves them and it only hits them when it's been drinking, which is not its fault. Hackernews is seized in a paroxysm of indecision; they can sort-of map javascript shit to the things they learned in Khan Academy computer science videos, but not quite... so is this a failing in javascript, to be a pile of bad implementations of questionable goals? Or is this a failing in computer science, to have posited concepts that javascript can't quite fully deploy? This conundrum proves to be insurmountable, so Hackernews settles in to enumerate every single programming language they've ever heard of, compare them all to javascript, and agree that as bad as it is, it's not C, which is hard and the people who use it are mean. Perl is not mentioned at all in the entire thread, which is an excellent reason to immediately use perl as often as possible.

    Source: n-gate



  • @stillwater said in Need a JavaScript Guide:

    So, Any suggestions for a resource that I can coherently work through and also is not oudated AF?

    No. It's javascript, that isn't a thing.




Log in to reply