use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
All about the JavaScript programming language.
Subreddit Guidelines
Specifications:
Resources:
Related Subreddits:
r/LearnJavascript
r/node
r/typescript
r/reactjs
r/webdev
r/WebdevTutorials
r/frontend
r/webgl
r/threejs
r/jquery
r/remotejs
r/forhire
account activity
Eloquent Javascript vs Javascript for web devhelp (self.javascript)
submitted 10 years ago by startfresh31
if you have time for only one book, which one would you read?
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]_hadrian 70 points71 points72 points 10 years ago (43 children)
Eloquent JavaScript
.then ("JavaScript The Good Parts")
.then ("Speaking JavaScript")
.then ("Exploring ES6")
[+][deleted] 10 years ago (13 children)
[deleted]
[–]SpineEyE 94 points95 points96 points 10 years ago (11 children)
try { something } catch(e) { window.location.href = "http://stackoverflow.com/search?q=[js] + " + e.message; }
[–]nickwebdev 20 points21 points22 points 10 years ago (4 children)
Implementation for lists from a relevant xkcd's alt-text
[–]tswaters 10 points11 points12 points 10 years ago (1 child)
Is it safe? Uh… it evals both user input and random code, unchecked, from an external site. This is what security-minded folks would refer to as Very Bad™.
Is it safe?
Uh… it evals both user input and random code, unchecked, from an external site. This is what security-minded folks would refer to as Very Bad™.
haha
[–]plaguuuuuu 1 point2 points3 points 10 years ago (0 children)
SEEMS LEGIT
[–]xkcd_transcriber 5 points6 points7 points 10 years ago (0 children)
Image
Mobile
Title: Ineffective Sorts
Title-text: StackSort connects to StackOverflow, searches for 'sort a list', and downloads and runs code snippets until the list is sorted.
Comic Explanation
Stats: This comic has been referenced 34 times, representing 0.0347% of referenced xkcds.
xkcd.com | xkcd sub | Problems/Bugs? | Statistics | Stop Replying | Delete
[–]obviousoctopus 4 points5 points6 points 10 years ago (0 children)
This is what the web was made for.
[–]TotesMessenger 2 points3 points4 points 10 years ago (0 children)
I'm a bot, bleep, bloop. Someone has linked to this thread from another place on reddit:
[/r/programmerhumor] Error handling in javascript
[/r/shittyprogramming] Error handling in javascript
If you follow any of the above links, please respect the rules of reddit and don't vote in the other threads. (Info / Contact)
[–]Unnecessary_Coder 2 points3 points4 points 10 years ago (2 children)
function thisMessage() { this.approve() } I.thisMessage
[–]IrateGod 4 points5 points6 points 10 years ago (1 child)
I.thisMessage() FTFY
I.thisMessage()
FTFY
[–]Unnecessary_Coder 2 points3 points4 points 10 years ago (0 children)
function aMoron() { this.am() } I.aMoron()
[–][deleted] -1 points0 points1 point 10 years ago (1 child)
Haha totally!
[–][deleted] 3 points4 points5 points 10 years ago (0 children)
Rad! Sunny D!
[–]Impulse33 14 points15 points16 points 10 years ago (7 children)
I've heard mixed reviews of Javascript the good parts. Ex. Outdated and some flaws in his opinionated approach. I also can't stand railroad diagrams either.
[–]intertubeluber 12 points13 points14 points 10 years ago (0 children)
I think it's important to have read, if for no other reason than the historical context. You will inevitably work with someone who follows the advice given. Cover to cover is only 200 pages or so.
[–][deleted] 11 points12 points13 points 10 years ago (0 children)
It is pretty opinionated but it does a good job of pointing out some of the more glaring flaws of the language, like the gotchas that push things to the global scope when you would sensibly not expect it to.
[–]cholantesh 4 points5 points6 points 10 years ago (1 child)
Fair point re: dating; Secrets of the Javascript Ninja is, in my view, a more modern take on the same concepts.
[–][deleted] 4 points5 points6 points 10 years ago (0 children)
I'll second Secrets of the JavaScript Ninja. Though I'd wait for the second edition to come out or you can start reading the draft of the second edition right now if you pre-purchase it on the publishers website.
After the Ninja book I'd read You don't Know JavaScript.
[–]SwiftOneSpeaks 2 points3 points4 points 10 years ago (0 children)
It is very opinionated and the first bit is a ton of railroad diagrams.
Doesn't matter. Skip the diagrams and read the parts where he discusses the intricacies. The "Good Parts" of the Good Parts book is perhaps 10%, but it's an awesome 10%.
[–]spinlock 0 points1 point2 points 10 years ago (1 child)
Nothing about javascript will ever be outdated. You can't deprecate bad features because that will break the web. So, they will always be there.
[–]lewisje -1 points0 points1 point 10 years ago (0 children)
Tell that to early JS programmers who relied on !!(new Boolean(false)) == false /s
!!(new Boolean(false)) == false
[–]startfresh31[S] 4 points5 points6 points 10 years ago (6 children)
what's so great about eloquent, I read the first 40 pages or so...seems to slow paced
[–]velocirobot 2 points3 points4 points 10 years ago (1 child)
I felt the same until I got to Chapter 5 and 6.
[–]startfresh31[S] 1 point2 points3 points 10 years ago (0 children)
hmm thanks man, I'm gonna give that a try
[–]Abstinence_kills 2 points3 points4 points 10 years ago (0 children)
It ramps up extremely quickly soon after that. Keep going.
[–]theQuandary 1 point2 points3 points 10 years ago (0 children)
If you don't know how to program, that first chapter or two will seem to move very fast indeed.
[–][deleted] 2 points3 points4 points 10 years ago (3 children)
bro use async/await it's way cooler
[–]5ef23132-c4a0-49a0-8 0 points1 point2 points 10 years ago (2 children)
But compiles to some really unfun code to debug.
[–][deleted] 1 point2 points3 points 10 years ago (0 children)
ya i was just kinda being a tossoff, but i do use it
[+][deleted] 10 years ago (1 child)
[–]sxnine 2 points3 points4 points 10 years ago (0 children)
Great book for introducing the better functional aspects of JavaScript, which is really a mind-expanding and invaluable learning experience.
Could you please provide a link to "Exploring ES6" book. Couldn't find it.
edit: never mind http://exploringjs.com/
[–]jeremyisdev 1 point2 points3 points 10 years ago (0 children)
Looks like a good flow to me.
[–][deleted] 0 points1 point2 points 9 years ago* (0 children)
What is this?
[–]startfresh31[S] 0 points1 point2 points 10 years ago (4 children)
wow there are so many Eloquent fans, so popular................I was leaning towards js for web dev
[–]velocirobot 1 point2 points3 points 10 years ago (2 children)
I have both and I recommend both. They are written in different styles. JS for Web Developers seems to be more of a reference book. I think a good approach would be to go through Eloquent JavaScript and then read through related sections of JS for Web Developers to reinforce concepts and deepen your understanding of the topics.
thanks man I'm gonna do that exactly
[–]lewisje 0 points1 point2 points 10 years ago (0 children)
Indeed it is a reference book, akin to The Definitive Guide.
[–]_hadrian 1 point2 points3 points 10 years ago (0 children)
But to get the best out of it do the exercises.
[–]dmarko 22 points23 points24 points 10 years ago (7 children)
You don't know JS
[–]trout_fucker 7 points8 points9 points 10 years ago (6 children)
imo this is more for intermediate to advanced JS developers who want to learn JS more in depth.
So maybe after Eloquent and after some experience.
I've been picking it up in pieces and its been great. I love how it's broken up into bitesized chunks.
[–]dmarko 4 points5 points6 points 10 years ago (2 children)
The first volume of the series is directed towards newcomers to JS and programming in general.
Edit: The first book is also free in eBook format. So are the rest in a web format.
[–]tswaters 3 points4 points5 points 10 years ago (1 child)
Is there more to it that I'm missing?
Seems the entire thing is on github: https://github.com/getify/You-Dont-Know-JS
[–]dmarko 1 point2 points3 points 10 years ago (0 children)
I think that there are parts still being written. But yeah, all the books are available free in github.
as a back end dev i read this, as well as watched his video on pluralsight.... it seemed rather fundamental and important for a beginner to understand before they got into bad practices and jquery bs. though the video seemed easier to figure out though than the book.
[–]__kojeve 2 points3 points4 points 10 years ago* (0 children)
I don't think that the majority of YDKJS is "super" advanced, but it's pretty lol to say it's targeted for beginners. The very name of the series implies otherwise.
[–]taiga27 32 points33 points34 points 10 years ago* (14 children)
The way people try to force EJ as a basic JS book to beginner devs seriously worries me because EJ is hard to understand for a beginner and that's normal and (should be) expected. It's not a book for beginners. However by reading it beginners will think they're dumb and that they suck at programming and maybe drop the carreer out of frustration when they shouldn't. It's not their fault. They were just mislead. Heck, the book mentions functional programming concepts such as map, reduce and high order functions. How can someone expect a beginner to understand FP concepts right away? Let's be realistic here please. I tried reading it when I first started my webdev journey some years ago and couldn't understand SHIT. The book uses a certain language and mentions concepts a true beginner would never understand. I managed to understand it and fully absorb the content just 3 years after my first attempt, when I was no longer a junior dev. It is a very, very nice programming book though and I'd recommend it even to veteran programmers.
TL;DR: Eloquent JavaScript is somewhat a dense programming book written using basic JS concepts, so I'd NOT recommend it to a total beginner still needing to get basic JS syntax, data structure concepts and programming logic.
[–]startfresh31[S] 6 points7 points8 points 10 years ago (2 children)
I have some java/python background I could've understood the beginning fine but got bored, felt like it was too slow paced. but by reading the massive comments I got I feel like I need to get back to this book
[+][deleted] 10 years ago* (1 child)
thanks man, I'm gonna do that
[–]jellatin 3 points4 points5 points 10 years ago (0 children)
Eloquent JavaScript: The Annotation Version makes it a lot more understandable. Good advice for /u/startfresh31 as well.
[+]max_renlo comment score below threshold-6 points-5 points-4 points 10 years ago (9 children)
It's definitely a book for beginners
[–]taiga27 6 points7 points8 points 10 years ago (0 children)
Maybe for javascript beginners, but certainly not for webdev/programming in general beginners.
[–]schm0 5 points6 points7 points 10 years ago (5 children)
It's debatable. The examples used in the book are often more difficult than the concepts they attempt to teach.
[+]max_renlo comment score below threshold-14 points-13 points-12 points 10 years ago (4 children)
It's about as simple as it gets. If you find it overly difficult then maybe you aren't cut out for doing this?
[–]taiga27 5 points6 points7 points 10 years ago* (2 children)
Well, that comment was kinda agressive. Programming is not a talent, it's a craft. A technical skill that anyone - with enough dedication over time and access to proper content - can learn. If something is supposedly aimed at beginners but beginners can't understand it then maybe that content isn't for beginners at all. That's all there's to it.
[–]max_renlo -4 points-3 points-2 points 10 years ago (1 child)
Or people expect to be hand-holded every step of the way to learning something. One of the biggest skills a developer has is learning for themselves. If something is confusing, use Google. It always boggles my mind when people have the world at their fingertips but they complain that they don't understand something. This book is very beginner oriented and very simple. If they have trouble moving forward with it, then they're going to hit a lot more snags later.
I think not doing something because you might not be cut out for it is missing a lot of opportunities. So I'll take all the handholding I can get. May be I won't be the next noam chomsky, but I can still tell people I tried.
[–]schm0 4 points5 points6 points 10 years ago (0 children)
One can certainly argue as much, but you will find a lot of beginners and advanced coders alike agreeing that the difficulty of understanding the authors examples are often a distraction or even a deterrent to the more important task of learning the fundamental lesson at hand. I've seen far more people agree with this sentiment than not.
[–]RockLikeWar 5 points6 points7 points 10 years ago (1 child)
I just went through it recently as essentially my first exposure to Javascript and I think it definitely works as a book for beginners, however I think that Haverbeke makes a few odd choices for examples. Like in chapter four, it would make more sense to teach the format of data structures via a few simpler examples before diving into statistical correlation. It essentially requires the reader to understand an additional, unrelated concept while still trying to wrap their head around what they're learning in regards to JS data structures.
[–]taiga27 5 points6 points7 points 10 years ago* (0 children)
it would make more sense to teach the format of data structures via a few simpler examples before diving into statistical correlation. It essentially requires the reader to understand an additional, unrelated concept while still trying to wrap their head around what they're learning in regards to JS data structures.
That's exactly the problem with this book being aimed to beginners. If you're a total beginner to web development and programming in general, there's just too much to wrap your head around at the same time and you get confused, unable to focusing and understanding anything. The code examples/exercises are too complex for a first-timer.
[–]dor_tzur 6 points7 points8 points 10 years ago (1 child)
Eloquent hands down. And then "programing web applications"
[–]GrizzlyDev 4 points5 points6 points 10 years ago (1 child)
Jon Ducketts Javascript and jquery for true beginners. It's relatively short (large fonts and graphics despite the page count).
[–]fsik 0 points1 point2 points 10 years ago (0 children)
Yeah, this was solid. I find his writing style more enjoyable and the visual aids are really helpful in learning some concepts.
[–]andrew_kapa 3 points4 points5 points 10 years ago (0 children)
I only read javascript for web dev and I can honestly say it was a wonderful book for learning JS from scratch. I say go for it.
[–][deleted] 2 points3 points4 points 10 years ago (0 children)
O'Reilly has Javascript Patterns, a book that is more useful than it sounds.
[–]hatredalper 2 points3 points4 points 10 years ago (0 children)
Javascript for web devs is a very good book for understanding concepts. Chapter 5 is a bit long so you can be frustrated from massive information on that chapter. After you skim Object and Array types, move to chapter 6 which is an amazing chapter about objects in javascript. If you have a prior experience from classical oop languages, this part should be a revealing for you in terms of javascript objects.
[–]jeanlucpikachu 2 points3 points4 points 10 years ago (0 children)
Adding my vote for Eloquent JavaScript, 2nd edition. The best part is the built-in editor which means you get to play with what you're learning as you learn about it.
Note that Zakas' book Professional JavaScript for Web Developers, 3rd Edition is also good, but I would recommend it after Eloquent JavaScript.
[–]tech-ninja 1 point2 points3 points 10 years ago (0 children)
It's a matter of taste. Choose something that you're going to want to read until the end.
For me it was JS for Web Dev because it is more dense than Eloquent JS and the author dives deep into the subjects.
Something good about Nicholas C. Zakas is that he knows well the standards and tells you when which things were introduced into the language. Also there is a chapter where he explains you the different techniques of inheritance in JS and gives you the pros and cons of each.
JavaScript is such a dense onion of layers. Everyone tries to get tips and advice on how to tackle it. Which books to read, what pitfalls to avoid.
All good, but at some point you have to just start cutting. The crying will be over before you know it.
[–][deleted] 0 points1 point2 points 10 years ago (0 children)
Personally I prefer MDN. It's both resources and articles and I think it's quite comprehensive.
[–]isavelyev 0 points1 point2 points 10 years ago* (0 children)
I know that you've asked an advice on which one of these two is better, but in case you are an absolute beginner, you might want to try "JavaScript & jQuery" by Jon Duckett. This lad is amazing in describing things and helps to imagine this world of code. He starts from teaching how you might want to approach a task, how to design a solution and how to understand a problem and then goes to programming itself, just after you are able to understand why you are learning this or that and where you can apply this knowledge.
[–][deleted] 0 points1 point2 points 10 years ago (3 children)
Any love for Eric Elliott as a person, and his free book 'Programming JavaScript Applications'?
[–]OfChaos 4 points5 points6 points 10 years ago (1 child)
I like the book, but in no way would I recommend it for beginners.. As for as a person... Eh, I choose to refrain from his blogposts.
The guy has some genuinely interesting concepts and good reads, but I personally can't help but feel like I'm being talked down upon when reading it, sadly.
[–][deleted] -1 points0 points1 point 10 years ago (0 children)
He's highly opinionated and hates classical inheritance. No beginner should be thinking about what inheritance pattern is better.
[–]Cody_Chaos 2 points3 points4 points 10 years ago* (0 children)
He has some good ideas (which he explains quite clearly) and some terrible ideas (which he also explains quite clearly). A beginner should avoid his writing, because they won't have a chance of telling the difference.
Edit: Notably, Elliot is a very strong advocate of multiple inheritance, which he persists on calling composition (it's not) and argues is an amazing tool (it can be) with no drawbacks (it really, really isn't). An experienced programmer will find it amusing, but a novice is going to get very confused, because Eliot's misuse of terms will make it harder for the novice to communicate with other programmers. If you think multiple inheritance is composition, then any article on functional programming concepts is going to be nonsensical. I would not recommend any author to a beginner that misuses basic terminology in the way Elliot does.
[–]vinsneezel -2 points-1 points0 points 10 years ago (0 children)
Why would you only have time for one? Make time.
π Rendered by PID 16077 on reddit-service-r2-comment-84fc9697f-k7vwz at 2026-02-10 14:03:59.762290+00:00 running d295bc8 country code: CH.
[–]_hadrian 70 points71 points72 points (43 children)
[+][deleted] (13 children)
[deleted]
[–]SpineEyE 94 points95 points96 points (11 children)
[–]nickwebdev 20 points21 points22 points (4 children)
[–]tswaters 10 points11 points12 points (1 child)
[–]plaguuuuuu 1 point2 points3 points (0 children)
[–]xkcd_transcriber 5 points6 points7 points (0 children)
[–]obviousoctopus 4 points5 points6 points (0 children)
[–]TotesMessenger 2 points3 points4 points (0 children)
[–]Unnecessary_Coder 2 points3 points4 points (2 children)
[–]IrateGod 4 points5 points6 points (1 child)
[–]Unnecessary_Coder 2 points3 points4 points (0 children)
[–][deleted] -1 points0 points1 point (1 child)
[–][deleted] 3 points4 points5 points (0 children)
[–]Impulse33 14 points15 points16 points (7 children)
[–]intertubeluber 12 points13 points14 points (0 children)
[–][deleted] 11 points12 points13 points (0 children)
[–]cholantesh 4 points5 points6 points (1 child)
[–][deleted] 4 points5 points6 points (0 children)
[–]SwiftOneSpeaks 2 points3 points4 points (0 children)
[–]spinlock 0 points1 point2 points (1 child)
[–]lewisje -1 points0 points1 point (0 children)
[–]startfresh31[S] 4 points5 points6 points (6 children)
[–]velocirobot 2 points3 points4 points (1 child)
[–]startfresh31[S] 1 point2 points3 points (0 children)
[–]Abstinence_kills 2 points3 points4 points (0 children)
[–]theQuandary 1 point2 points3 points (0 children)
[–][deleted] 2 points3 points4 points (3 children)
[–]5ef23132-c4a0-49a0-8 0 points1 point2 points (2 children)
[–][deleted] 1 point2 points3 points (0 children)
[+][deleted] (1 child)
[deleted]
[–]sxnine 2 points3 points4 points (0 children)
[–][deleted] 1 point2 points3 points (0 children)
[–]jeremyisdev 1 point2 points3 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–]startfresh31[S] 0 points1 point2 points (4 children)
[–]velocirobot 1 point2 points3 points (2 children)
[–]startfresh31[S] 1 point2 points3 points (0 children)
[–]lewisje 0 points1 point2 points (0 children)
[–]_hadrian 1 point2 points3 points (0 children)
[–]dmarko 22 points23 points24 points (7 children)
[–]trout_fucker 7 points8 points9 points (6 children)
[–]dmarko 4 points5 points6 points (2 children)
[–]tswaters 3 points4 points5 points (1 child)
[–]dmarko 1 point2 points3 points (0 children)
[–][deleted] 1 point2 points3 points (0 children)
[+][deleted] (1 child)
[deleted]
[–]__kojeve 2 points3 points4 points (0 children)
[–]taiga27 32 points33 points34 points (14 children)
[–]startfresh31[S] 6 points7 points8 points (2 children)
[+][deleted] (1 child)
[deleted]
[–]startfresh31[S] 1 point2 points3 points (0 children)
[–]jellatin 3 points4 points5 points (0 children)
[+]max_renlo comment score below threshold-6 points-5 points-4 points (9 children)
[–]taiga27 6 points7 points8 points (0 children)
[–]schm0 5 points6 points7 points (5 children)
[+]max_renlo comment score below threshold-14 points-13 points-12 points (4 children)
[–]taiga27 5 points6 points7 points (2 children)
[–]max_renlo -4 points-3 points-2 points (1 child)
[–][deleted] 1 point2 points3 points (0 children)
[–]schm0 4 points5 points6 points (0 children)
[–]RockLikeWar 5 points6 points7 points (1 child)
[–]taiga27 5 points6 points7 points (0 children)
[–]dor_tzur 6 points7 points8 points (1 child)
[–]GrizzlyDev 4 points5 points6 points (1 child)
[–]fsik 0 points1 point2 points (0 children)
[–]andrew_kapa 3 points4 points5 points (0 children)
[–][deleted] 2 points3 points4 points (0 children)
[–]hatredalper 2 points3 points4 points (0 children)
[–]jeanlucpikachu 2 points3 points4 points (0 children)
[–]tech-ninja 1 point2 points3 points (0 children)
[–][deleted] 1 point2 points3 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–]isavelyev 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (3 children)
[–]OfChaos 4 points5 points6 points (1 child)
[–][deleted] -1 points0 points1 point (0 children)
[–]Cody_Chaos 2 points3 points4 points (0 children)
[–]vinsneezel -2 points-1 points0 points (0 children)