Nichts auf dieser Welt berührt die Herzen von Programmierern mehr als Programmierwerkzeuge. VC, DELPHI, JAVA ... diese schillernden Namen beschäftigen nicht nur das Leben von Programmierern, sondern scheinen auch zu einer Art Glauben geworden zu sein. Mit Beginn des neuen Jahrhunderts standen diese Überzeugungen jedoch erneut vor großen Herausforderungen. Microsoft, der Löwe, der von den Richtern und Hackern erschöpft und verärgert war, schwor, die Krone auf dem Kopf zu behalten, versuchte sein Bestes und entwickelte seine spezielle Skill-.NET-Strategie. Als Kernentwicklungssprache von .NET tauchte natürlich C# auf. Programmierer müssen eine schmerzhafte Entscheidung treffen: Wem sollen sie folgen? Um die Antwort herauszufinden, müssen wir einige Vergleiche und Vorhersagen anstellen.
Wenn man alle nichttechnischen Faktoren außer Acht lässt, ist C# zweifellos die beste Programmiersprache, die jemals auf diesem Planeten entwickelt wurde. Sie enthält fast alle neuesten Ergebnisse der Softwareentwicklung und Software-Engineering-Forschung. Objektorientiert, Typ, Komponententechnologie, automatische Speicherverwaltung, plattformübergreifende Ausnahmebehandlung, Versionskontrolle, Codesicherheitsverwaltung ... Sie können alle diese Funktionen nicht in einer anderen Sprache finden. Obwohl viele Leute bemerkt haben, dass die Leute bei der Aufzählung der oben genannten Funktionen immer an JAVA denken, aber C# geht noch weiter. Die Realität ist jedoch, dass nichttechnische Faktoren oft die Zukunft eines Produkts bestimmen. Insbesondere in der Geschichte der Computersoftware wurden technisch herausragende Produkte wie OS/2, Mac OS, UNIX usw. von der Schönheit besiegt von Windows. Unter der Wange. Aber dieses Mal scheint sich Microsofts Rolle vom bloßen Revolutionär zum schikanierenden alten Vermieter gewandelt zu haben. Wenn sich die Dinge wirklich ändern würden, würde dieses C#-Kind dann nicht mit dem falschen Kind geboren werden? Vielleicht ist die Situation nicht so schlimm, schließlich ist ein mageres Kamel größer als ein Pferd, und C# wurde einer Standardisierungsorganisation vorgelegt. Sobald es ein internationaler Standard wird, ist nicht abzusehen, ob es einen juckenden Helden gibt (vielleicht Microsoft selbst). werde es auf andere Plattformen übertragen. In diesem Fall wäre JAVA in Schwierigkeiten. Da die Benutzer von JAVA hauptsächlich Entwickler von Netzwerkdiensten und Entwicklern eingebetteter Gerätesoftware sind, kommt C# nicht ins Spiel. In Bezug auf Netzwerkdienste sind es die Just-in-Time-Kompilierungs- und lokalen Code-Cache-Lösungen von C# Leistungsstärker als die virtuelle JAVA-Maschine. Hat absolute Leistungsvorteile. Darüber hinaus können Softwareentwickler, sobald C# wie C++ ein öffentlicher Standard wird, die JAVA-Lizenzgebühr sparen und müssen sich keine Sorgen mehr machen, ein Sklave von Microsoft zu werden Das gleiche Problem. Welche Meinungen. Das könnte genau das sein, wonach Microsoft sucht.
Wenn man den Wettbewerb zwischen C# und JAVA im Bereich der Netzwerkdienste mit dem Wettbewerb um die Lufthoheit in der Zukunft vergleicht, dann wird der Wettbewerb zwischen C# und traditionellen Allzweck-Schnellentwicklungstools – VB, DELPHI usw. – ein Out- sein. und ausdauernder Nahkampf. Der vielleicht schlechteste Programmierer ist der VB-Programmierer. Bei Microsoft ist VB wie Clinton, der nicht nur seinen ganzen Ruhm verloren hat, sondern auch in Schwierigkeiten ist. Denken Sie darüber nach: In VB6 geschriebene Projekte müssen mit einem Konvertierungstool in .NET-basierten Code konvertiert werden, bevor sie in VB7 übertragen werden können, was fast nicht wiederzuerkennen ist. Da VB7 der Common Language Specification (CLS) folgt, die für .NET entwickelt wurde, wurden fast alle Funktionen hinzugefügt, die ursprünglich nur in C++, JAVA und anderen Sprachen verfügbar waren, aber die Syntax ist mit dem Original kompatibel. Wenn Sie zum ersten Mal den konvertierten Code Ihres alten VB6-Projekts in VB7 sehen, seien Sie vorsichtig mit Ihrem Herzen! Machen Sie es also und erzählen Sie mir nicht, dass Sie in den Ruhestand gehen. Die Situation von DELPHI ist nicht viel besser. Die ursprüngliche Spezialfähigkeit besteht darin, Anwendungen schnell und gut zu erstellen, aber jetzt schauen Sie sich die neueste VS.NET Beta 1 an, Sie werden sich so vertraut fühlen, mit zahlreichen Eigenschaftenlisten, Komponenten ... Wer macht Bist du arm? Selbst der Chefdesigner kann dich nicht unterstützen.
Tatsächlich ist C++ seit vielen Jahren der eigentliche Herrscher unter den Programmiersprachen. Alle Betriebssysteme und die meisten kommerziellen Softwareprogramme verwenden C++ als Hauptentwicklungssprache. Die überwiegende Mehrheit der JAVA-Programmierer sind auch C++-Enthusiasten, und der Erfolg von PHP ist auch auf die ähnliche Syntax wie bei C++ zurückzuführen. In den Bereichen Betriebssysteme, Gerätetreiber, Videospiele etc. wird C++ noch lange Zeit eine dominierende Stellung einnehmen und bei der Entwicklung der meisten Anwendungssoftware dürfte C# C++ ablösen. Erstens kopiert C# wie JAVA einfach einen Teil der Syntax von C++. Daher ist es für viele C++-Programmierer leicht zu erlernen und für Anfänger einfacher. Zweitens ist Windows derzeit die Monopolplattform, und bei der Entwicklung von Windows-Anwendungen darf die Stimme von Microsoft natürlich nicht ignoriert werden. Das Wichtigste ist, dass die Verwendung von C# zur Entwicklung von Anwendungssoftware im Vergleich zu C++ den Entwicklungszyklus erheblich verkürzen kann und gleichzeitig der ursprüngliche C++-Code mit Ausnahme des Benutzeroberflächencodes verwendet werden kann.
Allerdings hat C# auch Schwächen. Erstens können C#-Programme noch nicht auf einer Vielzahl bestehender Windows-Plattformen laufen, da C#-Programme die .NET-Laufzeitbibliothek als Basis benötigen und die .NET-Laufzeitbibliothek als Teil der neuen Windows-Generation (Whistler) veröffentlicht wird ) oder als Service Pack an Benutzer von Windows Me und Windows 2000 geliefert wird. Daher wird C# in naher Zukunft hauptsächlich auf dem Server zum Einsatz kommen. Zweitens gibt es nur wenige Komponenten oder Bibliotheken, die von C# verwendet werden können, wie z. B. die .NET-Laufzeitbibliothek, und es sind keine umfangreichen Softwarebibliotheken von Drittanbietern verfügbar. Dies erfordert einen Prozess und die Unterstützung verschiedener Softwareentwickler auch sehr wichtig. Drittens werden einige der Erfolgsfaktoren von JAVA vom Anti-Microsoft-Lager angepriesen. Obwohl „Write Once, Run Anywhere“ nur ein Slogan ist, handelt es sich doch bereits um eine ausgereifte Technologie. Der einzige Befürworter von C# ist derzeit Microsoft, das einen schlechten Ruf hat und nur unter Windows lauffähig ist. Tatsächlich sind diese beiden Sprachen nicht unersetzlich. Für Softwareentwickler ist das beste Werkzeug, mit dem sie am besten vertraut sind. Insbesondere für C++-Anwender bringt C# nichts Neues, da die .NET-Laufzeitbibliothek auch in C++ genutzt werden kann und es keinen zwingenden Grund für einen Wechsel gibt.
Zusammenfassend glaube ich persönlich, dass C# in den letzten Jahren unweigerlich aufsteigen und zum Protagonisten auf der Windows-Plattform werden wird, während JAVA zum dominierenden Player auf UNIX, Linux und anderen Plattformen werden wird und C++ weiterhin seine Muskeln spielen lassen wird Bereich Systemsoftware. Sehr interessant ist, dass die Syntax dieser Sprachen sehr ähnlich ist, da sowohl JAVA als auch C# aus C++ entwickelt wurden. Andere Entwicklungstools werden ihre Reise natürlich noch lange fortsetzen, aber unweigerlich Einbußen bei den Marktanteilen hinnehmen müssen.