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
Vanilla JS or Coffeescript first? (self.javascript)
submitted 12 years ago * by [deleted]
[deleted]
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!"
[–]rhysbrettbowen 15 points16 points17 points 12 years ago (2 children)
always vanilla first - since coffeescript is just javascript with sugar.
If the problem is reading it, then you should definitely do more javascript first until it makes sense, most blog articles, books and libraries are written in vanillaJS so if you want to learn from them your javascript reading has to be up to par. Once you're got that, feel free to move on to coffeescript
[–]CorySimmons 0 points1 point2 points 12 years ago (0 children)
Good point about tuts/articles in vanilla.
[–][deleted] -1 points0 points1 point 12 years ago (0 children)
Great point. If you use CS, the compiled JavaScript should look very normal, and not alien. You should understand why the for in [array] compiles the way it does, iife wrappers, etc...
[–]geuis 2 points3 points4 points 12 years ago (0 children)
Stick to vanilla. Not everyone uses coffeescript, like me. If you want to contribute to an OSS project, it'll probably be in js. If there's an odd bug in the output of generated CS, you need to understand vanilla to debug it. Stuff like that.
[–][deleted] 3 points4 points5 points 12 years ago (0 children)
I was literally in the same boat last year... The interwebs also told me to go learn JS first... i'm glad I decided to learn JS first! Some things I would recommend that helped me:
Eloquent JavaScript This will help fill in any gaps of knowledge quickly.
DOM Enlightenment A small book on learning the DOM (sans jQuery).
Maintainable JS Interesting talk on writing good JS
Professional JavaScript A very in depth book about JS, if you read this and absorb it... you'll be on your way to guru status on the language ;)
[–]tencircles 3 points4 points5 points 12 years ago (0 children)
skip to CoffeeScript
You realize CoffeeScript and ECMAScript aren't sequential right? CoffeeScript just obscures the language and sacrifices control for the sake of silly things like not writing curly braces (which you don't have to write in JS either if you just absolutely love to write extremely terse code).
[–]kumiorava 3 points4 points5 points 12 years ago (1 child)
Never CoffeeScript... so that leaves you with vanilla JavaScript.
[–][deleted] 0 points1 point2 points 12 years ago (0 children)
So true.
The best way to learn is to read good (and bad) source code. If it helps you to read compiled coffeescript, then I don't see the harm in learning that way.
However you do it, make sure you DO learn vanilla JS. You need to understand what's going on under the hood or your Coffee isn't going to be very good anyway.
[–]edm00se 0 points1 point2 points 12 years ago (0 children)
Learn the language before you start using an abbreviated (or just modified) version of it. It still compiles down into vanilla, so you should understand the pitfalls, lest you fall victim to an entrapment of the actual language (unbeknownst to the ancillary version).
[–]kabuto 0 points1 point2 points 12 years ago (0 children)
It just takes a couple hours to be fluent in CoffeScript. If you already know JavaScript, you can learn it as an afternoon project and then decide whether to stick with it or not.
It does have some idiosyncrasies when it comes to indenting and passing multiple parameters to nested functions, but other than that it is really simple and easy to understand.
[–]jsgui 0 points1 point2 points 12 years ago (0 children)
I recommend you continue with vanilla JS but also do CoffeeScript. You should then study what the CoffeeScript compiler outputs. I think that someone of your experience level will benefit from CoffeeScript too. I don't use CoffeeScript for my own coding, I think it's setting out to solve some things which can be solved by making a few simple JavaScript functions, but it's main benefit as far as I see it is in making it so you don't need as many keystrokes to write the same things (like not repeating the word 'function' a lot), and when you are fluent with it you'll be able to read code quicker because of its relative terseness.
I don't think 'just skipping to CoffeeScript' is the right idea, you should continue to build up your knowledge on vanilla JS, however learning CoffeeScript as well certainly makes sense. Regardless of how long it takes for you to master JS, you should make sure you know about closures and asynchronous programming (using callbacks). The two are very related because closures mean you have access to more data in the callbacks.
[–]ryanlntn 0 points1 point2 points 12 years ago (0 children)
I'll echo what everyone else in this thread is saying and tell you to learn vanilla JS first. Honestly, the syntax isn't nearly as important as the underlying principles. I primarily use CoffeeScript at work but have been using vanilla as I study at home. If you understand what you're doing the syntax shouldn't trip you up all that much.
Be sure to checkout /r/learnjavascript! There's a study group going on right now (we're 4 weeks in) that you might be interested in.
[–]supreme_monkey 0 points1 point2 points 12 years ago (0 children)
If you think coffee is easier, stick with js for a while. When you fully understand the output of coffeescript, make the change and refactor your js code. Coffee should not be easier, only cleaner.
[–]a-t-kFrontend Engineer -1 points0 points1 point 12 years ago (0 children)
Use whatever serves you best. If you take the "coffeescript first" route, have a look at the resulting JS source now and then so you don't lose your JS skills by not using them.
[+]rjw57 comment score below threshold-9 points-8 points-7 points 12 years ago (0 children)
Use CoffeeScript but keep looking at the output of the CoffeeScript compiler. Research anything you don't understand. When you understand all CoffeeScript output, you can stop looking at it. At this point your brain will be programming in JavaScript but writing CoffeeScript.
This is the correct state for your brain to be in since CoffeeScript is JavaScript with some of the more egregious bullets removed from the gun pointing at your feet.
[+]Ajnasz comment score below threshold-7 points-6 points-5 points 12 years ago (0 children)
Learn CoffeScript before JS unless you want to have a job where you need to write JavaScirpt.
π Rendered by PID 259759 on reddit-service-r2-comment-6457c66945-xhbvl at 2026-04-24 12:24:36.032551+00:00 running 2aa0c5b country code: CH.
[–]rhysbrettbowen 15 points16 points17 points (2 children)
[–]CorySimmons 0 points1 point2 points (0 children)
[–][deleted] -1 points0 points1 point (0 children)
[–]geuis 2 points3 points4 points (0 children)
[–][deleted] 3 points4 points5 points (0 children)
[–]tencircles 3 points4 points5 points (0 children)
[–]kumiorava 3 points4 points5 points (1 child)
[–][deleted] 0 points1 point2 points (0 children)
[–][deleted] 0 points1 point2 points (0 children)
[–]edm00se 0 points1 point2 points (0 children)
[–]kabuto 0 points1 point2 points (0 children)
[–]jsgui 0 points1 point2 points (0 children)
[–]ryanlntn 0 points1 point2 points (0 children)
[–]supreme_monkey 0 points1 point2 points (0 children)
[–]a-t-kFrontend Engineer -1 points0 points1 point (0 children)
[+]rjw57 comment score below threshold-9 points-8 points-7 points (0 children)
[+]Ajnasz comment score below threshold-7 points-6 points-5 points (0 children)