Mailinglisten-Archive |
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