You are on page 1of 43

8/18/2017 How to learn JavaScript | Derek Sivers

DerekSivers
Articles:

HowtolearnJavaScript
2016-02-14

Since Ive mentioned that I recently learned JavaScript, people have asked
me how and what I recommend. So heres my experience and best advice for
2016.

LearnplainJavaScript

First, its important to learnplainJavaScript.

Dont depend on jQuery, CoffeeScript, or any other library of shortcuts.


JavaScript will be around for many years, while libraries and frameworks
come and go every year.

Howtobegin

Dont just learn from little bits of tutorials, tips, or tricks online. Instead, you
want a real foundation and solid understanding. Then all your future
learning will be so much faster.

Startwiththebook:HeadFirstHTML5Programming.

Its a great introduction with a fun teaching style, which is important to get
you familiar with something so new. Just read through it quickly in a couple
days, before your deeper learning begins. (You must get the paper book or
PDF, because the detailed pictures are necessary.)

DoFreeCodeCamp.

Someone who had 600 JavaScript learners said Free Code Camp had the
best results. Do it at the same time as youre reading the books. Learning
https://sivers.org/learn-js 1/43
8/18/2017 How to learn JavaScript | Derek Sivers

sticks better when coming through different senses.

Nowgetdeep

Simultaneouslybeginthehugebutawesomebook:Professional
JavaScriptforWebDevelopers,3rdEditionbyNicholasZakas.

Its the ultimate tutorial. It takes the time to explain everything thoroughly,
and covers everything. Bythetimeyouredonewiththisonebook,
youllknowasmuchasmostpeoplewhocallthemselves
JavaScriptprogrammers.

Makeitstick

I highly recommend you writedowneverynewthingyoulearn, ideally


into a flashcard program, like this. Its a lot to digest, so youll have to remind
yourself of what youve learned, or youll immediately forget.

Reinforceit

Afterwards, if you want to solidify what youve learned, quickly read through
a few more books like these:

JavaScript: The Good Parts - by Douglas Crockford

JavaScript Cookbook - by Shelley Powers

Effective JavaScript - by David Herman

Functional JavaScript - by Michael Fogus

Thesebookswillgofaster, now that youre fluent. Play around with the


examples. There will be no huge surprises. Youre just enhancing what you
know.

Avoidtheshortcuts
https://sivers.org/learn-js 2/43
8/18/2017 How to learn JavaScript | Derek Sivers

Avoidtheshortcuts

When solving a problem, everyone will point you to some pre-made solution.
Use jQuery! Use Backbone! Use this library and save yourself some typing!

Butno!Notyet!Doitthehardway.Solveeverythingyourselfwith
plainJavaScript.Its the best way to learn.

Whatnext?

If you had a web app in mind, start building it now. (OK, you can use
shortcuts.)

If you had an iPhone or Android app in mind, learn React Native.

If you want a good-paying job, you can get hired almost anywhere. Since you
know the real JavaScript foundations more than most people, youre very
valuable. You can quickly learn whatever framework theyre using.

Anyothersuggestions?Whatworkedforyou?

Please share any other suggestions or experiences, here:


2016 Derek Sivers. ( previous || next )

Yourthoughts?Pleaseleaveareply:
Your Name

Your Email (private for my eyes only)

Comment

https://sivers.org/learn-js 3/43
8/18/2017 How to learn JavaScript | Derek Sivers

submit comment
Comments
1. am (2013-03-25) #

Hi Derek,
Thank you for sharing your path :) "JavaScript: The Good Parts" is really good, but I
agree with you as it may not be a good start. There is one more recommendation I
would like to add:
- http://bonsaiden.github.com/JavaScript-Garden/

Maybe this should be read after the "good parts"...


;)

2. kahfei (2013-03-25) #

Great advice, and great recommendation of learning resources as well.

While I am trying to pick up ember.js now needing to work on something, but should get
to the mother of all these libraries, frameworks right after this.

3. Fred (2013-03-25) #

I also started with Javascript: The Good Parts, and felt it gave great pointers for people
who already were comfortable with basic JS concepts. I wouldn't recommend it to
anyone learning JS from the ground up!

+1 on Eloquent Javascript.. great book to start with!

I'm currently reading Effective Javascript by David Herman. It's another great book for
for those comfortable with JS and want/need reminders on good practices.

4. Chelfyn Baxter (2013-03-25) #

Have you tried http://www.codecademy.com ? Interactive lessons and really well-


thought out course. I started it a while back, and was progressing nicely, but a deluge of
work put this on the backburner. It was very good though, worth a look.

https://sivers.org/learn-js 4/43
8/18/2017 How to learn JavaScript | Derek Sivers

Yep. They're great. I just like books.

-- Derek

5. Jenn Ashton (2013-03-25) #

For me I also needed the feedback of instructors and the team work of classmates, so I
went through CS at Harvard on Edx - it was an intense 6 months, complete with exams
and projects, but having begun with zero experience, I can say I now have good
understanding of everything from C all the way up to JS and JQ (plus html, http, php,
etc etc etc). I am looking forward to reading the books you mention above though -
more, more, gimme more!! haha

6. Benny (2013-03-25) #

Awesome post -- mainly because this is the exact thinking I had when approaching the
language.

I took a route to learning JavaScript very similar to yours, and although I write jQuery
and am in a Backbone application almost daily, I still prefer plain, unadulterated, pure
and beautiful JavaScript with my side projects. I love it like I admire C.

One thing I'd add (if I may) which I nd extremely important in learning JavaScript for
most practical uses is to familiarize oneself with the W3C DOM API, and also to be able
to distinguish between CSS2 vs CSS3 implementations (at least for WebKit initially);
and on the JavaScript side, be able to distinguish between ECMAScript 4 vs
ECMAScript 5 implementations. Doing this will equip most front-end developers with the
knowledge of what's viable in most mobile and/or modern browsers, and how to handle
legacy browser JavaScript.

I come from a strong visual design background, so I came into learning JavaScript with
a pretty good grasp of CSS already, and a very front-end focused mindset, but I was
happy to read of your experiences; it certainly reminded me of mine!

I've been at JavaScript a bit longer, but don't have nearly the programming experience
that you do. I'm interested to know what your favorite programming language is?

As always, awesome post. Love reading your insights!


Very cool. Thanks for the tips, Benny. -- Derek

https://sivers.org/learn-js 5/43
8/18/2017 How to learn JavaScript | Derek Sivers

7. Alistair MacLeod (2013-03-25) #

I think it is important to have a pet project which you can use to try out new things you
learn. Rather than making notes on what you read, try using it. If you can't remember
something, you probably will after trying to use it and looking up what you didn't know.

I started writing Conway's Game of Life many years ago to learn javascript. More
recently I updated it to use new features of HTML5. It's a good project to have to try new
things with.

http://mm0hai.net/life/life.html

The code is on github, if anyone is interested


https://github.com/anm/HTML5-Game-of-Life

8. Alan Mulhall (2013-03-25) #

100% agree with your path to learning Javascript. Professional JavaScript for Web
Developers is by far the best book on Javascript i've read. I would also recommend
reading JavaScript Patterns by Stoyan Stefanov after the Pro book and for jQuery -
jQuery Fundamentals is a great website for a deep dive into jQuery.

9. Daniel Walton (2013-03-25) #

Eloquent Javascript, a complete online book. Thanks for the link! I'll share this with
others looking to learn JavaScript.

JavaScript is becoming more important every year. Web apps are displacing desktop
apps and I think in the next few years we'll start to see a signicant shift from native
mobile apps to JavaScript mobile apps.

