phpbar.de logo

Mailinglisten-Archive

[php] OT: PHP.NET-Compiler?

[php] OT: PHP.NET-Compiler?

Jörg Krause php_(at)_phpcenter.de
Tue, 19 Feb 2002 09:02:22 +0100


Hi,

zum Thema, aber ohne Bezug auf eine konkrete Mail des Threads.

TECHNISCH:
Um zuerst zum Kern der Sache zu kommen: Bei .Net steht das Framework
im Voerdergrund, nicht die Sprache. Die Abstraktion wird erreicht,
indem alle Sachen, die Inkompatibilitäten erzeugen könnten, ins
Framework ausgelagert sind. Stichwort: CTS Common Type System. Alle
Datentypen werden aus den entsprechenden Klassen geholt, und nicht
aus der Sprache. So enthalten die Sprachen keine Stringfunktionen
(wie PHP), sondern es gibt Klassen, die Stringmethoden zur Verfügung
stellen. Deshalb werden C#, VB unc C++ in denselben Bytecode
kompiliert. Diese Sprachen "erzeugen" IL (Intermediate Language),
werden deshalb "Producer" genannt.

Von Daniel Beulshausen gibt es eine Extension zu PHP 4, die die
Nutzung des Frameworks erlaubt. PHP ist hier "Consumer". Damit kann
man die Klassen nutzen, aber kein IL erzeugen. Das scheitert nach
seiner Aussage an den Unzulänglichkeiten von Zend 1.0 - vor allem
die praktisch inexistente Objektunterstützung weigert sich, mit einer
völlig objektorientierten Welt zusammenzuarbeiten. Zend 2.0 verspricht,
hier genug Support zu liefern, um PHP auch als Producer zu erlauben.

POLITISCH:
Wenn PHP aber Producer wird und wie MS das gerne sieht alle Welt das
Framework nutzt, muss man sich fragen, was von PHP übrig bleibt. Denn
wie oben geschrieben ist der eigentliche Knüller das Framework. Ich
lerne nur noch eine Lib kennen und kann damit alles machen. PHP leidet
IMHO auch sehr unter dem Bibliotheken-Wildwuchs, wo jeder Depp sein
C-Kram reinkompiliert. Nur mir nützt das nix - meine Kunden haben ihre
Sites bei Puretec und Schlund oder so und da sind die Libs nicht da.
Außerdem sieht keiner mehr durch, bei über 2000 Funktionen. .Net ist
da genau der richtige Ansatz - eine zentrale Klassenbibliothek, auf
allen Servern vorhanden (von MS natürlich).
Der Knackpunkt ist: Wenn man PHP auf das runterstrippt, was den reinen
Sprachkern ausmacht, ist es eine kleine, schlappe Klammersprache, die
nicht wirklich Konkurrenzfähig ist, denn es ist nur als Skriptsprache
entworfen worden. IMHO ist PHP als .Net-Producer nicht attraktiv genug,
um den Aufwand zu rechtfertigen. Irgendeiner wird es sicher machen,
aber es wird keine wirkliche Bedeutung haben.

Warum wird .Net erfolgreich sein? Man muss ein bisschen den Kontext
betrachten. Ich programmiere seit 15 Jahren, kenne ein halbes Dutzend
Sprachen sehr gut und habe von kleinsten bis riesigen Kundenprojekten
alles gesehen. Ich habe auch seit dem ZX 81 so ziemlich jede Entwicklung
mitgemacht. Vor ein paar Tagen war ich auf der XML in Action/.Net in Depth,
eine kleine Entwicklershow von MS. Dort sind auch viele Hintergrundinfos
zur Produktphilosophie gezeigt worden - so eine Art Schnellgehirnwäsche
für Softwareentwickler.
Meine Erkentnis - und das ist wirklich ehrlich und entspricht meiner
Erfahrung: Mit diesem System kann ich meinen Entwicklungsaufwand drastisch
reduzieren. Es ist ein Traum für Entwickler, die professionell arbeiten
und die Kohle machen wollen. Das wurde dort auch klar gesagt: Komm zu MS,
wir machen Kohle und wir zeigen euch, wie ihr das auch machen könnt.
Klingt für mich überzeugend.
Open Source wird dem immer hinterhecheln, auch das wurde klar gesagt:
Wörtlich meinte ein Manager: Wir werden ein solches Tempo vorlegen, dass
der Rest der Welt (wer wohl, sagte er nicht), Probleme hat Schritt zu
halten. Ich weiß, das jetzt wieder x Beispiele toller Projekte kommen,
spart euch das, ich kenne alle.
Die wirklich guten Leute werden früher oder später merken, dass ein sehr
gut bezahlter Job auch Spaß machen kann. Die sind im OpenSource-Bereich
aber rar.

Noch etwas: Entwicklungswerkzeuge. .Net steht und fällt mit Visual Studio.
Zwischen allem, was ich bisher kannte und VS.Net liegen Welten. Ich habe
jetzt ein gutes halbes Jahr Erfahrung damit und es ist wirklich das
perfekte Werkzeug. Es macht einfach Spaß, damit zu arbeiten und deshalb
wird es verwendet werden. Und da bei MS ohne MSDN-Abo garnichts geht, hat
es jeder Abonnent auf der Platte. Wer glaubt, bessere Werkzeuge zu kennen,
sollte sich nur äußern, wenn er VS.Net sehr gut kennt.

Zum Schluss: Für PHPler. Wer sich was angucken will, sollte nicht mit C#
anfangen, sondern sich ASP.NET anschauen. Das ist ein Teil der auch in
Mono breits enthalten ist.

Jörg Krause
www.php.comzept.de


php::bar PHP Wiki   -   Listenarchive