md`# HALP, I don't know any javascript at all 🔰🆘😺
That's fine, but let's see if we can change that. I've put new terms in _itallics_ so that you can see that they're important words. Try to pay attention to these words, they come up a lot.
## What is javascript?
I'm guessing that given that you're here, you have _heard_ of javascript (JS), and have _some_ motivation to learn how to use it. But that doesn't mean that you know what it _is_. JS is a _programming language_, which—mainly by luck&mdashbecame the default programing language of web browsers. It's got a bit of a [dodgy history](https://en.wikipedia.org/wiki/JavaScript#History), and it had [a lot of detractors](https://github.com/denysdovhan/wtfjs/blob/master/README.md), but it's become a pretty [popular](https://insights.stackoverflow.com/survey/2021#section-most-popular-technologies-programming-scripting-and-markup-languages) now. If you click something on a website, and something other than a full page-reload happens, the odds are that some javascript made that happen. The level of knowledge needed to make that kind of thing happen is for another day, but this page is about getting the basics into your brain so that you're ready to do more interesting things another day.
## What is a _notebook_?
This webpage [waves arms at the screen] is a notebook. It isn't like a normal website, it's not just _showing_ you code, it's running it too. When you change the symbols on the screen, those changes recalculate and the outcomes change too. The bit in <span style="background-color: whitesmoke; border-radius: 6px; padding: 0 5px;">grey boxes</span> are input cells. You can click these and change them. The text just above, usually in <span style="color: #20a5ba; font-family: monospace;">this nice teal</span> is the result of running that cell.
There are some [excellent tutorials about how to use notebooks here](https://observablehq.com/tutorials) so you could stop here and watch the first couple, or you can just muddle along and you'll get it soon enough.
In other programming _environments_ there's a lot of _boilerplate_ needed to get going. Boilerplate is a term that means "_code that doesn't really do anything, but you need to put in anyway, don't ask why, just remember it_", and it sucks when you're first learning to code. One of the nice things about a notebook is that it shows the results of the things we do without needing to do any other things, for example:`