Now the hot new thing is to do JavaScript on the server side as well and I can share
from experience, it's nice.

For those of you out there who don't know JavaScript, there has never been a better
time to learn. JavaScript's future is bright.

10. Nathan (2013-03-25) #

https://sivers.org/learn-js 6/43
8/18/2017 How to learn JavaScript | Derek Sivers

I love that you ended with 'put down the books and go use it'. As a seasoned software
engineer and a learn-by-doing kind of person I think the real magic begins once you're
applying the theory to something practical like a personal project (or, 'scratching your
itch' as 37signals puts it).

11. Alex (2013-03-25) #

I can't believe you didn't suggest that we *build* things. I've started to pick up JS just by
working on my website, http://tunejet.net. I think the best way to learn a language is to
make things with it. Reading code might be good if you've never seen code before, but
after you get the style down and understand basic concepts, you should just get your
ngers dirty. Dive in; write code; x it; make it better.

12. Ibrahim (2013-03-25) #

I learned javascript using two methods

1. New Perspectives on JavaScript and AJAX, Comprehensive, 2nd Edition by Patrick


Carrey. This is a book i used in school and most of the students hated it. But for me it
made complete sense. I like it so much that i completed all the homework in a month
and started tutoring those who needed help for $20 an hour per head.

2. Spending a lot of time on it. Like any other programming language, the more you use
it, the more you will have questions, the more you will learn. google is your friend, and
jQuery is your best friend.

I hope this helps someone.

13. june (2013-03-25) #

for me http://www.codecademy.com/ is a pleasure learning experiment

14. brad (2013-03-25) #

i believe we are leaving one era of js development and entering another. with the advent
of coffeescript asm.js, typescript, and dart, it would appear that a compilation phase (so
to speak) will soon be not only acceptable, but as optimizations kick in, irrefutable. it
may be that these efforts will render es6 itself a footnote...given stable methods for
compilation, the language that code is written in will merely become a matter of fashion.

https://sivers.org/learn-js 7/43
8/18/2017 How to learn JavaScript | Derek Sivers

by this i mean to say that as of now (or very soon), it will be acceptable for someone to
learn typescript or dart rst and maybe never even bother with js itself (within reason
and applicability). the primary reason someone would want to do this, is, imho, the
terrible disaster of libraries for js. SDKs are better with a little dictatorial oversight from
the top...an organic organization of weirdly-named libraries overlapping both idioms and
functionality hasn't produced better outcomes for js coders.
Good point, Brad. For right now, for 2013, I think it's best to study the one thing that Coffeescript,
Typescript, and the rest have in common. (Plain old JavaScript itself.) Also see Sean Smith's comment
#35, below... -- Derek

15. Fikri Rasyid (2013-03-25) #

I have planned to re-learn Javascript myself (so far i'm quite familiar with jQuery but not
that familiar with the javascript itself) after i nished my nal paper at university. Now my
paper have been submitted and approved, then boom! this kind of "how i learned it"
post from someone whom i respected is published. It feels like halfway dream (which is
the guide to achieve the goal) comes true :))

Thanks for sharing this Derek. It is really helpful :)

16. Scott Weisman (2013-03-25) #

I've stopped and started leaning JS a bunch if times and had many of the same
experiences. I agree that Javascript: The Good Parts is not a good place for beginners
to start.

Jquery Fundamentals is a great place to start for jQuery http://jqfundamentals.com/

17. Alexander Bach Borius (2013-03-25) #

Great article, Derek! I'm going to send it to my girlfriend :)

I would suggest lodash.js as a replacement for underscore.js - it has some much


needed features like deep cloning for instance

I would also suggest AngularJS - it's a really cool framework for rapidly building CRUD
web apps using mostly declarative syntax and it does all kinds of traditional model-view
updating automatically for you

Bunch of Angular tutorials: http://egghead.io/


https://sivers.org/learn-js 8/43
8/18/2017 How to learn JavaScript | Derek Sivers

18. Anthon (2013-03-25) #

Derek, that's great, thank you!

It'd be also nice to know, whether you have tried and collected something thorough like
this about up to date html/css layout and markup.
For that, I recommend Head First HTML and CSS, 2nd Edition and Head First HTML5 Programming.
Those Head First books are great. -- Derek

19. mikk (2013-03-25) #

Hi, what MVC Javascript framework is worth to learn?


Start with Backbone, since it's the simplest and most popular. Then after experience with that, consider
Ember.js or Angular.js -- Derek

20. John Adrian (2013-03-25) #

Nice. I learn Javascript like the way you learned it. After "Javascript, The good parts" by
Douglas Crockford, I read "Javascript Patterns" by Stoyan Stefanov it solidies what
youve learned on Javascript The Good Parts. After that, I try to learn Backbone.js and
you can see javascript patterns there. :)

21. Thomas Schranz (2013-03-25) #

I also found Eloquent JavaScript to be an incredible book to learn JavaScript but


programming (+ different concepts) in general. I love how it also covers functional
programming.

That said I would really recommend looking into Dart (http://www.dartlang.org/) which is
a new language that you can use everywhere JavaScript works (it compiles to
JavaScript) and is really easy to reason about.

Also if you've ever been bitten by 'x is undened' in JavaScript because the language is
perfectly happy with working with 'undened' for a long time instead of throwing an
exception it might save you a lot of pain and suffering :)

Enjoy your journey :)

22. Tarlach (2013-03-25) #


https://sivers.org/learn-js 9/43
8/18/2017 How to learn JavaScript | Derek Sivers

Thank you Derek, I was just looking for the best way into learning Java Script. You have
really helped me out here. Good on you.

23. Uis Ozols (2013-03-25) #

I'm currently slowly progressing through http://javascriptissexy.com/how-to-learn-


javascript-properly/ and am really happy with it. I like that it provides concrete steps on
what to read/do so I can focus on relevant stuff instead of reading gazillion blog posts
vaguely covering random JS topics.

I also recently purchased Effective JavaScript book (it gets recommend very often) but I
probably won't dive into until I nish reading Professional JavaScript for Web
Developers.

24. Daler (2013-03-25) #

Hi Derek, and thanks for a very helpful advice!


What's your take on http://meteor.com vs. backbone.js
and http://lodash.com/ vs. jQuery ?

Also this might be useful:


http://bonsaiden.github.com/JavaScript-Garden/
Meteor looks fun, and is unlike anything else - not a replacement. LoDash is more of a replacement for
Underscore.js, but learn Underscore rst from the link above, because the source is so well annotated,
then switch to LoDash if Underscore is giving you problems. Then just learn jQuery, no matter what,
because so many projects require it.

-- Derek

25. C. (2013-03-25) #

Damnit ... That piece of meta-advice is so precious. Thank you so much for sharing.
Please put some kind of Ad on your website so that we can click & thank you.
Cheers.

26. samuel (2013-03-25) #

Hi Derek,

https://sivers.org/learn-js 10/43
8/18/2017 How to learn JavaScript | Derek Sivers

Thanks for sharing this! Did you ever consider "JavaScript - The Denitive Guide" as a
means to learning Javascript?
Also heard great things about it, yes. But the other books seemed to have me covered. -- Derek

27. Felton (2013-03-25) #

Javascript is a worthless thing to spend your time on.

28. Rodrigo Alves Vieira (2013-03-25) #

Nice. Your guide seems fairly reasonable but I'd also add the JavaScript Garden [1] to
the list, which I've been using for a couple years. Also, the JavaScript: the Denitive
Guide book by David Flanagan [2] for more specic information about the language's
features and also the WTFJS website [3], so you can avoid more common JS pitfalls
while laughing at the same time.

