Add languages starting point
This commit is contained in:
parent
252c5a19a0
commit
c6f9664950
|
@ -0,0 +1,25 @@
|
||||||
|
# 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
|
Loading…
Reference in New Issue