# Learn to Program in JavaScript

## For Beginner Programmers

If you have little to no programming experience, that's okay!
You don't need to be a great programmer in order to enjoy or play this game.
In fact, this game could help you learn some basic programming concepts.

Here are some good tutorials for learning programming/JavaScript as a beginner:

- [Learn-JS](http://www.learn-js.org/en/Welcome)
- [programiz](https://www.programiz.com/javascript/get-started)
- [Speaking JavaScript](https://exploringjs.com/es5/)
  This is a bit on the longer side.
  You can skip all of the historical background stuff.
  Recommended chapters: 1, 7-18

## For Experienced Programmers

The following section lists several good tutorials/resources for those who have experience programming but who have not worked extensively with JavaScript before.

Before that, however, it's important to clarify some terminology about the different versions of JavaScript.
These are summarized in this article:

[WTF is ES6, ES8, ES2017, ECMAScript...](https://codeburst.io/javascript-wtf-is-es6-es8-es-2017-ecmascript-dca859e4821c)

An important takeaway from this article is that ES6, also known as ES2015, introduced many major features that are commonly seen in modern JavaScript programming.
However, this means that ES5 engines and interpreters will fail if they encounters these ES6 features.
You'll see why this is important further down.

- [MDN Introduction to JS](https://developer.mozilla.org/en-US/docs/Web/JavaScript/A_re-introduction_to_JavaScript)
- [Eloquent JavaScript (ES6+)](http://eloquentjavascript.net/)
  Recommended Chapters: Introduction, 1-6
- [Modern JavaScript Tutorial (ES6+)](https://javascript.info/)
  Recommended Chapters: 2, 4-6
