Gordie Noye


gordie.noye@gmail.com

@gordienoye


Programming

(with Snakes)

Why program?

Programmers solve problems



Programmers solve problems

In a special way

Using a specific set of commands

That computers can understand

What are the commands?


The commands are programming languages


Name some ...

Language use today

Historically

What is a computer?


"One" who computes


Computers used to be people who ... computed

Think slide rules and astrological calculations

What did they compute


- the return of Halley's Comet

- the trajectory of projectiles

- nuclear fission

- secret messages (cryptography)

Then came machines


  • very limited use
  • faster and more accurate than humans
  • built to solve specific problems
  • specialized knowledge needed just to use them
  • used very primitive (to us) technology


Evolution of computers


- mechanical machines

- electro-mechanical machines

- electronic machines

Computer precursor

Jacquard programmable loom (1801)

First machine to use punched cards to control its operation

One punched card per row of design

Which inspired

Charles Babbage's Difference Engine

Analytical Engine


The Difference Engine was designed for mathematical calculations

Babbage envisioned and began to design something he called the Analytical Engine which would use punch cards

The punch cards would determine what the "engine" would do
 
Similar to configuring the Jacquard loom pattern but using punch cards to configure calculations

Ada Lovelace


 Lord Byron's daughter Augusta Ada King, Countess of Lovelace, is credited with developing an algorithm for the Analytical Engine to calculate a sequence of Bernoulli numbers

She is considered by many to be the first computer programmer


 

The Z3

Konrad Zuse, a German engineer, created the first fully automatic programmable computer in 1941
It used electro-mechanical switches called relays

Electronic machines



1st Generation – Vacuum tubes


2nd Generation – Transistors


3rd Generation – Integrated circuits


4th Generation – VLSI and microprocessors
           (VLSI - Very Large Scale Integration)

Tubes


The ABC - Atanasoff-Berry Computer (1942)

Transistors


DEC PDP - 1 (1959)

Integrated Circuits


Cray - 1 (1975) and Apple II (1977)


Microprocessors


All modern computers

Who are programmers?


Doctors

Journalists

Web Developers


You.

Programming in Python - Part 1

By gordie

Programming in Python - Part 1

  • 1,502