General purpose programming language
- imperative (sequence of stateful, ordered steps that describe how to do something)
- wide scope
- Java, Bash etc
- potential for "runtime errors"
DSL (Domain Specific Language)
- declarative (describes what something is, not how to do it)