Back to the bookshelf

Typographic jacket · original cover not fetched

FROM THE SHARED SHELF · 2006–2026 SAMPLE

Eloquent JavaScript

Marijn Haverbeke

19 readers recommend it across 9 discussions

Topics are model-inferred labels.

Keep it on your reading list

THE WORD OF MOUTH

What made it worth passing on?

Original Hacker News comments, in the readers’ own words.

fallinditch
Books are ok but I think it's better to learn with websites that use live coding examples and exercises. https://www.freecodecamp.org/ is good, the Responsive Web Design and JavaScript courses are a good place to start, there's a great community of learners and tutors to help. The MDN developer resources is a useful site to keep open while you learn. https://developer.mozilla.org Now pick a framework to start learning and building with. React is the most used but I chose Svelte because it is powerful yet has simpler syntax and is easier to learn, also supposed to be more performant. The Svelte tutorial is an excellent learning resource, nicely detailed and structured. I also found it to be a useful refresher for JavaScript in a more practical real world context. https://svelte.dev/ While doing the Svelte tutorial, and in fact all the time now, I have a tab open for an AI chat bot. I find Perplexity to be particularly useful for explaining syntax and code snippets. If you want to get more into JavaScript then a good book is Eloquent JavaScript https://eloquentjavascript.net/…
johnsonjo
I learned HTML and CSS mainly from MDN, so that's where I suggest you look. As for stuff I use in css most often I can only recommend a few articles and such. Learn how to use Flexbox and CSS Grid though for sure (as those are the two most modern ways to layout an HTML page) as well as CSS Positioning [0] (which is some of the older ways to lay things out). [0]: https://alistapart.com/article/css-positioning-101/ For JS there are some online books that are gold mines the problem is finding them. One is Eloquent JavaScript which is available to read online for free here [1]. [1]: https://eloquentjavascript.net/ Though I've never actually finished the whole thing it does a pretty great job explaining JS to the uninitiated. My other favorite books in JS are actually all from the same person Axel Rauschmayer. All of his books are available online for free here [2]. He has a really good way of explaining in my opinion and his books kind of take out all the fluff. [2]: https://exploringjs.com/
code_primer
A textbook which gives a good introduction to Web Development is: 1) Fundamentals of Web Development (Randy Connolly and Ricardo Hoar). I have the 2nd Ed but the 3rd Ed is out and is more contemporary. Specific books for HTML and CSS are: 1) HTML and CSS - The Comprehensive Guide (decent contemporary introduction) 2) CSS in Depth 3) CSS The Definite Guide - 5th Ed - Reference Specific books for JavaScript. 1) Javascript - The Comprehensive Guide (decent contemporary introduction) 2) Eloquent JavaScript - 3rd Ed 3) Javascipt - The Definite Guide - 7th Ed
modernerd
For Swift: https://www.apple.com/swift/playgrounds/ (I've had more success introducing programming with this than with any of the links below; it's a very compelling intro for those who already own an iPad/Mac, and the core concepts are generalisable to other languages/environments even if it's specific to Apple's APIs and hardware.) ~~~ For Python: https://automatetheboringstuff.com https://nostarch.com/big-book-small-python-projects ~~~ For JS: https://eloquentjavascript.net (project-based and for beginners) https://javascript30.com (not for total beginners or self-study, would need a friend/tutor)
ciw1973
"Eloquent Javascript" (http://eloquentjavascript.net/) definitely gets my vote, as it starts with concepts that someone new to programming would need to understand before diving into the specifics of the language. Available to read online for free, although well worth spending money on a physical copy to thumb through, but it may be a little too slow to get going for someone who already has experience with other languages. For developers, I'd recommend Kyle Simpson's "You Don't Know JS" books, in particular "This & Object Prototypes", followed by "Scopes & Closures". Well written, with plenty of example code, these are deep dives into specific areas which make Javascript different/weird. They're available to read in his Github repo (https://github.com/getify/You-Dont-Know-JS), but consider buying them, as he deserves to get paid.
petercooper
Depends on what your level is going in. For an absolute beginner, JavaScript and jQuery by Jon Duckett is extremely accessible. Sure, it covers jQuery but it's so well aimed at total beginners it's not a bad path. At the lower intermediate level, Eloquent JavaScript (mentioned elsewhere) is fantastic. At higher levels/if you know other languages and are comfortable learning new ones: Effective JavaScript, YDKJS, and Speaking JavaScript all fantastic and complement each other in various ways.
bzalasky
Here's a great collection of resources (compiled by Zed Shaw) for learning about programming, software and web development: - http://programming-motherfucker.com/become.html You'll find resources on Zed's site that will help you learn the web development toolchain as well. You'll want a good editor, an understanding of git and version control, as well as the command line (apologies if you're acquainted with these already but looking to get into web development). Another thing to remember is that once you grasp the basics, you can learn a lot from reading other people's code (especially libraries) and the associated documentation. Some other resources that helped me out immensely when I was getting started (or that I wish I'd read): A great overview of JavaScript. - http://eloquentjavascript.net/ Once you get the basics of JS down, this book will help you learn how to organize your code better. - http://addyosmani.com/resources/essentialjsdesignpatterns/bo... (http://addyosmani.com/resources/essentialjsdesignpatterns/book/) An overview of HTML5. - http://fortuito.us/diveintohtml5/…
malandrew
You can't go wrong with any of those books. Given your interest in mobile/web apps, my recommendation is to start with Eloquent Javascript then Dive into HTML5 and then DOM Scripting. With those three, you'll have a solid base for what the next 5 years of what technology trends will throw at you. Eventually you'll need to start working more with stuff on the server side. Once that time comes, you'll know enough to choose the server side language that makes the most sense for you (my bet is that you'll probably end up choosing between Javascript, Python, Ruby or Clojure in that order).
malandrew
In addition to what others have said, I would add The Little Schemer to the list. It may not seem like the most practical book, but it will make you a better programmer. Beyond that, I would reiterate the following suggestions put forth by others: -- How to Design Programs (get version 2. Racket, the IDE for this book, is practically plug-and-play, so you won't waste time prepping your development environment) -- Think Python by Allen Downey (i haven't read this one, but it comes very highly recommended. the excerpts I've read show that Allen communicates the concepts very clearly) -- Eloquent Javascript (very good introduction, all examples can be done directly in the browser with the specially-made console. This eliminates the time and confusion you will experience trying to set up a development environment with other languages.) On top of those I'd also add: -- The C Programming Language by K&R (if you are interested in C) -- Dive into HTML5 (if you are interested in web development. HTML is a markup language, but you are going to need it to be able to build web stuff. This book complements Eloquent Javascript nicely) -- Land of Lisp…
greglockwood
If you want to do front end web dev, learn these languages in this order: HTML - http://www.w3schools.com/html/ CSS - http://www.w3schools.com/css/default.asp Javascript - http://eloquentjavascript.net/contents.html And then pick one of the following two: PHP - http://www.tuxradar.com/practicalphp or Rails - http://ruby.railstutorial.org/ruby-on-rails-tutorial-book There are many languages that you can learn for front end other than RoR and PHP, but they are two of the most popular right now, and will almost certainly suit your needs. Good luck, and stick with it when it gets frustrating, learning how to code is definitely worth it!

Also recommended in this reply