14
cypher
7y

Need to learn JavaScript.
My question is: What good books/websites/ youtubers etc are out there that have good explanations.
Thx in advance.

Comments
  • 7
    You Don't Know JS series
  • 3
    Head First JavaScript Programming
    A Brain-Friendly Guide

    http://shop.oreilly.com/product/...
  • 5
    https://www.w3schools.com is always a good source of knowledge
  • 1
    @tracktraps that's a very good book for starters, I gave that to my trainee and am really happy with it.

    For more experienced users I would recommend 'JavaScript' the good parts'.
  • 2
    Like stated before I would begin with w3. Best place in my opinion to get a baseline. Don't start with frameworks...
  • 0
    @SoulOfSet well the thing is I just got hired a week ago. I have some knowledge in writing code but I need to know more. My first assignment is in a framework that Im learning now plus Im working with typescript and rxjs. Fuck me right.
  • 1
    I see. I would still start with vanilla js for at least the basics. Typescript in the end just gets transpiled to JavaScript. A basic understanding will go a long way in the end. @cypher
  • 2
    Try http://exercism.io - JS exercises are pretty good.
  • 2
    Tbh, I learnt JavaScript mostly from w3schools website and then, next moment I was using it for a big project, which eventually helped to learn new stuffs in javascript. Your goal should be Knowing where and when javascript is used. Don't be worried about syntax. And w3schools pretty much cover a good range of various uses of js.
  • 0
    @cypher there is a really good course on udemy by Jonas Schmedtmann on javascript for beginner. By the end of the course you will have a deeper knowledge on the language.
    https://udemy.com/the-complete-java...
  • 3
    @cypher also this guy 'travesty media' on YouTube has awesome crash courses on js frameworks helped me a lot hope it helps you too
  • 0
    I wouldn't do any of the suggested to *start* (except w3schools). Go onto codecademy (my personal choice, although not very expensive) or w3schools then go to one of the previously suggested.
  • 1
    @calmyourtities Javascript itself is pretty simple anyway. But as soon as frameworks come into play, it breaks your neck.
  • 1
  • 0
    @tracktraps considering that he put JS in his bio, I'm assuming he doesnt have any prior knowledge, so I suggested a tutorial for absolute beginners.
  • 2
    @tracktraps the most difficult time(the stiff learning curve) I had in js was the asynchronous behaviour.. which is completely different from other commonly used languages..
    Apart from that, if you see frameworks.. those are meant to be little more complex than the languages its implemented with. Learning framework can be stage 2 for him.
  • 2
    @tracktraps I agree with the breaking neck part. but I disagree on the part that js is simple, Understanding scoping and the prototype chain, and why it's working the way it does, these things are not simple.
    And how to build larger applications, can be challenging in js.

    And keeping track of all the changes in the language itself? I'm Talking about e.g. proxy-objects, generators and whatnot.

    And I'm ignoring right now the different implementations and optimizationd of the different js-engines.

    JS is not a simple language.
  • 0
    Go through "Head first javascript"
    Nothing else. After you finish reading this, write couple of project using all the knowledge you have.
    Then, Try to learn nodejs after that.
    Then, Learn vuejs - " from youtube- ninja net "

    Then buy "Professional Javascript" or go through "Learning ES6" by nikolas s zakas, also available online for free.
    By the time also learn webpacks.
    By this time I don't think you need any more suggestion for what you want to do next. You will already get familiar about JS world by now

    This could take 6 months or even one year depending on how deeper and practise your are doing.
  • 1
    JS is not that small. You can get started very easily. But it take years to master and improve
  • 0
    @github to me promises. It seems super simple now. I got the concept quick but I did sone mess when trying g to understand how to implement it
  • 1
    @jalebiBhai now after 10 years I have the feeling that I understood the language. And am probably still wrong about it.
  • 2
    @jalebiBhai same here. Promises exist in all other languages too, but very frequently required in JS. Hence, you get to learn some new stuffs.. and later you can reuse this concept on using asynchronous calls in other languages
  • 0
    @jalebiBhai implementing promises gets especially interesting when it comes to the little details, what about chaining the 'then' and 'catch' and what about the exceptionhandling.
  • 3
    But don't spend your life at W3. After going through it once for the first time, make yourself home at MOZILLA DEVELOPER NETWORK. The best refrence for JS
  • 0
    @plusgut lol //10 years
  • 2
    @jalebiBhai yes! the mozilla documentation is mostly excellent, especially when it comes to little quirks and gotchas, they explain them very well. With mostly good examples.
  • 2
    @plusgut hahaha.. everyone feels that he understands a language, and then suddenly from nowhere a new concept arrives, and then, we all go crazy.. When did this come? How I never came across with this? How much is still left? Is it the end? Have I completely gained knowledge to say people that I know a language?
  • 0
    I love JS and the community. Things are improving and it's becoming powerful and stronger day by day. Better documentations, powerful frameworks, native applications and blah blah blah
  • 0
  • 0
  • 1
    @jalebiBhai fully agree. Mozilla docs are great.
  • 0
    Though i have just 1 year experience of coding and JS but working on a project of mine since last 6 months, feels GREAT. The plus side while working alone ina project is, you learn things as you need it and you understand why exactly are they needed. But the downside is you have less for learning new things as you get addicted to writing code for project
  • 2
    @jalebiBhai in present era, with easy access to internet, learning new things are easy.
    But I think that being able to use your knowledge and skills to build something that goes out for a purpose makes more sense.
    There are people who have awesome ideas with simple technology implementations, and then earn(money and fame) a lot..
    We can any day learn new stuffs, but using them in projects are the real fruits we get..
  • 0
  • 2
    back when I started I had no internet, only books.. and no one to ask why nothing is working. I feel a little jealous to the ones who start now programming with all the informations at hand.
  • 0
    I spent 6 months creating application with vanillaJs. Though end product looks really good and perform really well due to extra care I took for performance from the start, when I learned vuejs almost a week ago, I was in total shock, the heck I spent 6 months on vanilla.
    Damn vuejs is super sexy. I was adding a new separate functionality to existing app. Instead I decided to try vuejs. It would have taken more than a week to do the same thing and not as good as vuejs. I did it in 3 days, since I was writing vuejs for the first time. Even didn't wrote a single code during learning vuejs 😂
  • 0
    @plusgut lol ...

    Though Apart from internet I have no real guidance too. But community is supportive that comprise experienced people like you
  • 0
    But i deleted the newly created page by mistake. I started rewriting it, and wrote 90% of it in less than 4 hours 😂
  • 1
    @jalebiBhai if you have any questions, just shoot ;)
  • 0
    @plusgut sure .... are you working right now ?
  • 0
    Also there are no way to implement DS directly in JS. I think thats the major downside of JS
  • 0
    @jalebiBhai do you mean right now in this moment? No I had a hard week at office and do much at this weekend. In general? Yes I work for a lovely company with there own product.
  • 0
    @plusgut apple ?
    iPhone, Mac and iMac....?
  • 0
    @jalebiBhai DS in data storage, or as in datastreams?
    Data storage: possible via localStorage in the browser. And datastreams are working as well.
  • 0
    @plusgut no I want to know as general. Do you work with company or freelance
  • 0
    I meant Data structures.
    Sorry I actually wanted to mention algorithms
  • 0
  • 0
    @jalebiBhai do I work for apple? No. Do I use apple? Yes at work I have I have a macbookpro, and at home I used to use archlinux and just switched back to debian. I'm an android user by now, but have used iphone when I did mobile development at 6 or 7 years ago
  • 0
    @jalebiBhai I work for a company, but I'll try to make a living with my own company in a few years. But probably no freelancing, but with my own product/service.
  • 0
    Where are you from ?
  • 0
    @jalebiBhai I'm from germany and am now living in munich and moved here because of the job oppertunities.

    Enough with the personal questions do you have any technical questions?
  • 0
    How about Algorithms I JS. I k ke you can do basic implementation but they are not that powerful
  • 1
    @jalebiBhai is that a question? If so: I never studied computer science and can't tell you much about it.
  • 0
    @plusgut though i am not Job and money oriented but still asking does JS developer earn or valued less compared to engineers who know CS
  • 0
    Not a complete course, but I find the funfunfunction channel on YouTube quite enjoyable.

    https://youtube.com/channel/...

    He explains a lot of complex concepts in a pretty clear way, explores the functional sides of ES6, and I like his humor.
  • 2
    @jalebiBhai I think implementing DSA in JS won't be difficult. You can see D3.js it's an implementation of graphs and visualisation in js.
    The purpose core DSA libs not in js is because mostly DSA are used in logics which should be handled in server side and hence prevent front end js developers to work into it.
    Regarding nodejs which is a backend server in js, I am not sure if DSA dedicated npm are available.
    But, I am pretty sure implementing DSA won't be difficult.
  • 0
    Yeah basic implementation is very easy. But they are not as powerful in JS compared to other languahes
  • 0
    @jalebiBhai intersting question to a complex situation. Most people with a cs degree have starting problems to get a job. But they earn more at the starting point. JS developers earn a wide range of money. There are lots of developers who just know how to copy jquery from stackoverflow. These are sadly the most of the js developers, they usually work in agencies and earn far less then someone with a cs, who does something decent.
    Highly experienced js developers of earn more then your average cs guy.
    But that's just the earning side, Js developers are mostly looked down at the programming community. I see that at my local hackerspace.
  • 0
    @plusgut Javascript itself is not as hard as you describe it. It is indeed very simple in structure.

    Implementing larger projects with it is another story. The frameworks play a decisive role here. NodeJs (as an example) uses Javascript, sure, but this goes far beyond the usual use of Javascript as a language.
  • 0
    @tracktraps I'm not sure about hard, but it's definetly not simple.
  • 0
    I personally think https://www.codecademy.com is one of the best places to start learning programming languages. It has a really awesome UI and workflow
  • 0
    I started with MDN guide for syntax and basics. Then for DOM manipulation I referred to Eloquent JS.
  • 0
    The algorithm exercises on freecodecamp are good practice. Codewars too :)
  • 2
    I'd go for Mozilla Developer Network (MDN) first to grab the founding stones.

    Then I'd head to the Mostly Adequate Guide To Functional Programming as to understand... stuff.

    CycleJS is a clean framework that should expose you to FRP. You should compare it to React/Redux and be able to tell the differences.

    If you need to learn about graphics and that sort of stuff I'd take a look once again at MDN and then read about ThreeJS or something like that.

    PureScript and ClojureScript are two things you might want to look at, depending on how much exposure to FP you get.
Add Comment