Warum C# und nicht VB.NET?

Fast kommt es einem so vor, als hätte da jemand bei der Entwicklung von C# ganz gewaltig nach Java geschielt.
Was aber nun nicht wirklich was Neues ist. Ziel von C# war/ist es, die Vorteile der diversen Programmiersprachen in einer zu vereinigen. Dass es dabei zu Ähnlichkeiten kommt, bleibt dabei wohl nicht aus oder?;-]
Also wenn du ohnehin momentan dich umorientierst, dann schau dir mal Java an.
All die vorurteile von wegen Geschwindigkeit treffen bei aktuellen JDK und aktueller Hardware nicht mehr zu. Und das Java Framework an sich scheint mir an Umfang dem .NET in nichts nachzustehen.
Aktuelle Hardware als Verbesserung einer Software anzusehen, ist aber sehr naiv. Natürlich läuft ein Programm auf nem Quadcore schneller als auf nem P4. Und das Java schneller geworden ist, kann ich nicht wirklich behaupten. Die Java-Anwendungen, die ich nutze sind mir immer noch zu langsam.

PS: Ich möchte mit der Aussage jetzt hier keinen Glaubenskrieg beginnen
 
Zuerst einmal: Die Sprache selbst ist das unwichtigste überhaupt. Wichtig sind die einzelnen Paradigmen und die Möglichkeiten, die eine Sprache bietet. Grundsätzlich ermöglichen alle Sprachen, denen das .NET Framework zu Grunde liegt, die gleichen Lösungen. Einzig allein unterschiedlich durch ihre Syntax und sonstigen sprachspezifischen Eigenheiten (zum Beispiel dieses verdammt blöde On Option Strict von VB.NET).

Unabhängig dessen:
Die aktuelle Version von .NET ist wohl nicht die 5. Version. Aktuell sind wir bei Version 3, welches die 4. Version darstellt (1.0, 1.1, 2.0, 3.0). Die 3.5 ist noch nicht veröffentlicht.

Was den Umstieg auf Visual C++ betrifft: Visual C++ bringt mich auf den Gedanken, dass du hier native C++ meinst, also nicht basierend auf das .NET Framework. Ergo bringt dich C# zwar näher an die Syntax, aber das war es dann auch schon wieder.

Empfehlung: Programmiere in der Sprache, mit der du dich auch wohl fühlst. Eventuell von Vorteil wäre aber C#, da hierfür die meisten Beispiele zu finden sind, da es die Referenzsprache von .NET ist und von vielen bevorzugt wird, da es sich großteils an die C++ Notation hält.
 
Keine Angst einen Glaubenskrieg will ich hier auch nicht vom Zaun Brechen.

Und Grundsätzlich gebe ich da dem Posting von weiter unten recht in dem Steht :"Programmiere in der Sprache in der du dich Wohlfühlst".

Bezüglich der ähnlichkeiten zwischen C# und Java: Ich meine mich erinneren zu können das es vor ein paar Jahren mal ziemlichen Zoff zwischen Sun und Microsoft gegeben hat, weil Microsoft Java gerne nach eigenen Vorstellungen verbogen hätte. Ich meine auch das dieses "verbiegen" gerichtlich untersagt wurde (bitte korrigiert mich falls ich das jetzt falsch wiedergebe, oder missverstanden habe).
Wenn ich mir nun C# und Java so angucke dann kommt mir C# halt bei weitem nicht mehr so innovativ vor wie es mir einstmals erschien. Irgendwie hinterlässt das den bitteren Nachgeschmack des 'abschreibens'. ;)

Ok die veränderten Hardware Bedingungen als Pro Feature einer Programmiersprache anzupreisen war wohl wirklich etwas ungeschickt Formuliert meinerseits, allerdings zieht (nicht nur) Java durchaus seine vorteile daraus.

Gruß

eyeBob.
 
Soweit ich mich erinnern kann, ging es damals lediglich um die Virtual Machine, da Microsoft an der Stelle eine eigene JVM hatte und diese dann eingestellt hat. Aber so genau weiß ich das nun auch nicht mehr.