[1]: http://bonsaiden.github.com/JavaScript-Garden/
[2]: http://www.amazon.com/JavaScript-Denitive-Guide-Activate-
Guides/dp/0596805527/ref=sr_1_1?ie=UTF8&qid=1364209106&sr=8-
1&keywords=javascript+denitive+guide
[3]: http://wtfjs.com/

29. Mike Cane (2013-03-25) #

Thank you for this! I have an interest in learning and have been wanting someone to
produce a guide like this one.

30. Paul (2013-03-25) #

Thanks for the guide. I have tried reading Javascript The Good Parts and for sure it is
not a nice read for a beginner.

31. Hoang Doan (2013-03-25) #

Thanks for your advices! :)

32. Patty (2013-03-25) #

https://sivers.org/learn-js 11/43
8/18/2017 How to learn JavaScript | Derek Sivers

I am not a programmer but "technical" enough. My 11 year old son wants to learn
programming and has become extremely discouraged. I told him I would learn Java with
him, spending 45 minutes per day. Given that backdrop and what you just leaned, would
you think I am about to just frustrate him more? Is it possible to learn if you are diligent -
even with no code background?

33. htt (2013-03-25) #

Hello!I want to know how long does it take to learn Professional JavaScript for Web
Developers, 3rd Edition - by Nicholas Zakas?
It's a very big book. Almost 1000 pages. I spent a few hours a day on it, and it took three weeks. --
Derek

34. Sean Smith (2013-03-25) #

@Derek: Great article. I've read most of those resources you listed before and agree
100%. 'JS: The Good Parts' is not the rst JS book people should turn to but it is a
fantastic resource once you more than a 'newbie' level of JS knowledge.

@Brad, Comment #16:

I think you should be careful jumping to the conclusion that Dart, typescript or some
other language is going to replace Javascript. Don't forget that one of the main 'wins' for
Dart is that you can run it today and compile it to Javascript.

You can't seriously be suggesting that someone program in a language they don't
know?

In the end, you have it slightly backwards IMO. We are moving to an era where JS will
not be the end of what you need to know for client-side scripting. You'll be able to learn
JS, and then use that knowledge to transition to using Coffeescript, Dart, Typescript, or
whatever other JS-ish language you like.

The cross-browser compatibility story for these up-and-coming languages is largely


based around compiling to JS. In other words, if you want cross-platform browser
support for Dart, you're going to be compiling to JS for the foreseeable future.

Perhaps in a few years we'll get to a point where client-side scripting is language
agnostic, personally this is where I'd like to see the browsers go but I think we are
further away from that than you think.
https://sivers.org/learn-js 12/43
8/18/2017 How to learn JavaScript | Derek Sivers

Have a good one.


Well-put. Thanks Sean. -- Derek

35. Ico Dimchev (2013-03-25) #

Hi;

I came from Flash background ( ve years AS2/AS3 programming ) and the best
resource to learn JS was https://developer.mozilla.org/en-
US/docs/JavaScript/Reference . It should be great for other ash developers to get the
little tricks that makes JS different

36. Ryan Deussing (2013-03-25) #

I've been using Anki for a couple months, and just gured out how to use code snippets
with syntax-highlighing via this extension:

https://ankiweb.net/shared/info/491274358

In a nutshell, pressing the button this extension adds to Anki either pastes the contents
of your clipboard as syntax-highlighted code, or applies syntax-highlighting to the text
you have selected.

This makes code much, much easier to parse, especially when using Anki on a mobile
device.

37. Brian (2013-03-25) #

Larry Ullman may be the best technical author out there. His writing has really helped
me.

http://www.larryullman.com/books/modern-javascript-develop-and-design/

Also,as others have mentioned, the codecademy courses are a good way to learn
basics or practice. For me, I really like physical books, but like to have a digital copy too
for reference on the road and for quick searching!

http://www.codecademy.com/learn/

https://sivers.org/learn-js 13/43
8/18/2017 How to learn JavaScript | Derek Sivers

38. Heather (2013-03-25) #

Thanks for this! I'm struggling to learn JavaScript right now and I'm hoping this will help.

39. James White (2013-03-25) #

Great timing with this post - I've been tinkering with JS for a few weeks and just started
getting more serious. One thing I found very helpful: search on Meetup.com and look to
see if there are any study groups or code-learning meetups happening near you.
Learning is always easier in groups.

40. Tony (2013-03-25) #

wow, these are such great resources. I'm a print graphic designer trying to transition to
the web and have hit a road block with javascript but I think I'll do much better now
thanks to your advice!

41. David (2013-03-26) #

I'd like to throw in Addy Osmani's Learning JavaScript Design Patterns

http://addyosmani.com/resources/essentialjsdesignpatterns/book/

I can write JavaScript well. Organizing it and making it modular is something with which
I continually struggle.

42. Johan (2013-03-26) #

Agree with resources and approach. If add Object Oriented JavaScript by Stoyan
Stefanov as my favorite JS book.

I would encourage everyone to consider an MVC/MVVC framework for any noon-trivial


app.

My favorite is AngularJS - you can write great spots with very little JavaScript and
JQuery.

There are others including Backbone, Knockout, Ember etc. But I'm condent most
people will amazed by what you can do with very little code using AngularJS.

https://sivers.org/learn-js 14/43
8/18/2017 How to learn JavaScript | Derek Sivers

43. James A. (2013-03-26) #

Great post and I went and bought Professional JavaScript. I've recently nished learning
with your recommendations, so I'm guessing that book will also be awesome.

A friend which is an experienced JavaScript developer recommended me another book


Effective JavaScript: 68 Specic Ways to Harness the Power of JavaScript
Effective JavaScript is a great book to get *after* you've been programming in JavaScript for many
months or years. It's not as much a tutorial as a list of tips for experienced JavaScript programmers. --
Derek

44. Gaurav C (2013-03-27) #

I always start out to learn languages with something I want to build. This could be a
music review app or a tell your friends what music you like app, and so on. Something
that keeps me motivated. Everything else about the language learning will fall into
place. As for understanding top level architectures, if you have built and shipped our
rst few apps, you kind of start getting the picture!

45. Race Knower (2013-03-27) #

Free advice and guidance on how to learn JavaScript? Yipee!!What a Good Samaritan
you are to share your time and take the trouble to guide the not so knowledgeable on a
condent path to access the knowledge they are after rather than take chances with the
bewildering array of books on the subject that one would have to otherwise take a
chance with and wind up achieving little or nothing in return. So thank you, you are
KIND SOUL INDEED:-)

46. eric (2013-03-27) #

Hi Derek,
Thank you for sharing this with us!
Quick question, have you read "Object Oriented Javascript" by Stoyan Stefanov. What
do you think about it? I'm js beginner and I found it interesting as there're so many
exercises.
Keep it up!
Haven't tried that one yet, no. I also hear great things about it. -- Derek

47. tom (2013-03-31) #


https://sivers.org/learn-js 15/43
8/18/2017 How to learn JavaScript | Derek Sivers

I agree with Alexander Bach Borius that Lo-Dash as an upgrade from underscore.js.
The source code is very well commented, & could be a good advanced JS learning tool:
https://github.com/bestiejs/lodash/blob/master/dist/lodash.js

48. John Whet (2013-03-31) #

Do you have a similar reading list for Ruby?


FIRST: Well-Grounded Rubyist by David Black or maybe Learn to Program by Chris Pine THEN:
Eloquent Ruby by Russ Olsen. -- Derek

49. Matt (2013-04-01) #

Appreciate the recommendations Derek! Thanks!

50. Kendall Giles (2013-04-03) #

Hi Derek,

