phpbar.de logo

Mailinglisten-Archive

[php] OT: PHP.NET-Compiler?

[php] OT: PHP.NET-Compiler?

Arash Yalpani php_(at)_phpcenter.de
Sun, 17 Feb 2002 19:05:38 +0100


Hallo Markus,

> das Runtime Enviroment und der JIT Compiler. Weite Teile des .NET-
> Frameworks fallen nicht darunter, wie z.B. die Klassenbibliotheken für
> die Programmierung grafischer Benutzeroberflächen unter Windows.

Falls es das noch nicht für .NET gibt, bin ich sicher, dass es bald kommt:
Swing.NET als Bibliothek (und OpenSource).  Das ist IMHO das geringste
Problem. Die bisher existenten Bibliotheken, die Du ansprichst sind ja
nunmal sowieso Plattformabhängig und machen nur unter Windows sinn.

> plattformunabhängig - sämtliche Extensions, wie z.B. die für MySQL-
> Anbindung, PHP-GTK, DOMXML, MCrypt usw.usw. sind jedoch nur unter
> Windows zu haben. Tolle Vorstellung? Ja, da kann man doll viel mit
> anfangen...

So, wie ich das verstanden habe ist ADO.NET nicht bei der EMCA
standardisiert. Aber ich sollte doch im Prinzip auch über ODBC auf MySQL
zugreifen können, oder!?

XML-Bibliotheken etc. sind im .NET-Framework auch schon drin (In der CLI
definiert, also standardisiert:
http://msdn.microsoft.com/net/ecma/whole.asp, es wird auch bereits an der
OS-Variante gearbeitet bzw. es ist bereits implementiert:
http://www.go-mono.com/class-status/System.Xml.html).

Ausserdem bin ich ziemlich sicher, dass es genügend Leute in der
OpenSource-Gemeinde geben wird, die entsprechende Bibliotheken entwickeln.
Bei meinem stöbern im Netz hatte ich das Gefühl, dass sich weite Teile davon
in einem Wettstreit mit MS befinden, um .NET so schnell wie möglich auch auf
Unix-System anbieten zu können.

> Du vergleichst Äpfel mit Birnen. PHP ist eine plattformunabhängige
> Skriptsprache, die auf die schnelle und unkomplizierte Erstellung von
> browserbasierten Anwendungen spezialisiert ist (das man damit auch
> anderes tun kann, ist eher eine Nebenerscheinung).
>
> C# hingegen ist eine "vollwertige" All-Purpose-Sprache, mit all dem
> Overhead, den eine solche mit sich bringt. Man kann damit zwar _auch_
> Webanwendungen schreiben (per ASP.NET), diese laufen dann aber auch
> _nur_ auf Windows-Plattformen, die man nicht wirklich ernsthaft als
> Webserver an´s Internet klemmen will (Stichwort: Sicherheitsprobleme).
> Im Intranet mag´s ja okay sein...
> Der Entwicklungsaufwand für eine Webanwendung ist mit einer All-
> Purpose-Sprache natürlich auch potentiell höher als mit einer
> hochspezialisierten Skriptsprache.

Was den Entwicklungsaufwand angeht habe ich folgende Erfahrung gemacht: Klar
kann man sich mit PHP "mal schnell" was zusammenschustern. Wirklich sinnvoll
nutzen kann man es jedoch nur, wenn man wirklich _programmiert_. Und dazu
gehört Objektorientierung. Und für mich gehört dazu auch eine strenge
Typisierung von Variablen. Das ist der Punkt, der mich momentan frustet und
weswegen ich schon länger mit der Idee gespielt habe auf Java umzusteigen.

Das als C# "vollwertige Sprache" zuviel Overhead erzeugt sehe ich nicht.
Sonst hätten auch Java-Applicationserver keine Daseinsberechtigung, da Java
ähnlich beschaffen ist wie C#. Und auf ASP.NET kann ich getrost verzichten.
Kompilierte C#-Programme können als CGI ebenso über URL aufgerufen werden.
Seit ich mit Templateklassen arbeite steht meine gesamte Programmlogik
sowieso in Klassen. Und wenn ich, wie Du erwähntest, über PHP auf
.NET-Klassen zugreifen kann, dann habe ich sowieso kein Problem mehr, oder?
Also: kein ASP <=> keine Zwang MS-Server zu nutzen. Geht auch alles
hervorragend mit einem Apache :-)

> Thema Mono: Ich glaube, bis sich aus diesem Projekt etwas wirklich
> brauchbares entwickelt, wird noch eine ganze Weile vergehen - bis
> dahin gibt es vermutlich schon .NET v2.0 oder so ähnlich.
> Und ob es dann wirklich kompatibel ist, bezweifle ich doch auch sehr
> stark. Wer sowas will, sollte sich lieber hier und heute mit Java
> beschäftigen.

Das kann ich nicht beurteilen, wie lange es dauert. Das etwas vernünftiges
bei rumkommt denke ich aber schon. Und wenn es noch ein Jahr dauert... aber
so langfristig denke ich momentan schon.

> Auf jeden Fall gibt es bereits eine PHP.NET-Extension, mit der man
> unter Windows in der Lage ist, .NET-Komponenten anzusprechen (ähnlich
> wie bei den entsprechenden Extensions für COM und Java).

Klingt doch schonmal ganz gut :-) Habe die dotnet-extension allerdings
bisher nur für Windows gefunden. Weist Du, ob auch eine für Linux existiert?

Insgesamt sehe ich die laufende .NET-Portierung auf Linux wohl
optimistischer als Du... Und bei PHP stosse ich mittlerweile Grenzen. Und da
ich deutlich komplexere Anwendungen als noch vor zwei Jahren entwickle werde
ich auf kurz oder lang umsteigen müssen.

Danke für Dein Feedback und ein schönes Wochenende noch,
Arash

P.S.: Hier ist übrigens der Heise-Artikel: http://www.heise.de/ct/02/04/086/


php::bar PHP Wiki   -   Listenarchive