Was Java, abschreiben etc. betrifft:
Abgeschrieben wurde an dieser Stelle wohl eher nicht. Vielmehr hat Anders Hejlsberg und sein Team versucht, Vorteile aus mehreren Sprachen in einer Sprache zu vereinigen. Daher auch große Ähnlichkeiten zu Java.
Auf der anderen Seite muss man allerdings erwähnen, dass vor allem in Java 5 viele Neuerungen enthalten sind, die aus C# übernommen wurden (generische Datentypen, Enumerations, etc.). Ich würde an dieser Stelle also eher behaupten: "die eine Hand wäscht die andere".

Um noch einmal zu VB.NET zu kommen: VB.NET ist ja großteils an VB6 angelehnt und sollte daher eigentlich VB6-Entwicklern den Umstieg auf .NET erleichtern. Vielmehr stand jedoch das Thema objektorientierte Programmierung hauptsächlich als Holperstein im Weg und viele die wirklich umsteigen wollten, griffen dann doch eher zu C#. Dies hatte natürlich auch den Grund, dass VB aufgrund seiner Syntax und seiner sehr großzügigen Art in bestimmten Bereichen generell sehr unbeliebt war/ist.

Was die Performance von .NET und Java betrifft: Hier gibt es unterschiedlichste Statistiken, die jeder in seine gewünschte Richtung verfälscht hat. Daher ist es durchaus schwer, eine generelle Aussage zu treffen. Jede dieser Plattformen hat seine Vor- als auch Nachteile.

Ad "vermissen von Features": Vergleiche hier einfach Windows Forms, WPF mit Swing und Co. Und ACHTUNG: Ich spreche hier von der Basis-Plattform und nicht von irgendwelchen 3rd-Party Frameworks die zur Verfügung stehen. In der Basisaustattung sieht es bei Java sehr schlecht aus. Vor allem was die "Benutzerfreundlichkeit" in diesem Bereich betrifft. Was an dieser Stelle von Haus aus Lieferumfang des .NET Frameworks ist, muss man sich bei Java recht mühsam zusammensuchen und zusammen-evaluieren.
 
Ich würde an dieser Stelle also eher behaupten: "die eine Hand wäscht die andere".

Da hast du vermutlich vollkommen Recht. Denn Sun hat mit Sicherheit gemerkt dass .NET nicht un-Populär ist ;)

Was die Performance von .NET und Java betrifft: Hier gibt es unterschiedlichste Statistiken, die jeder in seine gewünschte Richtung verfälscht hat. Daher ist es durchaus schwer, eine generelle Aussage zu treffen. Jede dieser Plattformen hat seine Vor- als auch Nachteile.
»Ich traue keiner Statistik, die ich nicht selbst gefälscht habe.« Winston Churchill (1874-1965)

Ad "vermissen von Features": Vergleiche hier einfach Windows Forms, WPF mit Swing und Co. Und ACHTUNG: Ich spreche hier von der Basis-Plattform und nicht von irgendwelchen 3rd-Party Frameworks die zur Verfügung stehen. In der Basisaustattung sieht es bei Java sehr schlecht aus. Vor allem was die "Benutzerfreundlichkeit" in diesem Bereich betrifft. Was an dieser Stelle von Haus aus Lieferumfang des .NET Frameworks ist, muss man sich bei Java recht mühsam zusammensuchen und zusammen-evaluieren.
Ich falle am ehesten unter die Bezeichnung "Hobby Krautler", aber wenn ich so recht überlege... ja da gibt es bei Swing schon ein paar Sachen die nicht so elegant gelöst sind, Stichwort Hyperlinks als Label und auch die Tastatur shortcuts für Menus und Button sind nicht ganz soo elegant wie in Windows Forms. Wenn man weiter gräbt findet sicherlich noch das eine oder andere Detail.
 

Neue Beiträge

Zurück