You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
# Programmierparadigmen (Programmiersprachen)
## 2. Programmiersprachen
Grobe Analyse nach: - Imperativitart \ *reinfolgebasierte Anweisungen* - Declarativitaet \ *Problemloesungsorientierung* - Prozeduralitaet \ *Kompartmentisierung Algoritmisierung* - Objektorientierung \ *Unterstuetzung von Objekten, Klassen und Vererbungen* - Funktionialitaet \ *Funktionserzeugung & -anwendung* - Typisierung \ *(fehlende) Festlegung von Parametern & Rueckgabewerten*
### Java
- imperative, prozedurale und objektorientierte Programmiersprache - typisierte Sprache ### C
- typische imperative Sprache (begruendet durch Hardwarenaehe) - ist prozedural - typisierte Programmiersprache ### Python
- imperativ - unterstuetzt objektorientierte als auch prozedurale und funktionale Programmierung - unterstuetzt Typisierung ### go
- imperative und objektorientierte Programmiersprache - bietet Typisierung ### JavaScript
- imperative, funktionale und objektorientierte Programmiersprache - ist typisiert ### TypeScript
- imparative, funktionale und objektorientierte Sprache - typisierte Programmiersprache
--- ## 3. Programmierprinzipien
### LoD
**L**aw **o**f **D**emeter \ *Sprich nur zu deinen engsten Freunden* - Objekte sollen zur Verständlichkeit und Stetigkeit nur Methoden von ihnen bekannten Objekten aufrufen ### DRY
**D**on't **R**epeat **Y**ourself \ *Vermeide Wiederholungen* - Durch Vermeidung von Duplikationen wird spätere Modifikation erleichtert - Erhöht die Verständlichkeit ### RY
**R**epeat **Y**ourself \ *Wiederhole dich* - Benutzerschnittstellen sollten konsistent ähnlich aufgebaut sein - Erleichterung der Bedienung und Vermeidung von Bedienungsfehlern ### DAU
**D**uemmster **A**nzunehmender **U**ser - Synonyme dafür: - BDU *(**B**rain **D**ead **U**ser)* - Error -40 *(Implikation: Der Fehler sitzt -40 cm "hinter" dem Desktop, bzw vor dem Computer)* - EIFOK *(**E**rror **I**n **F**ront **O**f **K**eyboard)* - PICNIC _*(**P**roblem **I**n **C**hair **N**ot **I**n **C**omputer)* - PEBKAC *(**P**roblem **E**xists **B**etween **K**eyboard **A**nd **C**hair)* - Anwendbarkeit von Programmen sollte intuitiv sein - Verdeutlichung, dass Nutzer meist kein Hintergrundwissen zur Funktion haben und somit viele für Devs logische Ablaeufe nicht nachvollziehen koennen ### SoC
**S**eparation **o**f **C**oncerns \ *Aufteilung von verschiedenen Belangen in Unterprogramme/Sektionen* - Form von Abstraktion und Kompartmentisierung um Programme, Deployment und Erweiterung zu vereinfachen
|