Heim  >  Artikel  >  Ist es notwendig, Java in die Go-Sprache zu konvertieren?

Ist es notwendig, Java in die Go-Sprache zu konvertieren?

Guanhui
GuanhuiOriginal
2020-06-04 15:34:577820Durchsuche

Ist es notwendig, Java in die Go-Sprache zu konvertieren?

Ist es notwendig, Java in die Go-Sprache zu konvertieren?

Sie können je nach Situation prüfen, ob ein Wechsel zur Go-Sprache erforderlich ist. Wenn Sie an der Go-Sprache interessiert sind und die Bedingungen dies zulassen, wird empfohlen, zur Go-Sprache zu wechseln Eine statisch stark typisierte, kompilierte Sprache, nicht nur Die Syntax ist einfacher als bei Java, die Leistung ist besser als bei Java und die Kompilierungsgeschwindigkeit ist schneller.

Go

In Bezug auf die Parallelität bieten die Goroutine- und Kanalmechanismen einen leichten und reibungslosen Parallelitätsmechanismus auf Sprachebene ist schwächer als Java (Leistung ist eine falsche Aussage), aber in Bezug auf den Speicherressourcenverbrauch hat es offensichtliche Vorteile gegenüber Java und anderen dynamischen Sprachen in Bezug auf die Syntax und verfügt in Bezug auf einige der dynamischen Sprachfunktionen von Python Objektinitialisierung, -konstruktion und -sequenzierung bietet eine äußerst präzise Ausdrucksweise in Bezug auf Transformation usw., und diese Verarbeitungscodes können 10 bis 50 % des Codes ausmachen, insbesondere für Verarbeitungsdaten, Konfigurations- und Protokollzuordnungsszenarien. Im Vergleich zu C, C++ und Java ist dieser Aspekt ungeschickt. Dies ist der Schlüssel, warum dynamische Sprachen so faszinierend sind.

Dies ist auch der Hauptgrund, warum die erste Version der Go-Sprache bei ihrer Veröffentlichung so viel Aufmerksamkeit erregte, insbesondere für dynamische Sprachen. Sie bietet Parallelitäts- und Leistungsvorteile, die dynamische Sprachen nicht haben, Pike Der Zweck des Entwurfs der Go-Sprache besteht darin, als Alternative zu C/C++ zu dienen (beachten Sie, dass sie kein Ersatz ist und ihr Entwurfsziel nicht darin besteht, sie zu ersetzen). Der Ingenieur sagte dies in seiner Rede „Road to Simplicity“ aus dem Jahr 2012. Goal ist voller Frustrationen, und hier ist ein Zitat: „Obwohl wir erwartet haben, dass C++-Programmierer Go als Alternative sehen würden, kommen die meisten Go-Programmierer aus Sprachen wie Python und.“ Ruby. Nur sehr wenige stammen aus C++.“ Der Kern des Werts von C++ ist: Die Sprache bietet umfassendere Abstraktion, Eleganz und flexible Funktionen, und diese Ausdrucksmöglichkeiten kosten keine Hardware. Das Designziel der C-Sprache ist, dass sie keine Hardwarekosten verursachen Der Anfang, aber die Sprachausdrucksfähigkeit wird durch C ++ gelöst, und die Denkrichtung von Go ist offensichtlich nicht Nullkosten, zumindest nicht Null-CPU-Kosten. Gos Vorschlag besteht eher darin, die Arbeitsbelastung des Programmierers zu minimieren.

Das eine ist das ultimative Streben nach kostenloser Hardware, und das andere besteht darin, die Arbeitsbelastung der Programmierer zu minimieren. Go kann nicht beide Ziele gleichzeitig erreichen wählt dynamische Syntax und gc ist dazu bestimmt, Entwicklungseffizienz zu wählen und Hardwareeffizienz für Entwicklungseffizienz zu opfern, also geht es in eine andere Richtung, nämlich die Anwendungsrichtung, in der Java gut ist, insbesondere die aktuellen Netzwerk- und HTTP-Anwendungen, die eine gute Standardbibliothek erfordern und Ökosystemunterstützung. In Bezug auf die Standardbibliothek bietet Go eine leichtere und hervorragende Codebibliothek für die Verarbeitung von TCP/http/xml/json/Verschlüsselung und Entschlüsselung usw. sowie Unterstützung für hohe Parallelität für http, das Kernprotokoll von Das Netzwerk wurde mit einem Sprungbrett zur Nutzung von Java ausgestattet.