Ever since you posted this, this article has been stuck in my head. I just realized why.

I'm trying to do what you did, but in reverse.

I've got a background in engineering and computer science, but am trying to understand
music. Not quick tricks, not tablature, not "Play 'Stairway to Heaven' in Three Easy
Chords". I want to play an instrument, and I want to be able to express myself on that
instrument.

As a writer, I write what I want to write, so I don't just want to memorize a song and say
I'm a musician.

Learning what I want to learn has been difcult, since most resources I nd are of the
"here, play these three chords" variety.

But you did it, so I have some hope of doing something similar, just in reverse.

At least, that's my goal.

So, thanks!

https://sivers.org/learn-js 16/43
8/18/2017 How to learn JavaScript | Derek Sivers

51. Chenchen (2013-04-11) #

I just translated this article into Chinese. I wish I can help more pre-programmers learn
JavaScript from you and your experience.
http://www.ccforward.net/2013/04/learning_javascript_my_experience_and_advice.html
Awesome! Thank you! -- Derek

52. Ryan McKallister (2013-04-16) #

Do you have any thoughts on server side javascript? I've heard good things but only
from people who are .js nerds ;)
Yeah. It's awesome. Learn Node.js and Meteor. Very worth the effort. -- Derek

53. Ashley Hoober (2013-04-27) #

I've always wanted to learn but have been wanting to know from someone the easiest
way to learn it. Thanks a lot, I'm picking up the books tomorrow.

Ash

54. Shane Stanford (2013-05-25) #

I have found JavaScript difcult also, I am determined to grasp it!!

55. Kurosato (2013-06-19) #

Thanks! Just a plain good 'ol Thanks! I bought The good parts too, mostly because it's
appraised everywhere. I'm currently using Codecademy.com and codeschool.com (full
membership) which helps me learning the tricks as well. I like the seeing+doing
approach :-) I bought the book by Nicholas Zakas on my ereader and I can't wait to read
it, cheers!

56. Wang Yuan (2013-06-25) #

thank you very much for information provided!! I have tried to learn js for sometime, and
got distracted by other programming languages like common-lisp, vbscript.. I want to get
back to what I started, and I can see you pointed out a brilliant path. Thank you!

57. Sam Holguin (2013-06-28) #


https://sivers.org/learn-js 17/43
8/18/2017 How to learn JavaScript | Derek Sivers

Hi Derek. Thank you for your insight, I'm just starting out with coding and took the JS
plunge yesterday!! It's good to hear there is hope as it looks like a mineeld to begin
with!!! Thanks again.

58. andy (2013-07-20) #

Derek, I just read Anything You Want today. REALLY GREAT BOOK! I used your ruby
Anki deck, it was awesome. I've been working through the javascript deck too. I really
appreciate your work. Thanks for sharing. I've had this idea for years to build a service
to help farmers sell their food to restaurants. Do you think that idea could work?
Thanks,
-Andy

59. Rod Castello (2013-07-29) #

Hi Derek,
Thanks for this information. I've decided that this is the time to really learn it. This info is
very helpful.
Rod

60. Rehan (2013-08-17) #

You write really well. Awesome writer! Thanks for the post.

61. Jiaming (2013-08-27) #

Thanks a lot.I am a uni student working on the web development paper.This article
helps me a lot.I found the article on a Chinese website.And then i found that you live in
New Zealand now.Cool. I am studying in New Zealand too.I am kind of excited.I have to
leave a comment right here.lol.

62. Sachin Palewar (2013-09-09) #

Thanks a lot for writing this post. Real time-saver and immensely useful. Just starting
my JS Journey. Ya! Too late I know, but I plan to make up for all the lost years soon.
Lets see.

63. jcomey (2013-11-02) #

hi boy ,very cool~!


https://sivers.org/learn-js 18/43
8/18/2017 How to learn JavaScript | Derek Sivers

64. Ravi (2013-11-12) #

Thanks for your awesome post on Javascript Derek. It was succinct and highly
informative. I hope to use your plan to gain admittance into a code camp and and
change careers. Wishing you the best in your future endeavors.

Best,

Ravi Balsa RN

65. Christine (2013-11-13) #

ThinkBIG also has a wonderful 2 day JavaScript training course which you can take in
person or online live. It will give you the full understanding in a short amount of time!
http://thinkbiglearnsmart.com/javascript-programming-training-classes/

66. Mokelu Ikechuwku (2013-12-14) #

GOD, you're the only person whom just has his head straight on the web!. thanks!

67. Zac Crawford (2013-12-15) #

Thanks for saving me a lot of wasted time and money. Your article along with many
insightful comments has helped point me in the right direction. Thanks so much again!

68. Jaime Inofuentes (2013-12-23) #

Thank you very much for your write up. It is very helpful. I have a question. I was
looking to nd the best way to learn javascript for my grandson who is 12 years old. He
is very interested on learning javascript. Would you say that Eloquent JavaScript - by
Marijn Haverbeke is a book appropriate for his age?. Maybe you have other
suggestions for his age? Thanks.

69. Steve (2014-01-19) #

Many thanks, lots of people put up recommended lists without a understandable reason
for their choices. I am a 54 year old ex (returning) professional photographer who used
to dabble with building websites. I have now decided to concentrate on really learning to
become a fully functioning Web Developer as a career, and your explanations of your
learning aims and reasons for your choices have reassured me that your advice can be
https://sivers.org/learn-js 19/43
8/18/2017 How to learn JavaScript | Derek Sivers

trusted and followed.


I will be starting with "Eloquent Javascript" and then "Professional Javascript for Web
Developers", also signing up to Lynda.com as I nd Video tutorials very helpful as well.
Once again, Many Thanks.

70. Dave Woodall (2014-01-23) #

Hey Derek,

Man, we INTJ's think so alike! haha. I just did this same process over the past 4
months, so it's fun to see this post now.

I had the same experience with 'Good parts' and codeacademy.com as they were to
short to start without the context.

The two beginner books recommended were Professional JS, and Denitive Guide to
JS. I opted for Denitive guide and read that twice.

I laugh with my wife that these really thick books are the easy ones and the small ones
like 'Good parts' or Metz "POODR" are the real challenges.

The best JQuery book I found was PACKT's Learning JQuery. I just started Coffeescript
this week b/c of work and reading PragProg's CoffeeScript book. It's fantastic.

2012 & 2013 were Ruby & Rails Focus. 2014 is mastering the world of JS - the
language itself, JQuery, testing with Jasmine, Coffee, Angular, and some Node if I'm
lucky :-)

How's New Zealand treating you?

71. Parvez Ansari (2014-03-13) #

Hi Derek,

First of all thanks for this lovely peace of guidance.

I am keen to learn javascript and I think one should stick to a couple of books rather
than confusing them selves.

I feel Eloquent Javascript and Professional javascript for developers are the best books

https://sivers.org/learn-js 20/43
8/18/2017 How to learn JavaScript | Derek Sivers

around to begin javascript.

What would really help if you can list down few exercises/projects categorized as
Beginner (5)/Intermediate (5) /Advance (2) that will force the learner to use each and
every concept of javascript.

This will help us develop condence and a showcase to demonstrate our ability to apply
somewhere as javascript developers.

Thanks Again,
Parvez

This will help us

72. Sergio Tllez (2014-03-15) #

I really recomend "JavaScript: the denitive guide", that book have everything. From the
easier one to harder.

73. Jad (2014-05-22) #

Thanks a lot! I was searching for that as mostly all JavaScript tutorials, courses or
anything like that just doesn't help. I don't know how to thank you. You really did help.
Thanks! Thanks! Thanks! Thanks! Thanks!

