26 lines
853 B
Markdown
26 lines
853 B
Markdown
|
# Languages: Why You Should Have a LISP
|
||
|
|
||
|
## Software Autonomy and You
|
||
|
|
||
|
If you really want to start from zero, how do you begin? At the very bottom of the stack,
|
||
|
computers speak machine code, often translated from assembly. The easiest way to get rolling
|
||
|
is with a lovely family of languages, often referred to as "concatenatives" or "stack languages".
|
||
|
|
||
|
## Interesting content path
|
||
|
low-level programming walk through basic language/computer theory
|
||
|
- Explain a few simple assembly instructions
|
||
|
- typed operations vs typed data
|
||
|
- code as data as code
|
||
|
- Write a simple FORTH using stated assembly instructions
|
||
|
- memory management strategies
|
||
|
- stacks
|
||
|
- binary formats (ELF/PE32+/MachO)
|
||
|
- Write a LISP using that FORTH
|
||
|
- garbage collection
|
||
|
- metaprogramming
|
||
|
- Prolog, SAT Solvers, SMT Solvers
|
||
|
- Automata
|
||
|
- Game of Life
|
||
|
- parsing
|
||
|
- Solve world hunger
|