Core Programming Concepts Flashcards
Welche Sprachtypen gibt es?
- Markup Languages (HTML)
- Styling Languages (CSS)
- Programming Languages (Python, Java)
Was macht eine Programming Languages?
-Stellen Funktionalitäten bereit´um die Logik von etwas zu sein, dass etwas bewirkt
Was sind Eigenschaften die Programming Languages differenzieren?
- Interpretiert vs Compiliert
- Runtime Speed (Wie schnell beim Ausführen?)
- Writetime Speed (Wie lange zum Schreiben?)
- Strongly Types vs Loosely Typed
- Type Conversion vs Coversion
- OOP vs Procederal Programming
- Inheritance, Intefaces, Objects vs Classes, Composition
- Code Reuse
Was ist wichtig bei der Wahl einer Sprache für ein Projekt?
- Dass die Programming Language den Anforderungen des Projektes entspricht
- Das man Sprachen agnostisch an die Auswahl herangeht
Was sind Beispiele für Sprachen die sehr schnelle Runtime Speed haben?
- Assembler
- C C++
- Java
- PHP
- Javascript
Was sind Sprachen die eine sehr schnelle Writetime Speed haben?
- Python
- PHP
Sollte man mit Vererbung/Inheritance ehr sparsam umgehen?
Ja, man sollte Vererbung nur an benötigten Stellen nutzen
-Ansonsten mit Interfaces und Coimposition arbeiten
Was ist Tight vs Loose Coupling von Objekten?
- Objekte sollten einzelne Komponenten sein
- Die Objekte sollten lose gekoppelt sein und sehr unabhängig voneinander arbeiten
Was sind gängige Web-Protokolle?
- HTTP
- FTP
- SMTP
- POP3
- TCP
- UDP
Was bedeutet HTTP?
-Hypertext Transfer Protocol
Ist das Web stateless?
Ja, es ist zustandslos und daher müssen Web Apps besonders entwickelt sein
Was sind Programatische Designpatterns?
- Wege Code zu strukturieren
- Devs können miteinander über Probleme und gute Architekturen reden
Was ist ein besonder wichtiges Design Pattern in Web Development?
-MVC (Model View Controller)
Was sind interessante Design Patterns?
- Filter Pattern / Decorator Pattern
- Dependency Injection
Warum ist es sinnvoll am Anfang eines Projektes Naming Conventions zu erstellen?
- Alle Variablen nach dem gleichen Schema bennen
- Variablen und DB mit dem Generellen und dann dem Spezifischen aufgaben z.B: name_first, name_last
- Klassenattribute z.B. einer Person person_age, person_weight.
- Macht Variablen intuitiv, besser lesbar und nachvollziehbar