Zitat von
Kuster Peter:
.Net ist für mich deshalb nie eine Wahl.
Idealismus in Ehren, aber die Programmierumgebung ist für uns Entwickler nicht mehr als ein Werkzeug. Manche Aufgaben lassen sich nunmal besser mit einem anderen Werkzeug lösen als andere. Klar kann man eine Kreutzschlitzschraube auch mit einem flachen Schraubendreher eindrehen - auch wenn dieser eigentlich etwas zu breit ist vorne. Man rutscht halt ab und zu ab und hat ein erhöhtes Verletzungsrisiko. Aber es geht. Nur ist ein Kreutzschlitzschraubendreher in der richtigen Größe bei dieser Aufgabe einfach effektiver.
Zitat von
Kuster Peter:
Ich bin erstaunt über die Vielfälltigkeit von Delphi und ich freue mich jeden Tag mehr davon zu lernen.
Delphi ist aber nicht vielfältiger als jede andere objektorientierte Sprache auch.
Zitat von
Kuster Peter:
Delphi hat zur Zeit einen neuen Aufschwung und ich wage die Prognose, dass in Zukunft Delphi und .Net die wichtigsten Sprachen für den PC sind.
Hui. Respekt. Und dann gleich noch auf PC und nicht auf Plattform eingeschränkt.
@PC vs. Windows: Du wirst auf absehbare Zeit mit Delphi keine Software erstellen können, die Einwandfrei auf Linux / Mac- und Windows-Rechnern läuft. Ergo: Streiche zuallererstmal PC, setze Windows-Plattform. Da ist reines .NET dank Mono portabler als reines Delphi.
Sorry, ich möchte Dich da jetzt nicht vollends Deiner Illusion berauben, aber ich wage mal zu behaupten, dass Java, C, C++ und sogar *pfui* VisualBasic ein wenig 'wichtiger' als Delphi sind. Zumindest mal wenn man sich grob anguckt, wie oft die Sprachen tatsächlich verwendet werden.
Quelle.
Dass Delphi im Bereich der
nativen Windows-Entwicklung von Business-Anwendungen (sprich: Datenbankzentrischen Applikationen) als 'ideales Werkzeug' meistens die Nase vorn hat liegt aber nicht daran, dass es so 'wichtig' wäre, sondern weil man sich hier wirklich auf die Logik konzentrieren kann und hinterher dank der Pascal-Wurzeln noch leicht verständlicher (= Wartbarer) Code herauskommt.
Wichtig ist für uns Entwickler letztlich a.) Wie erreichen wir unser Ziel am effektivsten; b.) welche Einschränkungen können wir dabei hinnehmen und c.) wie schaffen wir es, dass das Ergebnis weiterhin pflegbar / leicht wartbar ist.
Für c.) heisst die Antwort für mich ganz klar: Nutze eine Sprache, die auch neue Teammitglieder schnell verstehen können. Pascal ist da dank der Nähe zum englischen
imho ideal für. C-derivate und auch Java neigen eher zu kryptischem / schlecht lesbarem Code, was die Wartbarkeit unnötigerweise vermindert.
Für b.) Heisst die große Frage: Welche Plattformen werden anvisiert? Windows? Linux? Mac? Web? (für mich ist "Web" eine abstrakte Plattform, unabhängig von der Servertechnologie.). Kann man das auf Windows eingrenzen, ist man mit Delphi sicher gut bedient, wenn man C hinzuzieht. Soll das ganze aber hinterher z.B. auf Linux laufen, dann sollte man hier eine Wahl treffen, die einen nicht auf eine Plattform festlegt. Bleiben Java / .NET / andere interpretierte Sprachen zur Auswahl. Ich möchte denjenigen sehen, der hier auf PHP/Qt für eine Desktopanwendung greift, obwohl das auch möglich wäre...
Die Antwort auf die Frage a.) ist nicht unbedingt mit einer Programmiersprache zu beantworten. Die spielt nur dort rein, wo man selber sagt: Lieber mache ich das in Y, weil der eigene Lernaufwand für diese Aufgabenstellung in X mehr Zeit kosten würde als ich durch X spare und das ein solches Ausnahmeprojekt ist, dass es unwahrscheinlich ist, später nochmal X zu brauchen. Sonst würde sich es nämlich eher lohnen, doch X zu lernen und zu verwenden. Aber noch eher ist hier die Frage wichtig: Welches Framework liefert mir schon möglichst viel fertiges, getestetes, was ich einfach nur noch verwenden und nicht neu schreiben muss? Es gibt zig Java-Bibliotheken, es gibt genug .NET Komponenten und für die
VCL ist auch ungeheuer viel vorhanden. Inzwischen sogar für Webanwendungen. Durch diese Bausteine erspare ich mir großen Eigenaufwand und komme meinem Ziel in der Regel schneller näher.
Das heisst hier haben wir die freie Auswahl, sobald wir uns für eine Plattform / Sprache entschieden haben.
Also bleibt die Auswahl: Nativ Windows vs. Manged Code. Und dort dann Java vs. .NET. Da es kein Pascal für Java gibt, sehrwohl aber für .NET wäre das noch ein Hinweis in die richtige Richtung.
Langer Rede kurzer Sinn:
Eine Technologie nur wegen einer Antipathie zum Hersteller kategorisch abzulehnen ist einfach nur dumm. Genauso, eine
Programmiersprache anderen gegenüber als 'wichtiger' einzustufen. Das entbehrt jeglicher Grundlage, auch wenn es schön wäre, das Delphi neben .NET am wichtigsten wäre
Wir sollten uns alle möglichen Optionen angucken und vorbehaltlos gegeneinander abwägen. Als Entwickler sollten wir uns einen gut gefüllten Werkzeugkasten gönnen, aus dem wir dann bei Bedarf das richtige Werkzeug für die jeweilige Aufgabe rausholen können.