Le Moyen Age et la Renaissance Paris. 1848-1859

Preliminaries: The Hacker's Mathema

Computational processes are abstract beings that inhabit computers. We conjure the spirits of the computer with oru spells. A computational process is indeed much like a socerer's idea of a spirit. It cannot be see nor touched. It is not composed of matter at all. However, it is very real.

  • Harold Abelson SICP 1984

It's virtual. It exists as if. aristotle..generic programming...

generic programming is mathematics. musser and stepanov stole most of the ideas from other people 6th century BC.

history of mathema: geometry, arithmetic, algebra, graphs. computer scientists are the humble tree/graph bearers (ref to shriram and knuth).

if you want to understand cpp concepts, then understand (validate euclid's axioms and peano's axioms)

mathematics do not start with axioms. mathematics have theories, and discover theorems, and then gradually unified bodies. they choose the mininal "things" that allow them to prove theorems. these are called axioms. axioms of natural numbers, fully formualted at the very end of 19th century. but people have been using natural numbers, and proving theorems for long time before.

the axiomatic approach could only be found in euclid's elements. how do you "prove" axioms? <----> specifying software is based on axioms cpp concepts are collections of axioms (so you must understand how mathematicians use axioms, otherwise, you will do silly things)

the way you prove axioms if by their independence -> axioms don't "come" from god. -> if you remove an axiom, there's a model which we don't like. -> you have in mind something which is called natural numbers -> it's NOT good enough to provide axioms that are consistent (do not contradict each other) -> you NEED to provide axioms that EXPLAIN natural numbers (the intended model)