74. Colin (2014-06-11) #

Thanks for sharing! I will try to follow your path and see if it works. I would also
recommend https://www.syncfusion.com/resources/techportal/ebooks/javascript for
starters.

75. Timur Rajabov (2014-08-12) #

Really good advices?I'm inspired by your article!

76. Tim Cole (2014-08-22) #

Hi Derek, that's a great bunch of tips. I've just got the new Jon Duckett book "Javascript
& jQuery" - I really like how it's set out - it's very beginner friendly.
https://sivers.org/learn-js 21/43
8/18/2017 How to learn JavaScript | Derek Sivers

I've been doing the javascript courses on Treehouse, but I'm nding it moves a bit too
quickly. I got lost at Functions and Objects. I've had to look to alternatives like Code
Academy and Lynda.com. Will look into what you've done as I'm very determined to get
this under my belt.

77. George Batalinski (2014-10-06) #

Derek,

Thank you for being awesome and pushing us to learn more. Ofcourse thank you for
introducing me to Anki. Can you share your Anki Deck for Eloquent JavaScript?
Reason: I wanted to compare it against mine - to see where I can improve.

Here is my deck(work in progress - @ CH5)


https://ankiweb.net/shared/info/1183428912

Thank you
See the bottom of http://sivers.org/srs - though I'm completely against the idea of using others' decks.
Decks are not the teaching tool - they are just a reminder of what you've already learned. -- Derek

78. Aswathy (2014-11-04) #

Thank you Derek , you just show a right track for budding JavaScript writers.

79. Anatoliy (2014-12-18) #

That seem a good way to learn the JavaScript, I am totally inclined to go through your
path!
Thanks a lot for this piece of advice!

80. Zion Moulder (2014-12-22) #

I've been trying to learn JavaScript for YEARS. (Or at least A year; I overestimate time
easily.) I'll take your recommendation. I've been learning HTML and CSS since i was 12
and really didn't understand both enough to build a webpage until late 13-14. I'm 16
now. Thanks for the advice; I'll take it under consideration!

https://sivers.org/learn-js 22/43
8/18/2017 How to learn JavaScript | Derek Sivers

-Zion
from Indiana

81. Josiah Mann (2014-12-25) #

Hi Derek,

This was a brilliant nd for me. I've run into the same problem with multiple tutorials
including Eloquent Javascript. I get it to a point, but after chapter three in Eloquent
Javascript (and at a similar point in other tutorials) I lose it. On your recommendation I'm
starting on Professional Javascript for Web Developers now.

82. Mayank (2014-12-26) #

Great advice . Thanks Darek

83. Drake Myers (2015-01-12) #

When you say "read the rst couple of chapters" of eloquent Javascript before jumping
over to Professional JavaScript, how far exactly do you think we should go? The rst 6
chapters? Maybe only the rst 3?

Thanks!
-Drake

84. myles (2015-02-01) #

Thanks. Hope you have a good day.

85. Abhijot (2015-02-03) #

hi , derek
Thaks a lot for sharing these resources .

86. Franco (2015-03-02) #

Kind of wondering: I have been reading David Flanagan's Javascript - the denitive
guide. It is indeed comprehensive, but also not terribly user-friendly. The example for
the most part are quite abstract, and the book is full of forward references, something a
good writer usually avoids. So even though the language may not be all that difcult, the
https://sivers.org/learn-js 23/43
8/18/2017 How to learn JavaScript | Derek Sivers

book makes it feel as if it really is.

So how does Flanagan's book compare with Professional JavaScript for Web
Developers, 3rd Edition - by Nicholas Zakas?

-Franco
Sorry: the only way to know is for you to read Zakas' book, too. -- Derek

87. Gorka Molero (2015-03-03) #

Thank you! I had started already with Eloquent JS but wondered where to go next.
Going to follow your advice!

88. Pete (2015-03-04) #

I like "JavaScript for Kids" (2014). It could be subtitled "JavaScript for adults who want a
clear explanation of functions, constructors, this keyword, canvas, etc." Written by Nick
Morgan, a front-end engineer at Twitter. http://www.nostarch.com/javascriptforkids

Interesting! Thanks for the recommendation. -- Derek

89. vioan (2015-04-01) #

Thanks for sharing. You mentioned that after a few chapters you moved to the other
book. What do you mean by "after a few chapters"? Thanks
You can go all the way through, if you like it. But somewhrere around Chapter 7 of Eloquent
JavaScript, I found it more productive to switch to the other book. -- Derek

90. Oscar (2015-04-11) #

Y que material o libros en espaol recomiendas? Agradecera la ayuda. Saludos desde


Chile!

91. Saubhagya Neti (2015-06-15) #

Thank you Derek for this valuable advice. I've trying my hand on JS for a month and
never found a better advice. Your post brought me out of the sea.
Thank you again

https://sivers.org/learn-js 24/43
8/18/2017 How to learn JavaScript | Derek Sivers

92. Joseph (2015-08-21) #

Hi Derek,
What are your thoughts of JavaScript and JQuery: Interactive Front-End Web
Development by Jon Duckett, and if you had to choose one to read thoroughly, between
that and Professional JavaScript for Web Developers, which one would that be?

Looking forward to hear from you.

Thanks,
Joseph.
Choose to learn the fundamentals of plain JavaScript - not JQuery. Because there's a very good
chance you'll never need JQuery. -- Derek

93. Atty (2015-10-17) #

Thanks for this, as soon as I nish Wordpress I'm following this.

For practice you can sign up with Codewars

94. Joseph Graham (2015-11-16) #

Great article i have ever seen about Javascript

95. cody (2015-11-23) #

do you recommend any online courses?


No. Sorry I don't know any. I prefer books. -- Derek

96. Charles Villard (2015-12-16) #

Just stumbled across this article of yours looking for a deeper explanation of a JS
example in Eloquent JavaScript. I appreciate the recommendations, but given Moore's
Law and how much of the JS landscape has changed, I have to ask. How would you
update this list? I follow many JS developers on Twitter these days, and have yet to
hear about these books, whose respective links seem to lead to slightly dated materials.
Thanks!
The JavaScript basics are still the same. Yes new tools are built on top, but it helps to know the real
JavaScript, minus any toolkits. That part doesn't change so fast. The books from 5 years ago are still

https://sivers.org/learn-js 25/43
8/18/2017 How to learn JavaScript | Derek Sivers

completely relevant today. -- Derek

97. Maxim (2015-12-18) #

Im learning the basics now in HTML5 is it clever to start now Javascript (Im 15 years
old)
After you can make a website in HTML and CSS, then start with JavaScript. -- Derek

98. Anh Tran (2015-12-29) #

Hi Derek,

Thanks for your post and the killer content. I've incorporate your list with other
recommended resources in a post. You can check my post here:

http://www.deluxeblogtips.com/2015/12/118-free-resources-to-learn-javascript.html

99. Praveen (2016-01-03) #

Hi Derek,
I have started reading/learning/working on js from past 6months. But unable to write the
clean code. How do I write a clean code so the my app/site should run smooth?
Ask an expert JavaScript programmer to look at your code and give advice. -- Derek

100. HareRamHareKrishna (2016-01-10) #

Hi Derek,

Thank you for the great advice.

I have read 1/4th of "eloquent javascript" , and some of the stuff in it is pretty confusing
because it's poorly explained. I have gotten stuck multiple times and wasted hours
wondering what the author was trying to teach.

Is it wise to switch to professional javascript for web developers without completing the
entire "eloquent javascript" book? Thanks!
Yes, it denitely is. Give the other book a try. It may speak to you better. I've had that same experience
many times, where a book that seemed to work for others just didn't work for me, and vice versa. --
https://sivers.org/learn-js 26/43
8/18/2017 How to learn JavaScript | Derek Sivers

