- **objektorientiert:** Programmteile koennen wiederverwendet werden (Vererbung)
- **prozedural:** Programm kann in Unterprogramme unterteilt werden
- **typisiert:** Datentypen sind zum Programmierzeitpunkt festgelegt
# C
### C
- **imperativ:** hardware-nah, Programm vollstaendig aus Code nachvollziehbar
- **prozedural:** Programm kann in Unterprogramme unterteilt werden
- **typisiert:** Datentypen sind zum Programmierzeitpunkt festgelegt
# Python
### Python
- **typisiert:** Datentypen sind zum Programmierzeitpunkt festgelegt
# JavaScript
### JavaScript
- **typenlos:** Datentypen sind \_nicht\_ zum Programmierzeitpunkt festgelegt
# TypeScript
### TypeScript
- **typisiert:** Datentypen sind zum Programmierzeitpunkt festgelegt
## Programmierprinzipien
# DRY (Don't repeat yourself)
### DRY (Don't repeat yourself)
- Wie der name sagt, soll vermieden werden, den gleichen Code mehrmals zu schreiben. Stattdessen sollte man versuchen Loops zu verwenden.
# CCaAC (Clean Code at All Costs)
### CCaAC (Clean Code at All Costs)
- Das Programm soll so geschrieben werden, dass es einfach fuer andere ist dieses zu verstehen. Man sollte beispielsweise vermeiden, unnoetig komplexe Tricks zu verwenden.