# Learn your tools: Repl.it
**Caitlyn**
<img src="https://camo.githubusercontent.com/419e0b12b852e0d830cd63c54355a4fc0c436a48/68747470733a2f2f6c68352e676f6f676c6575736572636f6e74656e742e636f6d2f7a585475374763485864363774734a757359483634306e7543645851476179583251696973462d497a6c367348757949485a573056713957394471306369584967506b466f4546357a336c3143416a724667584a2d657233564d5569464536424976654375516a384838307730784e756463526b4468716e4e4a6f2d75324b327a745f306c4c3033" alt="illustration of Caitlyn" width="250" height="250" data-canonical-src="https://lh5.googleusercontent.com/zXTu7GcHXd67tsJusYH640nuCdXQGayX2QiisF-Izl6sHuyIHZW0Vq9W9Dq0ciXIgPkFoEF5z3l1CAjrFgXJ-er3VMUiFE6BIveCuQj8H80w0xNudcRkDhqnNJo-u2K2zt_0lL03" style="max-width:100%;">
>A developer is nothing without her tools! Software engineers use lots of tools to get things done, and spend a lot of time setting up and maintaining them. You have to trust your tools and have them at the ready to solve problem with code!
>The first tool you will learn is called a REPL, and the specific REPL we are using is called Repl.it (confusing I know).
>The first section below will help you understand how to use this coding platform and prove that you are all-in for learning to code.
## Work with REPLs
So that you can get started right away, we’re using a browser-based coding tool called repl.it. The editor below allows us to execute code within the web browser, so you don’t have to install anything on your machine.
REPL is an acronym for read, evaluate, print loop. This is a fancy way of saying a REPL is a program that takes input from a user, evaluates that input, and shows the result right away. Don’t worry if none of that makes sense right now, it will soon.
### Your first Repl.it drill
Change ‘false’ to ‘true’ below to confirm your place in the Thinkful Dev Shop Academy:
<iframe height="400px" width="100%" src="https://repl.it/@thinkful/Your-First-Replit-Drill?lite=true" scrolling="no" frameborder="no" allowtransparency="true" allowfullscreen="true" sandbox="allow-forms allow-pointer-lock allow-popups allow-same-origin allow-scripts allow-modals"></iframe>
**Caitlyn**
<img src="https://camo.githubusercontent.com/419e0b12b852e0d830cd63c54355a4fc0c436a48/68747470733a2f2f6c68352e676f6f676c6575736572636f6e74656e742e636f6d2f7a585475374763485864363774734a757359483634306e7543645851476179583251696973462d497a6c367348757949485a573056713957394471306369584967506b466f4546357a336c3143416a724667584a2d657233564d5569464536424976654375516a384838307730784e756463526b4468716e4e4a6f2d75324b327a745f306c4c3033" alt="illustration of Caitlyn" width="250" height="250" data-canonical-src="https://lh5.googleusercontent.com/zXTu7GcHXd67tsJusYH640nuCdXQGayX2QiisF-Izl6sHuyIHZW0Vq9W9Dq0ciXIgPkFoEF5z3l1CAjrFgXJ-er3VMUiFE6BIveCuQj8H80w0xNudcRkDhqnNJo-u2K2zt_0lL03" style="max-width:100%;">
>So great! REPLs are fun, right? Let's try a few more to get the hang of it.
### Hello Operator!
Operators are at the heart of programming. No, not the kind that connects telephone calls. These operators connect pieces of our code. Let’s take a look at a simple bit of math.
```javascript=
// a simple bit of math
2 + 3 = 5
```
In the example above, the plus sign is the operator. The formal name for the + is the addition operator and is an example of a mathematical operator.
Turns out that JavaScript supports all of your favorite operators from math class. You had favorites, right?
#### The Basics
```javascript=
//addition
4 + 5 = 9
//subtraction
4 - 2 = 2
//multiplication
4 * 2 = 8
//division
4 / 2 = 2
```
### Coding Challenge (repl.it)--> addition
### Coding Challenge (repl.it) ---> division
#### Getting Fancy
These operators won’t come up as much, but it’s good to know they exist. Modulo is often used to determine if a number is even or not, for example.
```javascript=
//modulo (%) - Divide the number on the left by the number on the right and return the remainder.
9 % 3 // 0 (9 / 3 = 3 with a remainder of 0, so modulo(%) returns 0)
10 % 3 // 1 (10 / 3 = 3 with a remainder of 1, so modulo(%) returns 1)
//exponentiation (**)
3 ** 2 // 9 (3 to the power of 2 == 3 * 3 = 9)
3 ** 3 // 27 (3 to the power of 3 == 3 * 3 * 3 = 27)
```
But wait there’s more! There are an additional four arithmetic operators. You can find out about them here. LINK https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Arithmetic_Operators
### Coding Challenge (repl.it) --> expon
### Coding Challenge (repl.it) --> modulo
### Assignment Operators
```javascript=
// assignment operator examples
var x = 4;
var weather = “sunny”;
```
An assignment operator will be an everyday part of your life as a coder. The assignment operator assigns the value of the right operand to the left operand. The left operand in this example is a variable. That's what the var keyword is indicating.
### Coding Challenge (repl.it)
### Top 3 JavaScript Questions
If you are completely new to JavaScript you are likely to have a ton of questions. Everyone has to start somewhere. We’ve collected our top three questions to get you up to speed quickly.
#### What is JavaScript?
JavaScript (often abbreviated JS) is a scripting language built for web browsers. It shares many of the common features of all programming languages but also includes additional functionality that allows you to manipulate the look and behaviour of web pages. For example, you can use JavaScript to dynamically change the background color of a page or swap one image with another.
JavaScript also allows a webpage to communicate with external sources of information called servers. For example, you could use JavaScript to get a list of films from a database or show your users a three-day forecast using the data from a weather service.
#### Are JavaScript and Java the same thing?
This is often a confusing topic to new developers. But Java and JavaScript are two separate languages. You shouldn’t use them interchangeably. JavaScript is native to the browser. It’s possible to run Java in the browser (in an applet), but this is not a modern best practice.
Though Java has little place in the browser (aka the front end) it is still a massively popular programming language and is quite popular as a server language (aka the backend).
#### What is NodeJS?
We won’t be covering node in this course but the short answer is that NodeJS is a JavaScript runtime. Okay, so that’s not super helpful. Here’s a slightly longer answer.
JavaScript was initially designed to run in a web browser. Only the browser. Fourteen years later, JavaScript was so popular that a few adventurous developers asked, “What if you could use JavaScript wherever you wanted? Like on a web server.” That’s NodeJS.
The advantage of NodeJS is that it’s possible for a web-developer to use JS as their only language in the browser (the frontend) and on a web-server (the backend). Developers who understand both of these sides are called full-stack developers.