Derek

101. Ramana (2016-01-13) #

Hi Derek,

thanks for sharing your experience and I agree that JavaScript: The Good Parts - by
Douglas Crockford is really tough to understand for a beginner like me.

Any suggestions or book recommendations where can I nd simple javascript projects


for a beginner

Thanks
--
Ramana

102. MN (2016-01-25) #

Much appreciate your sharing. I am a motion graphic designer but due to demands from
work and for my own shake, I will have to equip myself with knowledge of Javascript. I
will follow your recommendation. Hopefully I can go far with this. Thank you

103. Brian (2016-01-27) #

Derek, it's always fun to search Google and be linked back to your drops of knowledge.
Thank you.

For a very light and fun way to get started with JS, there's also http://CodeCombat.com

for a free / comprehensive / community approach, there's http://freecodecamp.com

Cheers

104. arruu (2016-02-07) #

Eloquent JavaScript is really user friendly.


Im a total newbie to JavaScript, and when I reached chapter 4 and was told to program
a whole data structure with helper methods to insert and obtain elements with through
recursivity, I just couldnt help to shout out loud : THIS IS EASY!!
(sarcasm intended)
https://sivers.org/learn-js 27/43
8/18/2017 How to learn JavaScript | Derek Sivers

I agree. I plan on updating this article soon to recommend something better instead. -- Derek

105. Praveen (2016-02-13) #

Hi Derek,

I am learning js from past 7 months and able to understand its concepts. I need to know
how to apply its concepts(like objects, functions, regex, xml, json, dom) in real time
applications. If you can guide me then it would be great.
Break down your application into the smallest possible tasks, then solve each task as simply as
possible. There's a good chance you won't need many of these concepts. -- Derek

106. GetContented (2016-02-13) #

Hi! :)

We're in-process with building a JavaScript tutorial which uses the principles that we
used in our Haskell book... the ideas are that the learner needs a lot of practice with
reading real programs before they write them, and that rewriting, then adjusting then
nally creating their own is the best way to cement the ideas and understanding into
their experience.

Would love to know what you think:


https://leanpub.com/happylearnjavascripttutorialvol1

107. Devon (2016-02-14) #

Hey Derek. I just wanted to say a quick thank you for all you do. You're a wonderful
breath of fresh air, especially when I see so much garbage and misleading information
online. Thank you for all your articles, plus all future ones to come. ;)

108. Mehul (2016-02-14) #

I highly recommend Anthony Alicia's JS and node JS courses on Udemy. Best JS


teaching materials I've ever come across.

https://www.udemy.com/understand-javascript/

https://www.udemy.com/understand-nodejs/
https://sivers.org/learn-js 28/43
8/18/2017 How to learn JavaScript | Derek Sivers

109. Ben (2016-02-15) #

Derek
Interested in exposing my teenage girls to coding not to turn them into programmers -
let them have an insight into coding
It is becoming a trend
Worthwhile, any resources?
At school in IT they spend a lot of time on history IT etc, and little time on doing....
Do you think java will be automated in later years?
Trying to get teachers to teach them 'doing'in a fun way after school seems tohard for
teacher and school, any comments
Thanks
See my other article on this, here. Pay for a basic $5/month webhosting account so they can have their
own website to play around with. -- Derek

110. Jon (2016-02-15) #

Are you still recommending this book - Head First JavaScript Programming? I didn't see
you mentioned this book.
I don't know that one, though all their books are great. Head First HTML5 Programming includes a
useful intro to JavaScript, then use Professional JavaScript for Web Developers for the real deep
dive. -- Derek

111. Sophia (2016-02-21) #

Thank you for this advice, Derek.


There are so many resources to learn JS, it's difcult to nd out what is good and what
not in this noise.
I especially like the advice for using SRS, I wouldn't have thought to use it to learn to
program.
I used it to follow along an online course and it has helped me to retain the information
much better.

112. Bruce G (2016-02-23) #

Always enjoy your articles, Derek. thanks for continuing to send them.

113. Herm (2016-02-23) #

https://sivers.org/learn-js 29/43
8/18/2017 How to learn JavaScript | Derek Sivers

Hey Derek! Just a quick question for you. First all of, I really enjoy reading everything
you write and suggest. I really do feel as though you have been in my position and took
great pains to make sure you knew what the best advice would have been in your
situations

Question is, since I looked at your blog a couple months ago; I really emmersed myself
in Eloquent JavaScript, almost a quarter of the way done with it going through it
thoroughly. Is there any reason why you aren't recommending it anymore?
Almost everybody told me it got too abstract too quickly. I looked again at it, and the Head First
books, and felt that Head First keeps JavaScript in context of the web, and that's really more useful
and understandable. -- Derek

114. ramanjaneyulu (2016-02-23) #

RWE

115. Abiodun (2016-02-23) #

Thanks so much for this advice. Any Advice on Php ?


For any language, just nd a couple of the most recommended books, and do them start-to-nish,
doing all the exercises. -- Derek

116. Austin (2016-02-23) #

I've been asking some of my 'geeky' friends if they know coding in an effort to enhance
some of my Quartz Composer visual efforts and it seems like none of them do. I only
have a basic understanding of what Java is, let alone how to begin to learn it. The
timing on this is quite helpful. Thanks

117. Matt from NJ (2016-02-23) #

Hey Derek,

I know you already have a ton of thank you comments here, but I just wanted to add
another. Keep doing what you're doing. I'm so glad I came stumbled across that Tim
Ferriss interview with you. Your site is such an amazing resource of valuable
information.

https://sivers.org/learn-js 30/43
8/18/2017 How to learn JavaScript | Derek Sivers

Thanks again,
Matt

118. James (2016-02-28) #

Boom! I am going to try this, this week!

119. JB Moore (2016-03-04) #

Derek,

I learned HTML and some JavaScript, but it was many years ago, so thanks for the tips
on both.

Merci,

JB

120. lokendra (2016-03-05) #

test

121. Aaron (2016-03-07) #

Nice guide!

Two more recommendations:

Eloquent JavaScript: http://eloquentjavascript.net (covers JavaScript's various uses, in


an interesting interactive format)

You Don't Know JS: https://github.com/getify/You-Dont-Know-JS (covers JavaScript's


tricky details, not just the good parts)

122. d4rp (2016-03-08) #

too late to learn coding at 45?


Not at all. I'm 46, and just learning.

https://sivers.org/learn-js 31/43
8/18/2017 How to learn JavaScript | Derek Sivers

123. d4rp (2016-03-09) #

"Happy, Smart, and Useful" article is the door to another perception! {found it while
searching for JavaScript tutorials} :)

Cheers Derek!

124. AkDeepakSamanta (2016-03-16) #

Very ne learn your own knowledge , Thank you so much.

125. Steven (2016-03-21) #

This was the provocation I needed to get started. Great book recommendation, I would
have bought the epub but the actual book is delightful

126. Shadi Mirza (2016-03-21) #

Thanks for this guide. After hitting a wall on Free Code Camp, I decided to try this path.
I'm very impressed with Head First HTML 5 so far. Learning from the book is helping my
retention because I have to type out ALL the code instead of just the portion that will get
me the answer (as is the case on FCC). The level of explanation and detail also helps.

127. Simone Brunozzi (2016-03-23) #

"Head rst HTML5 Programming" is now 5 years old. Things in this space get old very
quickly.
I wouldn't trust a 5 year old book on HTML5.

Is there a better (newer) book that you would suggest?


