So, again, what is programming?

The process of creating steps for a computer to perform a desired task.

 

Programming is a problem-solving process

A program is an exact set of instructions which tells the computer precisely what to do
Program = Algorithm + Data

A programming language is a collection of words and symbols (syntax) with a set of rules defining their use (semantics)

Computers are stupid...

lang

 

1. They only know 0s and 1s (after all, computers are just a bunch of switches...)

 

From machine code and assembly....

 

loomeniac

 

To high-level languages (may have heard of : Basic, Logo, C/C++, Java, PHP, Javascript, Processing...)

Why not natural languages?

 

2. They need a very detailed and precise plan in order to do anything (They don't help you to think but they help you to think for them)

 

The algorithm: a set of steps/instructions to solve a problem, a plan.

 

tea_algo

 

Algorithms in everyday life. Algorithms in art (algorithmic composition, algorithmic performances)

 

Note that the algorithm precedes the written program. In fact, the same algorithm can be written in many different "languages"(notations)

 

Let's try that out...

[Some History]

- Punched cards (perforated cards) have been used as a way to control (to "program"?) textile looms (1801) and music machines. The technique actually migrated in the computing world: punched cards were used as data input and storage medium till the 1970s.

- ENIAC, for many the first electronic general-purpose computer (1946), a massive construction of 167 m², was programmed physically by operating switches and cables.

- Short Code (1949), the first computer language actually used on an electronic computing device, was hand-compiled. In 1951, Grace Hopper developed the first computer compiler.

- FORTRAN, the first successful high level language, was developed in the years 1956-57.