How To Learn
How To Learn
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
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
Nowgetdeep
Simultaneouslybeginthehugebutawesomebook:Professional
JavaScriptforWebDevelopers,3rdEditionbyNicholasZakas.
Its the ultimate tutorial. It takes the time to explain everything thoroughly,
and covers everything. Bythetimeyouredonewiththisonebook,
youllknowasmuchasmostpeoplewhocallthemselves
JavaScriptprogrammers.
Makeitstick
Reinforceit
Afterwards, if you want to solidify what youve learned, quickly read through
a few more books like these:
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 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?
Yourthoughts?Pleaseleaveareply:
Your Name
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/
2. kahfei (2013-03-25) #
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!
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.
https://sivers.org/learn-js 4/43
8/18/2017 How to learn JavaScript | Derek Sivers
-- Derek
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?
https://sivers.org/learn-js 5/43
8/18/2017 How to learn JavaScript | Derek Sivers
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
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.
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.
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).
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.
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 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
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 :))
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.
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
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
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. :)
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 :)
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.
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.
-- 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.
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
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/
Thank you for this! I have an interest in learning and have been wanting someone to
produce a guide like this one.
Thanks for the guide. I have tried reading Javascript The Good Parts and for sure it is
not a nice read for a beginner.
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?
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
@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.
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.
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
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
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.
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
Thanks for this! I'm struggling to learn JavaScript right now and I'm hoping this will help.
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.
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!
http://addyosmani.com/resources/essentialjsdesignpatterns/book/
I can write JavaScript well. Organizing it and making it modular is something with which
I continually struggle.
Agree with resources and approach. If add Object Oriented JavaScript by Stoyan
Stefanov as my favorite JS book.
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
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.
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!
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:-)
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
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
Hi Derek,
Ever since you posted this, this article has been stuck in my head. I just realized why.
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.
So, thanks!
https://sivers.org/learn-js 16/43
8/18/2017 How to learn JavaScript | Derek Sivers
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
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
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
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!
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!
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.
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
Hi Derek,
Thanks for this information. I've decided that this is the time to really learn it. This info is
very helpful.
Rod
You write really well. Awesome writer! Thanks for the post.
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.
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.
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
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/
GOD, you're the only person whom just has his head straight on the web!. thanks!
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!
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.
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
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 :-)
Hi Derek,
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
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
I really recomend "JavaScript: the denitive guide", that book have everything. From the
easier one to harder.
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!
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.
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.
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.
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
Thank you Derek , you just show a right track for budding JavaScript writers.
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!
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
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.
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
hi , derek
Thaks a lot for sharing these resources .
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
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
Thank you! I had started already with Eloquent JS but wondered where to go next.
Going to follow your advice!
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
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
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
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?
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
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
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
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
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
Hi Derek,
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
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.
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
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
Cheers
I agree. I plan on updating this article soon to recommend something better instead. -- Derek
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
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.
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. ;)
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
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
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
Always enjoy your articles, Derek. thanks for continuing to send them.
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
RWE
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
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
Derek,
I learned HTML and some JavaScript, but it was many years ago, so thanks for the tips
on both.
Merci,
JB
test
Nice guide!
https://sivers.org/learn-js 31/43
8/18/2017 How to learn JavaScript | Derek Sivers
"Happy, Smart, and Useful" article is the door to another perception! {found it while
searching for JavaScript tutorials} :)
Cheers Derek!
This was the provocation I needed to get started. Great book recommendation, I would
have bought the epub but the actual book is delightful
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.
"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.
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?
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
Hi Guys,
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.
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.
Jonathan Saring
Head of Growth
+972-50-648-2224
www.cocycles.com
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
Old Bill
https://sivers.org/learn-js 34/43
8/18/2017 How to learn JavaScript | Derek Sivers
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.
Oh, great post. Now, I can see what I need to do. Thank you so much.
Thank you for your articles, they are a good source of information and inspiration at the
same time.
Best.
Guillermo
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.
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!
Sir,
Why not the Head First JavaScript Programming (2014) book instead of the HTML%
Programming?? Im working through it and nd it very good.
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
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.
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.
Thanks Derek,
I'm slowly returning into programing & interested in JAvascript:) You just solved by
problem
Thank You
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.
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
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
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
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
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
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
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 ;|.
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.
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.
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
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/
Hi all,
Great indeed! I found freecodecamp.com to be the best approach especially for people
coming form strong design background.
Bests,
George
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?
thanks so much
I also had to ramp up on javascript and I found one of the best methods was to turn to
node js for tooling.
https://nodeschool.io/#workshopper-list
Great post.
Thanks for the tip! -- Derek
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
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
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?
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
Kirupa Chinnathambi
Me too. -- Derek
Thank you!
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....
https://sivers.org/learn-js 43/43