Über den Service
ÜbersetztIch schreibe Programme in der Oz-Sprache—der Multiparadigmen-Sprache des Mozart-Systems—und behandle Paradigmen als Werkzeuge, nicht als Doktrinen. Innerhalb eines einzigen Programms bewege ich mich frei zwischen funktionaler Berechnung, relationaler Logik, Constraint-Propagation und Datenfluss-Nebenläufigkeit und wähle das Modell, das einen bestimmten Teil der Aufgabe klar und korrekt macht. Dies ist eine andere Art der Entwicklung als die gewohnte imperative Programmierung, und es zahlt sich genau dort aus, wo gewöhnliche Ansätze Schwierigkeiten haben: bei Suchproblemen, Planung, Konfiguration, symbolischem Denken und Prototypen von Sprachideen.
Der Großteil meiner Arbeit besteht aus Constraint-Programmierung und Suche. Ich modelliere ein Problem mit Variablen aus endlichen Domänen, drücke Regeln durch Propagatoren aus und steuere den Solver mit meinen eigenen Verteilungs- und Verzweigungsstrategien, um riesige kombinatorische Räume handhabbar zu halten. In Oz ist Nebenläufigkeit in die Sprache integriert durch logische Variablen und Datenfluss-Synchronisation: das ermöglicht mir, saubere "Produzenten-Konsumenten"-Pipelines, Agenten und leichte Threads ohne die üblichen Probleme mit Sperren zu erstellen. Ich denke mit Zuversicht über Determinismus, gekapselte Suche und das subtile Zusammenspiel von Faulheit, Ports und Zellen nach, das Oz seine Ausdruckskraft verleiht.
Neben der Lösung von Problemen nutze ich Oz zur Unterstützung von Lehre und Forschung. Ich habe Studenten und Forschern geholfen, Ideen aus "Konzepten, Techniken und Modellen der Computerprogrammierung" zu verstehen, indem ich komplexe Konzepte von Zustand, Nebenläufigkeit und deklarativer Berechnung in ausführbare Beispiele mit detaillierten Kommentaren umgewandelt habe. Ich kann einen Algorithmus aus einem Papier nach Oz portieren, alternative Verteilungsstrategien nach Leistung vergleichen oder eine Mozart-Komponente einwickeln, um mit der Außenwelt zu kommunizieren. Wenn Sie eine Aufgabe haben, die nach Suche, Constraints oder eleganter Nebenläufigkeit "riecht", sage ich Ihnen ehrlich, ob Oz geeignet ist.
— Modellierung von endlichen Domänen und Constraints mit benutzerdefinierten Propagatoren
— Gekapselte und parallele Suche, Verteilungs- und Verzweigungsstrategien
— Datenfluss-Nebenläufigkeit, logische Variablen, Streams, Ports und Agenten
— Funktionale und relationale Programmierung in einem Codebasis
— Lernunterstützung für Multiparadigmen-Ideen im CTM-Geist
— Prototyping von Sprachfunktionen und symbolischer Berechnung in Mozart
Der Großteil meiner Arbeit besteht aus Constraint-Programmierung und Suche. Ich modelliere ein Problem mit Variablen aus endlichen Domänen, drücke Regeln durch Propagatoren aus und steuere den Solver mit meinen eigenen Verteilungs- und Verzweigungsstrategien, um riesige kombinatorische Räume handhabbar zu halten. In Oz ist Nebenläufigkeit in die Sprache integriert durch logische Variablen und Datenfluss-Synchronisation: das ermöglicht mir, saubere "Produzenten-Konsumenten"-Pipelines, Agenten und leichte Threads ohne die üblichen Probleme mit Sperren zu erstellen. Ich denke mit Zuversicht über Determinismus, gekapselte Suche und das subtile Zusammenspiel von Faulheit, Ports und Zellen nach, das Oz seine Ausdruckskraft verleiht.
Neben der Lösung von Problemen nutze ich Oz zur Unterstützung von Lehre und Forschung. Ich habe Studenten und Forschern geholfen, Ideen aus "Konzepten, Techniken und Modellen der Computerprogrammierung" zu verstehen, indem ich komplexe Konzepte von Zustand, Nebenläufigkeit und deklarativer Berechnung in ausführbare Beispiele mit detaillierten Kommentaren umgewandelt habe. Ich kann einen Algorithmus aus einem Papier nach Oz portieren, alternative Verteilungsstrategien nach Leistung vergleichen oder eine Mozart-Komponente einwickeln, um mit der Außenwelt zu kommunizieren. Wenn Sie eine Aufgabe haben, die nach Suche, Constraints oder eleganter Nebenläufigkeit "riecht", sage ich Ihnen ehrlich, ob Oz geeignet ist.
— Modellierung von endlichen Domänen und Constraints mit benutzerdefinierten Propagatoren
— Gekapselte und parallele Suche, Verteilungs- und Verzweigungsstrategien
— Datenfluss-Nebenläufigkeit, logische Variablen, Streams, Ports und Agenten
— Funktionale und relationale Programmierung in einem Codebasis
— Lernunterstützung für Multiparadigmen-Ideen im CTM-Geist
— Prototyping von Sprachfunktionen und symbolischer Berechnung in Mozart