- Computing is all about organising logic to manipulate data and the vast majority of IT work is creating logic (software) to run on general purpose CPUs
- Logic just transforms or filters data and sometimes maintains state
- There are many ways to associate this logic with data
- Imperative programming matches CPU hardware the closest, and you manually group functions (logic) and data
- OOP abstracts a bit more and supports associating logic with data (types) in the language
- Functional programming has no external state and supports data flow synchronisation in the language
- UNIX presents a simple interface to get data to/from the CPU
- I'm going to concentrate on the last 2 from here on
|