close

Oak & Steel Wine & Liquor Store Midtown, NY

Brief history of JavaScript

JavaScript is such a peculiar language.

It’s the only mainstream language that uses prototypes instead of classes. It’s widely misunderstood.

Until a few years ago people would look down to it and even debate whether it was a real programming language or not—and now it’s used all over, including on servers (Node.js).

I was having lunch with a friend, and he asked me a question I should know the answer to,  and only knew partially: what’s the history of modern programming languages? How did we get here?

I told him about machine language, how people wanted to make programming easier and came up with progressively more abstract languages that are still then eventually translated into 0s and 1s.

But—by chance I was watching , and he started with telling the actual story of JavaScript, and it’s way more interesting.

Brief history/overview of programming languages

To understand JavaScript, we have to look at the history of the languages that inspired its designer.

The early days

Alright, so basically at the beginning programmers didn’t have it easy.

There are computers that work differently, but virtually all computers understand only binary code. That is, a series of 0s and 1s. Computers use this approach because it correlates well with electronic switching: off = 0, and on = 1. Computers are actually dumb!

At the beginning, in order to program a computer you had to speak its language. That is, you had to work with 0s and 1s. Because this is obviously a nightmare for most human beings, computer scientists have tried hard to abstract this process in order to make it easier for people to create programs.

Here’s a brief history and overview of their attempts.

Machine code

Machine code or machine language is a set of instructions executed directly by the computer’s CPU.

Each instruction performs a very specific and low-level task. Every program directly executed by a CPU is made up of a series of such instructions.

Numerical machine code (i.e. not assembly code) may be regarded as the lowest-level representation of a compiled and/or assembled computer program or as a primitive and hardware-dependent programming language.

While it is possible to write programs directly in numerical machine code, it is tedious and error prone to manage individual bits and calculate numerical addresses and constants manually. It is therefore rarely done today, except for situations that require extreme optimization or debugging.

See:

Assembly language

Assembly language is not machine code, but almost. It’s directly correlated to the underlying architecture, so there is no abstraction.

To turn assembly language into machine code, an is used. The assembler is the first software tool ever invented.

Here is a snippet of code:

MOV AL, 1h ; Load AL with immediate value 1

car insurance quotes comparison south africa     car insurance quote comparison australia


TAGS


CATEGORIES

.