Slides
The CPU is a Honey Badger
Honey Badger Don't Care
- To a computer, it's all ones and zeros
- Abstractions make your code make sense to humans
Tiers of Abstraction
-
Variables
- give a name to a chunk of data
-
Functions
- give a name to a chunk of code
- encapsulate input, output, and local variables
Data Tiers
-
Structs
- put several pieces of related data together
-
Data Structures
- List, Stack, Queue, Hash, Tree, Heap
Code Tiers
- Closures
- function plus scope of defining function
- allow several chunks of code to share state
Combining Code & Data
-
Objects
- encapsulate data and behavior
- allow several chunks of code to share extra state
-
Classes
- reuse code and data for different instances
Other Abstractions
-
Immutability
- values (like variables that you can't modify)
- adding this constraint can make your code simpler and more scalable
More...?