Here is what I learned and how I understand it.
In computer science, an interpreter is a computer program that directly executes, i.e. performs instructions written in a programming or scripting language, without requiring them previously to have been compiled into a machine language program — Wikipedia
How I understand it. The interpreter reads your code line by line and returns an answer on the fly or you can look at like it takes a set of instructions and returns an answer on the fly. So when you do console.log(1 + 1); the interpreter give you back 2.
A compiler is a computer program that transforms computer code written in one programming language (the source language) into another programming language (the target language). — Wikipedia
In computing, just-in-time (JIT) compilation (also dynamic translation or run-time compilations) is a way of executing computer code that involves compilation during execution of a program — at run time — rather than prior to execution. — Wikipedia
How I understand it. The Jit Compiler is the browser companies way of combining the best of both worlds from the Interpreter and Compiler and making them one.
How I understand it. Whenever we write a variable or object etc, we are asking the memory heap to store/allocate space in memory for our variable and its value. It's just a place to store our information. Also when our objects or variables are not being used, the memory heap will free up space. This is called garbage collection. BUT, garbage collection is not perfect. You can easily create what is called a memory leak. This is when you have used up all of your memory.
Single threading. In computer programming, single-threading is the processing of one command at a time. The opposite of single-threading is multithreading. — Wikipedia
How I understand it. Being single threaded means that only one set of instructions are being executed at a time. The best way to determine if a language is single threaded is, it has only one call stack.
Callback Queue and Event Loop
This week was another awesome week of learning. This blog was no way intended to be an expert point of view. It's just how I understood these concepts. I welcome all readers to leave any comments that you might think will better help me understand these concepts, or if there are any concepts that you think I'm not really understanding. Thanks for reading see you next week.