JavaScript: Programming Introduction.
Tags: programming, beginners, webdev, javascript
Published: 2023-08-14 08:07:16

Whether you're just starting your web development journey or you've got some experience, it is important to make sure that you have a solid grasp of some concepts. Before we jump into the fundamentals of JavaScript, let's make sure we know what programming is.

## What is a computer program ?
To understand what programming is we have to know what a computer program is. 
A computer program is created by writing lines of code, that  run on the computer. The written code is made to perform a specific task. 

## What is a programming language?
A programming language is a language created specially to give instructions to computers which is known as source code.

## What is programming ? 
Programming is giving a computer a set of instructions that explain how to execute a program. These instructions could be for carrying out a straightforward task, like showing the result of a multiplication, or they could be for solving a more complex problem.

## Types of programming languages
As you might have probably noticed, there are a large number of programming languages available.
Before deciding which languages to use, you need to consider first what your application needs to be built.

There are multiple types of programming languages: 
- High-level programming languages, are like the language we use to communicate with each other and are easier to read and write and understand,such as Java, C# or Python.
- Low-level languages, such as Assembly and Machine language. Machine language is the lowest level language made up of binary code that the computer processor can directly execute.
- Compiled programming languages, are translated entirely into machine language (binary) before execution, such as C, C++ and Rust. 

_Binary is a base-2 numeral system, it is represented by either 0 or 1. Each digit is known as a binary digit or bit for short. The farthest bit to the left is the most significant whereas the farthest bit to the right is the least significant._

- Interpreted languages, Unlike low-level languages, Interpreted languages use an interpreter that reads the source code line by line, translates each line into machine-level instructions, and then executes those instructions at run time, such PHP, Ruby and JavaScript.
- Scripting languages, are used to write scripts to manipulate data or automate tasks on a web servers. That is why PHP and JavaScript are referred to as Interpreted and scripting languages.
- Functional languages, use functions that can be put together to create large complex programs, such as Haskell, F# and Clojure.
- Object-Oriented languages, or OOP languages use a structured code to mimic real-world concepts just like objects and their behaviors. These type of languages create objects which are just instances of classes. some examples of Object-oriented languages are Java, C++ and Python.

## JavaScript
JavaScript is a client-side scripting language that runs in the browser. It was initially created to build interactive and dynamic websites. JavaScript can also be used as a server-side language. 
JavaScript's standardized specification or guideline is called ECMAScript (ES). It defines the features, syntax, and behavior of the language, guaranteeing compatibility with multiple environments and web browsers. 
JavaScript has no official support for classes but since objects are the core of the language and almost everything in JavaScript is an object or is accessed through objects, it can mimic object-oriented programming concepts such as classes.

## Overview about this series
In this series, we'll be building our knowledge from the ground up learning everything about JavaScript in depth. We'll be discussing everything from the fundamentals to object-oriented programming and more.