# Uebung - Woche 2 ## Sprachen ### Java Plattformunabhaengigkeit —> quellcode zunaechst in bytecode kompiliert; auf zielsystem in jeweilige maschinensprache umgewandelt (durch Java Runtime Environment (JRE)) Bytecode als Zwischensprache Objektorientierte Programmiersprache 5 Ziele einfache objektorientierte, verteilte Programmiersprache sein robust und sicher architekturneutral und portabel sehr leistungsfähig Interpretierbar, parallelisiert und dynamisch gebunden sein ### C Imperative und procedural Programmiersprache eingesetzt fuer System- und Anwendungsprogrammierung eingesetzt (z.B. grundlegende Programme aller Unix- Systene und Systemkernel vieler Betriebssysteme) Viele sprachen orientieren sich an der Syntax ### Python universelle, ueblicherweise interpretierte, höhere Programmiersprache unterstuetzt mehrere Programmierparadigmen z.B. objektorientiert, aspektorientierte und funktionale Programmierung. Dynamische Typisierung oft auch als skriptsprache benutzt ### Go kompilierbare Programmierspreache, die Nebenlaefugkeit und automatisierte Speicherbereinigung unterstuetzt im Hinblick auf skalierbare Netzwerkdienste, Cluster und Cloud-Computing entwickelt bietet Closure, Reflexion und Typesicherheit Unterstützt Objektorientierung Auf Klassen und deren Vererbung wird verzichtet ### JavaScript Skriptsprache wird auf Browsern, Servern und Microcontrollern benutzt Dynamisch typisierte, objektorientierte aber klassenlose Skriptsprache laesst sich je nach bedarf objektorientiert, prozedural oder funktional programmieren ### TypeScript echte Obermenge von JavaScript (javascript laeuft auch hier) kann durch plugins verschiedene Managment-Tools integrieren Paradigmen funktional, imperativ, objektorientiert ## Programmierprinzipien ### DRY (Dont Repeat Yourself) when writing avoid duplication, if copy pasted it isnt dry anymore ### Single Responsibility Every class or module should only provide one specific functionality ### Document the code ### Use comments to remind yourself or others what it is about ### Refractor Review Code and optimize it ### Clean Code At All Cost if code is easy to read its also easy to maintain, dont overcomplicate stuff