idw - Informationsdienst
Wissenschaft
Der Augsburger Informatiker Raphael Romeikat erhält Google-Auszeichnung für die Entwicklung eines Compilers
(RR/TN). Programmiersprachen können in der Softwareentwicklung gewöhnlich nicht einfach miteinander verknüpft werden. Wenn man nun in einer Anwendung zwei Programmiersprachen kombinieren möchte, dann müssen diese erst aufeinander abgestimmt werden. Dazu bedarf es einer Übersetzung. Nun hat sich der Informatiker Raphael Romeikat von der Universität Augsburg zum Ziel gesetzt, die Skriptsprache PHP für die die Open-Source-Plattform Mono verfügbar zu machen. Grundlage dafür ist seine von dem Suchmaschinen-Anbieter Google ausgezeichnete Diplomarbeit "Development of a PHP Compiler for Mono".
Anfang dieses Jahres schloss Raphael Romeikat an der Fakultät für Angewandte Informatik der Universität Augsburg seine Diplomarbeit ab, die von Google im Rahmen des Programms "Summer of Code" (1) ausgezeichnet wurde. Mit dieser Förderinitiative honoriert der Suchmaschinen-Anbieter ausgewählte Open-Source-Projekte aus aller Welt.
Romeikats Arbeit trägt den Titel "Development of a PHP Compiler for Mono" und wurde von Prof. Bernhard Bauer am Lehrstuhl Softwaretechnik und Programmiersprachen/Programmierung verteilter Systeme (2) in Zusammenarbeit mit der Linux Solutions Group (3) betreut. Nun entwickelt Romeikat seine Ergebnisse weiter in dem Open-Source-Projekt "PHP4Mono" (4 und 5).
PHP ist eine beliebte und weit verbreitete Skriptsprache, die besonders für Webentwicklung geeignet ist. In PHP geschriebene Skripte sind keine eigenständigen Anwendungen, sondern werden in HTML-Seiten eingebettet. Syntax und Semantik sind anderen etablierten Programmiersprachen wie "C" und "Perl" ähnlich, wodurch man PHP einsetzen kann, ohne sich lange einzuarbeiten. Seit kurzem sind auch moderne objektorientierte Konzepte Bestandteil des Sprachschatzes von PHP. Die wohl größte Stärke besteht darin, dass nicht nur PHP selbst frei und kostenlos verfügbar ist, sondern ebenso eine Flut von Bibliotheken und Erweiterungen, die den Zugriff auf Systemfunktionalität, Datenbanken und vieles mehr ermöglichen, ohne dass dafür eigene Programmierarbeit erforderlich ist. Eine aktuelle Umfrage belegt, dass PHP auf über 20 Millionen Domains weltweit eingesetzt wird und somit die beliebteste Skriptsprache im Internet darstellt.
Mono ist eine Open-Source-Implementierung des Microsoft ".NET Framework" (6). Im Gegensatz zum .NET Framework ist Mono allerdings nicht nur für das Betriebssystem Windows verfügbar, sondern auch für die anderen verbreiteten Betriebssysteme Linux, UNIX, MacOS und Solaris. Dass mit Mono entwickelte Bibliotheken somit plattformübergreifend eingesetzt werden können, ist nur ein großer Vorteil. Ein weiterer Pluspunkt gegenüber Microsofts Pendant besteht darin, dass Mono nicht nur die Programmiersprache C# unterstützt, sondern auch andere wichtige Sprachen wie Java, Python und einige mehr. Ein Entwickler kann somit je nach Problemstellung diejenige Sprache verwenden, die ihm am geeignetsten erscheint, und diese mit anderen Sprachen kombinieren. Die Möglichkeit, verschiedene Programmiersprachen zu bündeln und gemeinsam einzusetzen, macht Mono somit zu einer effektiven und effizienten Umgebung für Softwarearchitekten
In Romeikats neuem Projekt "PHP4Mono" geht es nun um die Entwicklung und Programmierung eines Compilers, eines Übersetzungsprogramms für Programmiersprachen. Ziel ist es, die beiden Welten PHP und Mono miteinander zu verbinden und die Stärken beider Seiten zu bündeln, indem PHP als weitere Sprache für Mono verfügbar gemacht wird.
Damit eine Sprache wie PHP von Mono unterstützt wird, ist ein Compiler erforderlich, der sie in eine Zwischensprache, die Common Intermediate Language (CIL) übersetzt. Dabei müssen die Sprachkonstrukte von PHP exakt mit den Möglichkeiten von CIL nachgebildet werden. CIL ist eine maschinennahe Sprache, basiert auf einer abstrakten Stackmaschine und war früher auch als Microsoft Intermediate Language (MSIL) bekannt. Auf Basis von CIL können die verschiedenen höherwertigen Sprachen kommunizieren und Informationen austauschen.
Das Übersetzungsprojekt steckt schon nicht mehr in den Kinderschuhen: Mittlerweile ist bereits die zweite Version des Compilers online verfügbar und verzeichnet zahlreiche Downloads. Das Projekt wird von SourceForge gehostet (7) und steht unter der GNU General Public License (8). Mehr Informationen, ein Tutorial und eine Auflistung der bereits realisierten und noch geplanten Features sind auf der Website von PHP4Mono (9) nachzulesen.
Mit der Sprache PHP auf der Plattform MONO ergeben sich für Anwender viele neue Möglichkeiten. Entwickler können PHP nicht mehr nur als Skriptsprache für Webseiten einsetzen, sondern ebenso als vollwertige Programmiersprache für die Entwicklung eigenständiger Anwendungen. Die wichtigen Sprachkonstrukte werden durch "PHP4Mono" bereits unterstützt und die noch bestehenden Lücken nach und nach geschlossen. Ein besonderer Vorteil besteht darin, andere mit Mono oder dem .NET Framework entwickelte Bibliotheken direkt aus PHP heraus ansprechen zu können. Auf diese Weise können beispielsweise grafische Oberflächen direkt in PHP programmiert werden.
________________________________________
INTERNET-VERWEISE:
(1) http://code.google.com/summerofcode.html
(2) http://www.informatik.uni-augsburg.de/lehrstuehle/swt/vs/
(3) http://www.lisog.org
(4) http://php4mono.sourceforge.net
(5) http://www.heise.de/newsticker/meldung/70530.
(6) http://msdn.microsoft.com/netframework/
(7) http://sourceforge.net/projects/php4mono
(8) http://de.wikipedia.org/wiki/GNU_General_Public_License
(9) http://php4mono.sourceforge.net
KONTAKT UND WEITERE INFORMATIONEN:
Dipl.-Inf. Raphael Romeikat
Lehrstuhl Softwaretechnik und Programmiersprachen
Fakultät für Angewandte Informatik
Universität Augsburg
86135 Augsburg
Telefon 0821/598-3103
romeikat@informatik.uni-augsburg.de
Raphael Romeikat
Foto: privat
None
Merkmale dieser Pressemitteilung:
Informationstechnik
überregional
Forschungsergebnisse, Personalia
Deutsch
Sie können Suchbegriffe mit und, oder und / oder nicht verknüpfen, z. B. Philo nicht logie.
Verknüpfungen können Sie mit Klammern voneinander trennen, z. B. (Philo nicht logie) oder (Psycho und logie).
Zusammenhängende Worte werden als Wortgruppe gesucht, wenn Sie sie in Anführungsstriche setzen, z. B. „Bundesrepublik Deutschland“.
Die Erweiterte Suche können Sie auch nutzen, ohne Suchbegriffe einzugeben. Sie orientiert sich dann an den Kriterien, die Sie ausgewählt haben (z. B. nach dem Land oder dem Sachgebiet).
Haben Sie in einer Kategorie kein Kriterium ausgewählt, wird die gesamte Kategorie durchsucht (z.B. alle Sachgebiete oder alle Länder).