C# Portierung der PHP prozedural auf C#, Einschätzung

roker002

Commander
Registriert
Dez. 2007
Beiträge
2.103
Frage: Würde es schnell gehen, eine Webseite auf ASP.NET C# anzupassen (PHP=>ASP.NET)?

Hab den Projektleider überzeugt, dass man statt prozedurale Aufrufe ehe auf Class setzen soll (Vererbung & Co. wäre absolut notwenig). Ich habe einfach das Problem, dass man für jede neue angelegte Seite Copy/Paste machen muss, für homogenen Code. Finde Copy/Paste ist das übelste was man machen kann, da man später zu viel Zeit für das Testen verbrät.

Meine Frage bezieht sich auf den Aufwand der Umschreibung. Bin eigentlich Win Client Programmierer und kenne mich mit C# sehr gut aus. Habe aber nie wirklich mit ASP.NET C# programmiert. Würde gerne aber die Webseiten auf C# anstatt auf PHP setzen, da ich eine Typensicherer Sprache besser finde anstatt eines popligen PHP all you can write Typen. PHP Classen kann ich auch schreiben...

Es wird eh ein Win 2008 Server genutzt. Wieso sollte man die Features nicht verwenden? Dann kann man auch mit C# die Seiten auch debuggen, anstatt mit PHP immer den Code auszuprinten.
 
Du kannst dir die Frage selbst beantworten: Wie lange braucht man, um das ganze Projekt neu zu programmieren?

Eine ganze Software neu zu entwickeln, weil einem Entwickler C# besser als "popeliges PHP" gefällt, ist echt Wahnsinn! Und noch wahnsinniger wird es, wenn man es in PHP entwickelt hat, weil die größte Kompetenz der Firma in PHP steckt und nicht in dem hippen C#, welches sich ein Entwickler wünscht ...
 
In PHP kannst du auch vererben und so mir nichts dir nichts kannst du nicht PHP auf ASP.Net umsetzen. Debugger gibts zudem auch reichlich für PHP, man muss nur danach suchen.
 
roker002 schrieb:
Frage: Würde es schnell gehen, eine Webseite auf ASP.NET C# anzupassen (PHP=>ASP.NET)?

Hab den Projektleider überzeugt, dass man statt prozedurale Aufrufe ehe auf Class setzen soll (Vererbung & Co. wäre absolut notwenig). Ich habe einfach das Problem, dass man für jede neue angelegte Seite Copy/Paste machen muss, für homogenen Code. Finde Copy/Paste ist das übelste was man machen kann, da man später zu viel Zeit für das Testen verbrät.

PHP kennt möglicherweise mittlerweile generische Klassen. Kann ich nicht beurteilen. Hast du dich danach schonmal umgeschaut?

Meine Frage bezieht sich auf den Aufwand der Umschreibung. Bin eigentlich Win Client Programmierer und kenne mich mit C# sehr gut aus. Habe aber nie wirklich mit ASP.NET C# programmiert. Würde gerne aber die Webseiten auf C# anstatt auf PHP setzen, da ich eine Typensicherer Sprache besser finde anstatt eines popligen PHP all you can write Typen. PHP Classen kann ich auch schreiben...

Der Aufwand ist mitunter Exorbitant. Hatte 2000 - 2002 das Mißvergnügen in ein Projekt involviert zu sein in dem eine recht komplexe hauseigene Verteilte Intranetlösung zunächst von PHP3 auf PHP4 gehoben wurde, und als man sah das dies auch nicht der Bringer ist schließlich auf JSP umgestellt wurde. Die erste Umstellung von PHP3 auf 4 war dem Goodwill gegenüber der PHP Fraktion im Hause geschuldet, die hat man dann solang werkeln lassen bis sie es selbst eingesehen hatten das OO nicht die Stärke von PHP ist. Als es dann soweit war das alle bereit waren sich das einzugestehen hat man nochmal komplett von vorne angefangen und das dann auch genutzt die Sache von Grund auf aufzubohren, damit die ganze Trostlosigkeit wenigstens etwas Gutes abzugewinnen war. Fast ein Dutzend Leute 2,5 Jahre an Mannstunden, da sollte am Ende auch etwas dabei rumkommen außer Frust.

Für uns wäre damals der Schritt zu JSP gleich von Beginn an die richtige Entscheidung gewesen. Schon allein auch deswegen da keiner der ursprünglichen PHP Entwickler mehr greifbar war und somit auch die eigenen PHP Leute Neu im Projekt waren. Was für dein Problem richtig ist, mußt du aber selber wissen, das kann dir niemand sagen der nicht in dem Kode drin ist. Zu heutigem PHP kann ich nicht viel sagen, zu PHP3 Zeiten jedenfalls war OO kein Spaß, wir mußten die Objekte damals noch von Hand serialisieren um die Daten über die URL schaufeln zu können oder um sie in ein Sessionfile schreiben zu können, PEAR war ein Alptraum für uns, und selbst wenn das dann endlich klappt, stößt man trotzdem schnell an die Frustmauer. An Vererbung in PHP wollten wir da gar nicht erst denken.

Es wird eh ein Win 2008 Server genutzt. Wieso sollte man die Features nicht verwenden? Dann kann man auch mit C# die Seiten auch debuggen, anstatt mit PHP immer den Code auszuprinten.

Weil du vielleicht das Projekt auch irgendwann auf einem nicht MS Server portieren mußt, und C# ist nunmal nicht wirklich portabel, trotz freier Nachbauten. Du solltest niemals den Fehler machen das was du gerade gut kannst und das was ohnehin gerade an Gegebenheiten in der Infrastruktur da ist als Richtungsweisend für die Optimale Lösung zu sehen. Abstand nehmen, und schauen was es alles so gibt und sich auch Gedanken machen ob die jetzigen Rahmenbedingungen auch in 5 Jahren noch von Relevanz sind. Die Welt besteht nicht nur aus LAMP vs C# mit Winserver und MSSQL.
 
Wenn die wichtige Programmlogik sauber los gelöst ist vom Rest ist es zumindest Richtung ASP.Net MVC(3) nicht unmöglich es in angemessener Zeit zu schaffen. Aber letztlich hängt es vor allem von der Menge des aktuellen Codes ab.
 
Zurück
Oben