Aber wir müssen uns mit seinen aktuellen Mängeln auseinandersetzen, was wichtige Sprachmerkmale und Genauigkeit betrifft, und es gibt immer noch viele Fehler oder vorübergehende Lösungen, die sich jedoch auch auf die Reife seiner Ökologie auswirken werden. Diese Probleme müssen in der neuen Version noch gelöst werden. Die erste Version der Go-Sprache wurde am 28. März 2012 offiziell veröffentlicht. Bisher wurden in fast einem Jahr zwei Hauptversionen veröffentlicht, zwischen denen mehrere Beta- und RC-Versionen veröffentlicht wurden dass die Go-Sprache noch nicht vollständig ist.

Zusammenfassung

Go hat sich im Hinblick auf die Anforderungen an die dynamische Sprachleistung als idealer Kandidat für die Anwendungsentwicklung erwiesen, insbesondere für HTTP-bezogene Anwendungen Als Herausforderer von Java bietet es neben C/C++ auch eine weitere Rolle an Orten, an denen die Kontrolle über Ressourcen nicht so stark ist.

In Bezug auf die Produktivität sind die Sprachfunktionen und das Ökosystem noch nicht ausgereift, und die Version wird im Vergleich zu dynamischen Sprachen und Java noch nicht ausgereift ​​Diese Sprachen sind in bestimmten Szenarien eingeschränkt. Langfristig werden mit der starken Unterstützung von Google weiterhin neue Funktionen und Bibliotheksanwendungsfunktionen hinzugefügt. Zu diesem Zeitpunkt wird jedoch empfohlen, dass der Umfang und die Komplexität des Programms verbessert werden Die Sprache und die Ökologie sind noch nicht vollständig entwickelt. Um eine fundierte Unterstützung zu bieten, müssen wir uns auch der Risiken bewusst sein, die durch die Unreife und die schnelle Versionsiteration entstehen.

Java

Der Erfolg von Java war auf die starke Unterstützung großer Unternehmen wie SUN, IBM und Oracle zurückzuführen, die vor 10 Jahren hauptsächlich auf Unix-Systemen basierten. Dies ermöglichte es dem Unternehmen, im Bereich Unternehmensanwendungen und WEB Fuß zu fassen Anwendungen, und in den folgenden 10 Jahren verließ es sich auf die Revolution von x86+Linux, um seinen Anteil weiterhin zu behaupten. In der zweiten Hälfte war es der Erfolg von Android, der es ihm ermöglichte, den zu erreichen nach Stocken und Anhalten wieder oben. In den letzten zwei Jahrzehnten hat Java das leistungsstärkste Ökosystem aufgebaut. Man kann sagen, dass Java seit langem ein riesiger Flugzeugträger ist, was seinen Status und Erfolg beweist . Die Komplexität seiner Sprache, Bibliotheken, Frameworks und Ökosysteme stellt jedoch große Hindernisse für Techniker dar, wie z. B. Parallelität, der synchronisierte Mechanismus der Sprache, die Benachrichtigung und anschließende Gleichzeitigkeit der Standardbibliothek, und HTTP kann auch über den Apache + Tomcat-Container usw. abgerufen werden. Basierend auf der JVM-Technologie weist Java eine gute Interoperabilität mit anderen Sprachen wie Scala auf. Sie können zwischen Actor und Akka wählen, das ebenfalls in Scala geschrieben ist Szenarien für mehr. Es gibt zu viele...

Das ist die Welt von Java. Es gibt nie zu viel und es besteht keine Notwendigkeit, das Rad neu zu erfinden. Es wurde durch die Geschichte herbeigeführt, und Java bietet zu viele Optionen. Nach eingehender Untersuchung werden Sie wissen, dass die Lernkosten von Java höher sind als die von C++ und die Anforderungen an Programmierer höher sind als bei C++ Wenn Sie vor 7 oder sogar 10 Jahren noch Java-Technologie verwenden, muss das technische Personal das Framework und das Design sehr sorgfältig organisieren, da sonst das Ergebnis verschiedener Wiederverwendungen ein extrem aufgeblähtes Programm ist, dessen Ressourcenverbrauch während der Laufzeit Sie manchmal erschreckt Dies ist der Hauptgrund, warum zu viele auf Java basierende Plattformen weithin kritisiert werden. Die Wiederverwendung ist ein zweischneidiges Schwert und muss nicht auf eine einheitliche Größe angepasst werden , es sei denn, die Sprache und die Standardbibliothek bieten die besten und direktesten Optionen.

Empfohlene Tutorials: „Go Tutorial“ „Java Tutorial

Das obige ist der detaillierte Inhalt vonIst es notwendig, Java in die Go-Sprache zu konvertieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn