Hi,
Ich programmiere Seite ~10 Jahren PHP, wird der Umstieg schwer?
Ein kleiner Blick in die Syntax weißt meiner Meinung nach viele Gemeinsamkeiten auf.
Wie bereits erwähnt, ist es nicht die Sprache sondern die Konzepte und die Frameworks die dahinter stecken. Jemand der C# kann, wird schnell auch Java beherrschen (oder anders rum), allerdings wird er nicht so einfach auch eine Webanwendung in Java schreiben können.
Bei PHP ist es relativ einfach nachzuvollziehen, was passiert. Die Seite wird einfach von oben nach unten abgearbeitet. echo macht eine Ausgabe von beliebigem Text. Fertig ist die Seite.
Man kommt also ganz gut mit HTML, CSS, PHP und JavaScript Kenntnissen aus.
Bei ASP.NET gibt es einen kompletten Page LifeCycle, es gibt einen Viewstate, es gibt Events, es gibt Controls und einen ControlState, es gibt einen ScriptManager, der ein eigenes Client Framework mitbringt, welches wiederum gut mit dem .NET Framework zusammenarbeitet.
Es gibt ein Konzept zur Lokalisierung, zur Authentifierzierung, zur Validierung, zu AJAX und einigen anderen Sachen.
Es gibt eine web.config Datei, wo man wissen muss, was man dort einträgt, damit die Anwendung läuft.
Das .NET Framework ist riesig, da muss man erst mal durchblicken.
Das ganze macht ASP.NET etwas schwerer zu begreifen und man kann nicht schnell mal was zusammenprogrammieren. Man muss z.B. lernen wofür einzelne Sachen gut sind und wie sie funktionieren (Viewstate), oder wie man eigene Controls schreibt, die dann auch mit dem ScriptManager zusammen arbeiten und ihre Scripte aus einer DLL auslesen und über einen HttpHandler ausgeben.
(Bei PHP würde man da wohl einfach nur ein echo "<script src='...'></script>"; schreiben)
Ist C# schneller als PHP?
vermutlich ja, da es kompiliert ist und nicht während der Laufzeit interpretiert wird.
Kann C# mehr?
vermutlich auch ja. Die Sprache an sich zeichnet sich eben durch ihre strenge Typisierung aus. Das .NET Framework ist wohl auch mächtiger als die Funktionen in PHP.
Angenommen ich schreibe ein großes Forum - PHP oder C#?
Solange es ein überschaubares Projekt ist, an dem nur 1-2 Leute dran arbeiten, dann reicht wohl PHP.
C# hat auch den Vorteil, dass es durch die Objektorientierung und Komponenten viel leichter wartbar ist (meiner Meinung nach), auch durch die gute Unterstützung des Visual Studio (mit Intellisense, Refactoring, ...). (Ich kenne keine vergleichbar gute Entwicklungsumgebung für PHP).
Gruß!