No, it is current. I re-read it before recommending it here now in 2016. Just read it and do the exercises
until you know it. HTML has not changed in 5 years. -- Derek

128. Ramon (2016-03-28) #

Hi Derek

Thank you for your post. Very helpful info. I just had a couple questions.

So, even though the Headrst book and Professional Javascript book are both back
https://sivers.org/learn-js 32/43
8/18/2017 How to learn JavaScript | Derek Sivers

from 2011 - 2012, do you still think they valauble when it comes to learning Javascript in
2016? I know they aren't going to teach ES6 or anything, which is ne. I just always
worry about using resources that are too outdated, as even Zakas has once lamented
about how quickly Javascript books can become outdated, including his own.

Is there anything more up-to-date that covers things at the same level or breadth and
depth?

129. Manuel Aguilera (2016-04-04) #

Hi, thanks for the resources :D wanna know what do you think about the Head First
Javascript book?
It's probably great, too. All of their books are. -- Derek

130. Joni Sar (2016-04-10) #

Hi Guys,

My name is Jonathan and I'm a part of the Cocycles team.

We created something brand new, and extremely useful: a working code search engine.
It allows people to search for code they need, going through millions of open source
lines, in a blink of an eye.
All you have to do is describe the code you are looking for, for example: "create random
string"
and Cocycles will nd the best implementations for that code from across the open
source.
It will present a full src implementation, docs, usage examples and much more. It
currently supports JS, and more is soon to come: www.cocycles.com.

We believe in making code accessible for everyone. For that reason, we believe that
helping people learn how to code- is nothing short of a worthy cause, and a worthy
mission.
We also think you are doing an awesome job at it.

So, we would like to give a willing hand.


We can create a small search bar which you can add where and when ever you see
most t, and it will allow your JS students to easily search and nd any piece of code
from throughout the open source: looking, learning, trying and using the best code
written by the best developers in real world conditions.
https://sivers.org/learn-js 33/43
8/18/2017 How to learn JavaScript | Derek Sivers

We would not ask for anything in return. We would like to help people learn and master
the eld, because we believe it is the future.
we will not offer this to most code schools, only those who we believe are doing a great
job.

Would you like to receive this capability from us?


I'm here for anything more you might need or want to know,
Jonathan

Jonathan Saring
Head of Growth
+972-50-648-2224
www.cocycles.com

131. Dark_Knight (2016-04-10) #

Now there is a new book called "Head First JavaScript programming". It was published
in 2014. "Head First HTML5 Programming" was published in 2011. Any idea how this
book is? It coves things like closures, which is not present in HTML5 book, but it misses
out on AJAX.
What do you recommend?
Yes I checked Head First HTML5 Programming before posting this article in 2016. It is still relevant
because it puts JavaScript in the context of making active web pages. The other JavaScript books are
more abstract. That's why I recommend Just read through it quickly in a couple days, before your
deeper learning begins. -- Derek

132. Abhishek Biswas (2016-04-14) #

Thank you for introducing me to freecodecamp.

133. Bill Wilkins (2016-04-16) #

Thanks for your article. I will try.

Old Bill

P.S. 74 and counting.

https://sivers.org/learn-js 34/43
8/18/2017 How to learn JavaScript | Derek Sivers

134. Ismail M (2016-04-18) #

I want to think you so much for this information -_-

135. Anthony (2016-05-11) #

Thank you. I am just a guy in Tulsa Ok. Who was interested in websites and Web
creation. Typed in how to learn javascript. It's awesome that you have a plan. Very
grateful. Looking more in to what your page is. Liked your description.

136. Thura Moe (2016-05-12) #

Oh, great post. Now, I can see what I need to do. Thank you so much.

137. Guillermo Guzman (2016-05-23) #

Thank you for your articles, they are a good source of information and inspiration at the
same time.
Best.
Guillermo

138. Pratik Kale (2016-05-26) #

Hey, thanks for the post. Helped a lot.

139. Alex (2016-05-29) #

I'm a self-taught javascript programmer. I appreciate it that you share your experience
with us. I'm impressed by your article: "There's no speed limit", and so many other
articles you wrote on this site.

140. gokulnath (2016-05-31) #

derek thank u for ur guidence,

141. Jonthue Michel (2016-06-05) #

Nice post! have you checked out Practical JavaScript!!


https://www.reddit.com/r/learnprogramming/comments/4mm6lz/free_javascript_video_c
ourse_at_watchandcodecom/
https://sivers.org/learn-js 35/43
8/18/2017 How to learn JavaScript | Derek Sivers

142. Gerd (2016-06-10) #

Learn Building Front-End Web Apps with Plain JavaScript (http://web-


engineering.info/JsFrontendApp)

143. Ed (2016-06-19) #

Just wanted to say thanks, it's great that you took time to point out how things should be
done in order to deeply understand JS. Thanks!

144. Laurence Peter Brown (2016-07-10) #

Sir,

You have totally made my day.

145. Ryan (2016-07-19) #

Why not the Head First JavaScript Programming (2014) book instead of the HTML%
Programming?? Im working through it and nd it very good.

146. Robert (2016-08-03) #

Can I start with Head First HTML5 Programming without reading Head First HTML with
CSS & XHTML?
If you already know HTML and CSS. The HTML5 Programming book really just goes into the stuff
that's beyond HTML, mostly JavaScript-based. It's important to know HTML and CSS selectors really
well rst. -- Derek

147. Tom Purl (2016-08-05) #

