====== Principles of Programming Languages (Juli 2015) ====== **Fach:** Principles of Programming Languages **Prüfer:** Prof. Veldema ===== Fragen ===== * Was ist deine Lieblingssprache? * Hat man in Java polymorphe Methoden? * Gibt es Sprachen mit polymorphen Methoden? * Java: Type-Introspection - was ist das? * Java: Was sind Closures? * Java: Was ist ein RPC? Was ist der Unterschied zwischen lokalen und entfernten Aufruf (semantisch)? * Calling- Conventions - welche sind bekannt? * Was ist Lazy Evaluation? * Programmiere: Liste von allen geraden Zahlen (in List Comprehension) * Funktionale Sprache: Baue Funktion, die Liste umdreht (mit Pattern-Matching) * Länge einer Liste mit Pattern-Matching + das gleiche in Prolog * Cut-Operator - was ist das * Wie geht das Prologsystem vor? (Schrittweises durchgehen): Wenn jemand Reich ist, hat man ein Fahrrad Peter ist Reich Ronald ist auch Reich Wer hat ein Fahrrad? * Präprozessor, was passiert hier: define x ist 3 if x ist größer 2 x++ * Was sind Unions? * Was ist Operator-Overloading? * Was tut yield-Statement? * Wie funktioniert Postscript? * Javascript: was macht eval - statement? * Welche Wege gibt es Typäquivalenz zu beweisen? * Was ist Namens- und Strukturelleaquivalenz? Und was hat Java, was C, was ADA? * Was ist ein Typ-Construktor? * Java: Generics; C++ Templates - was sind die unterschiedlichen Semantiken? bzw wie funktionieren die beiden? * Java: Dependency Injection - was ist das? * Ich bau mir eine neue Programmiersprache - dazu schreibe ich Manual - welches Kapitel wird dieses Manual haben? * Neue Programmiersprache hat while-statement: - Nummerierter ListenpunktGrammatik dazu aufschreiben - Wie geht das als Attribute-Grammatik - Wie geht das als Operational und Axiomatic-Semantik