Thanks for the Head First recommendation! I was an early adopter of JS (back in '98)
but I've barely touched it since 2005. This book was really a great re-introduction to that
*and* a lot of new cool stuff you can do in a browser.

148. Luis Vargas (2016-08-28) #

Dear Derek,

Thank you. Your article motivated me to start learning JavaScript a few months ago. I do
https://sivers.org/learn-js 36/43
8/18/2017 How to learn JavaScript | Derek Sivers

this during my commute and on the weekends. I have reached a point where I am
actually enjoying the process and I will be ever grateful for the motivation to start on this
path. If you allow me, I would like to recommend a great course I found online. It's called
Practical JavaScript by Gordon Zhu. For a try beginner like me, it has made a huge
difference.

All the best,


Luis
Thanks for the tip, Luis! -- Derek

149. Francis `oghuma (2016-09-06) #

Thanks Derek,
I'm slowly returning into programing & interested in JAvascript:) You just solved by
problem
Thank You

150. Tim (2016-09-17) #

I need to learn JavaScript to determine the amount to tax a person of a certain income
bracket or make change in terms of dollars. I'm in College and struggled with
JavaScript.

What I've learned so far came from the book by Jon Duckett JavaScript and JQuery
incredible. I think I'm going to purchase Web Developers 3rd ed and the cookbook right
now.

Thank you for posting

151. Daan (2016-09-19) #

Thanks for the learning ow, Derek! :) I like the Head First book as a starting point.

For people reading the Head First book, the Geolocation API isn't supported anymore
on non-https domains in the Chrome versions after April'16.

If you would like to test/deploy your scrips to your own server, make sure it is secure!
Otherwise you will keep seeing 'Permission denied' :).

https://sivers.org/learn-js 37/43
8/18/2017 How to learn JavaScript | Derek Sivers

152. Sang (2016-09-27) #

Hi Derek, this seems a pretty great guide for studying JavaScript. I'm a novice and this
can be a good guide for me to step a foot into JS. I found that Head Start book also has
the "Head Start JavaScript Programming". I just wonder what is the differences between
2 of them?
The HTML5 book focuses more on actual usage on websites. Better intro. -- Derek

153. Sudheer Darla (2016-10-02) #

What about You dont know js..? There are lot of sources..and lot of confusion.
That series of books looks good, and I'll probably go through them next. -- Derek

154. Mayur (2016-10-09) #

I am currently going through the free code camp, and you have said don't learn jquery
until I know javascript rst, but doesn't the project require javascript?
If Free Code Camp requires jQuery, then do what they say. Their course is well-optimized. But for
anyone else not doing that course, I think there is no need to learn jQuery, and you'd be better off
learning to do those functions with plain JavaScript. -- Derek

155. Jimmy (2016-10-13) #

Very appreciate for your post that help me understand soonly some concepts in
JavaScript from a total beginner. It seems that Professional JavaScript for Web
Developers, 3rd Edition - by Nicholas Zakas is a very powerful and great books to
become a JavaScript Programmer. When I took a look through the book, I found it not
an easy one to digest, so I have a question. For modern Web Development, can you
suggest me which chapter that I may ignore (because I would rarely deal with it in today
JavaScript career, or even in some special case)? As you said that book explained
everything thoroughly, however, it'll be wonderful if you can pick some less need chapter
out so that I can enhance the speed effectively.
Just ignore his stuff about do it this way for IE8. Everything else is necessary to understand
JavaScript. -- Derek

156. Hong (2016-10-17) #

I'm starting with JavaScript, in the book "Head First HTML5 Programming" you tell us
that we "just read through it quickly in a couple days", and then my brain explodes in the
https://sivers.org/learn-js 38/43
8/18/2017 How to learn JavaScript | Derek Sivers

Chapter Geolocation ;(. This book is fun but the knowledge is quite heavy, I mean that I
cannot remember all the steps (or code) that this book did if I face the same problem.
Can you please give me some suggestions?
You can skip Geolocation or any painful details. The purpose of that book is to give you an overview, a
context for the more detailed learning you'll do in the next book. See these notes about skimming in
overview mindset before getting down to details. -- Derek

157. Sang (2016-10-18) #

It's me again in comment #152. Some of the codes in the book "HF HTML5" that doesn't
work on my Browser, I did like them do but nothing happened ;|.

158. Wang Peng from China (2016-10-18) #

I think this advice passage is the plain guide and useful just like you recommend us to
learn plain javascript ,it can help us use a right way to learning web ,html css javasrcipt
and so on,because now(2016),there has too library and frameworks,it offen makes our
new cooders confused,me is not the exception.

159. Qamar (2016-10-23) #

Very good article, real sense of learning the foundation of JavaScript.


Thanks for sharing your thoughts,

160. Alex (2016-10-27) #

As someone who is at the very start of his learning I have found your article and all the
comments since very helpful.
Thank you.

161. Ryan (2016-11-06) #

Hey, thanks for this article. I already started using Head First HTML5 and it's really
helping me to bridge the gap between abstract Javascript and just making it work in the
DOM.

However, the book is just a bit out of date. Enough so that the twitter API thing doesnt
work. Any ideas or pointers where to learn how to set up Twitter API with latest version?

https://sivers.org/learn-js 39/43
8/18/2017 How to learn JavaScript | Derek Sivers

Thanks again!
Probably Twitters API site -- Derek

162. Rob (2016-11-19) #

Hi Derek, I just stumbled on this website which has a ton of resources (including
podcasts, books, tools). Probably not the ideal place for total beginners to start out, but
it's certainly useful to me now I've been going a few months.

http://jstherightway.org/

163. George Antohi (2016-12-08) #

Hi all,

Great indeed! I found freecodecamp.com to be the best approach especially for people
coming form strong design background.

I can add to the list http://eloquentjavascript.net/ book.

Bests,
George

164. George Arthur (2016-12-15) #

Thanks man for all this, Im doing Comuter science at the 6th form in the Isle of white
and we've got to learn at least one language and this has been a great help. Also how
long roughly would it take to easily understand Javascript?

165. Duc Lux (2016-12-16) #

thanks so much

166. roshan (2016-12-17) #

this is so much good

167. puneeth shivalingaiah (2017-01-07) #


https://sivers.org/learn-js 40/43
8/18/2017 How to learn JavaScript | Derek Sivers

A big thank you :) :) :)

168. Christopher Buteau (2017-01-09) #

I also had to ramp up on javascript and I found one of the best methods was to turn to
node js for tooling.

If I need a le formatter or something I write it in node js now.


It really helped me on the learn vanilla javascript.

Node JS has a bunch of workshoppers they call them.


They are small execises that force you to write code and then program then validates
the code.

https://nodeschool.io/#workshopper-list

Finally on the Node JS front.


They improved debugging so you can use CHROME.
https://medium.com/@paul[emailprotected]e27#.cv9stgr82

Great post.
Thanks for the tip! -- Derek

169. sanjevini (2017-01-18) #

hi.

I am ui developer 2 year experience but still i found very difcult to learn javascript i dnt
know how to apply the logic so is there any way to learn javascript

170. Ivan (2017-01-21) #

I'm just reading https://leanpub.com/javascriptallongesix


Not usual become expert in smthng in X day type of book- uncovers JavaScript
internals very understanding way. What was magic so far is not anymore thanks to Reg.
Ivan
Yeah! I just got it, too. Haven't gone through it yet, but I hear it's great. -- Derek

171. Martin Frick (2017-01-24) #


https://sivers.org/learn-js 41/43
8/18/2017 How to learn JavaScript | Derek Sivers

Hi Derek,
In your Anki Javascript deck, the card
Get a random number between 0 and 27
with answer
Math.oor(Math.random() * 27)
perhaps should be
Get a random integer between 0 and 27
with answer
Math.oor(Math.random() * 27)
or
Get a random number between 0 and 27
with answer
Math.random() * 27

Thanks for providing this resource.


All the best,
Yours,
Martin Frick

172. jerry (2017-01-28) #

i have a question on the hiring part. Wouldnt prospective employers require a


degree,certicate some sort of proof of education? Or is this eld so in demand that
experience alone stands out?

173. Werner (2017-03-19) #

Your sharing of this journey helped me. I'm from the era of DOS (diskette operational
system) and super-cal, lotus 123, basic language d-base, pascal.- Does Javascript
uses, Input, let, output, print, let, if, then, go to and again what you share opens up for
me the possibility to start with Java.- I like to be able to write apps, is Java good for it?

174. Tim (2017-05-28) #

I've heard great things about this book

Amazon.com

JavaScript: The Denitive Guide: Activate Your Web Pages (Denitive Guides)
Paperback May 13, 2011
https://sivers.org/learn-js 42/43
8/18/2017 How to learn JavaScript | Derek Sivers

by David Flanagan (Author)

JavaScript Absolute beginner's guide (might be too easy for most)

Kirupa Chinnathambi
Me too. -- Derek

175. Nipun Bhatnagar (2017-06-14) #

Hello sir I have a Question in my Mind.

1) Do books help to learn java-script, I am going for Head First Java-script


programming.
Is it a good book? Please suggest. I am beginner.
Yes! Use the books I suggest here. But also try videos and courses and Free Code Camp, too. Try
everything, and see what works best for you. -- Derek

176. Isela (2017-07-10) #

Thank you!

177. nihar (2017-07-22) #

Hey buddy great Post,

I found something helpful which I want to share as I was browsing the web for learning
some coding algorithms it was very difcult to visit different sites at a time but I found a
site named https://hackr.io/

I went here and found that the stuff from best programming sites were all allocated at a
single place so I just thought of sharing with you all....

I hope it will help you


This might be useful to your readers: https://hackr.io/tutorials/learn-ios-swift

https://sivers.org/learn-js 43/43