Maison >Problème commun >Est-il nécessaire de convertir Java en langage Go ?
Est-il nécessaire de convertir Java en langage Go ?
Vous pouvez vérifier s'il est nécessaire de passer à la langue Go en fonction de la situation. Si vous êtes intéressé par la langue Go et que les conditions le permettent, il est recommandé de passer à la langue Go. un langage compilé statiquement fortement typé, non seulement La syntaxe est plus simple que Java, les performances sont meilleures que Java et la vitesse de compilation est plus rapide.
Go
En termes de concurrence, les mécanismes goroutine et canal fournissent un mécanisme de concurrence léger et fluide au niveau du langage, il fournit la performance ; est plus faible que Java (les performances sont une fausse proposition), mais en termes de consommation de ressources mémoire, il présente des avantages évidents par rapport à Java et aux autres langages dynamiques en termes de syntaxe, et possède certaines des fonctionnalités de langage dynamique de Python, en termes de syntaxe ; initialisation, construction et séquençage des objets. Il offre un mode d'expression extrêmement concis en termes de transformation, etc., et ces codes de traitement peuvent représenter 10 à 50 % du code, notamment pour les scénarios de traitement des données, de configuration et de mappage de protocole. Comparé à C, C++ et Java, cet aspect est maladroit. C'est la raison pour laquelle les langages dynamiques sont si fascinants.
C'est aussi la principale raison pour laquelle la première version du langage Go a attiré tant d'attention lors de sa sortie, en particulier pour les langages dynamiques, elle offre des avantages de concurrence et de performances que les langages dynamiques n'ont pas, Pike Le but de la conception du langage Go est de servir d'autre rôle facultatif pour le C/C++ (notez qu'il ne s'agit pas d'un remplacement et que son objectif de conception n'est pas de le remplacer par Pike, le père du langage Go, ingénieur logiciel en chef). chez Google, l'a déclaré dans son discours « Road to Simplicity » de 2012. Goal est plein de frustrations, et voici une citation : « Même si nous nous attendions à ce que les programmeurs C++ voient Go comme une alternative, la plupart des programmeurs Go viennent de langages comme Python. et Ruby. Très peu viennent du C++. » L'essence de la valeur du C++ est la suivante : le langage offre une abstraction plus étendue, une élégance et des fonctionnalités flexibles, et ces capacités d'expression sont à un coût matériel nul. Le langage C a un coût matériel nul comme objectif de conception. depuis le début, mais la capacité d'expression du langage est résolue par C++, et la direction de la réflexion de Go n'est évidemment pas un coût nul, du moins pas un coût CPU nul, la proposition de Go vise davantage à minimiser la charge de travail du programmeur.
L'un est la recherche ultime d'un matériel sans coût, et l'autre est de minimiser la charge de travail des programmeurs. Personne ne peut remplacer la partie la plus précieuse de quiconque. Go ne peut pas atteindre les deux objectifs en même temps. choisit une syntaxe dynamique et gc est destiné à choisir l'efficacité du développement et à sacrifier l'efficacité du matériel pour l'efficacité du développement, donc cela va dans une autre direction, qui est la direction des applications dans laquelle Java est bon, en particulier les applications réseau et HTTP actuelles, qui nécessitent une bonne bibliothèque standard et la prise en charge de l'écosystème en termes de bibliothèque standard, Go a fourni une bibliothèque de code plus légère et excellente pour le traitement de tcp/http/xml/json/encryption et de décryptage, etc., ainsi qu'une prise en charge à haute concurrence pour http, le protocole de base de. le réseau. Il a été doté d'un tremplin vers l'exploitation de Java.
Mais nous devons faire face à ses lacunes actuelles. Il est loin d'être mature en termes de fonctionnalités linguistiques importantes et de rigueur, et il existe encore de nombreux défauts ou solutions temporaires, qui affecteront également la maturité de son écologie. ces problèmes doivent encore être résolus dans la nouvelle version. La première version du langage Go a été officiellement publiée le 28 mars 2012. Jusqu'à présent, la version 1.7 a été publiée. Deux versions majeures ont été publiées en près d'un an, avec plusieurs versions bêta et RC entre-temps. que le langage Go n'est pas encore terminé. Préparez-vous.
Résumé
Go s'est avéré être un candidat idéal pour Python et Ruby en termes d'exigences de performances dynamiques du langage en termes de développement d'applications, en particulier d'applications liées à HTTP, il est actuellement au premier rang ; A l'avant-garde de Java, il offre également un autre rôle que le C/C++ dans les endroits où le contrôle sur les ressources n'est pas aussi fort.
En termes de productivité, ses fonctionnalités linguistiques et son écosystème ne sont pas encore matures, et la version est encore rapidement itérée par rapport aux langages dynamiqueset Java, elle n'a pas d'avantages à ce stade. , ces languessont limitées dans certains scénarios. Rôles facultatifs. À long terme, avec le fort soutien de Google, de nouvelles fonctionnalités et capacités d'application de bibliothèque continueront d'être ajoutées. Il s'agit d'un langage de programmation florissant. Cependant, à ce stade, il est recommandé que l'ampleur et la complexité du programme soient adaptées. Le langage et l'écologie ne sont pas encore complètement développés. Pour fournir un support solide, nous devons également être conscients des risques causés par son immaturité et l'itération rapide des versions.
Java
Le succès de Java est dû au fort soutien de grandes entreprises telles que SUN, IBM et Oracle, qui reposaient principalement sur des systèmes Unix il y a 10 ans, ce qui lui a permis de s'implanter solidement dans le domaine des applications d'entreprise et du WEB. applications, et au cours des 10 années suivantes. Au premier semestre, il s'est appuyé sur la révolution apportée par x86+Linux pour continuer à maintenir sa part. Au second semestre, c'est le succès d'Android qui lui a permis d'atteindre le sommet. haut à nouveau après avoir hésité et arrêté. Au cours des deux dernières décennies, Java a accumulé l'écosystème le plus puissant. On peut dire qu'il englobe tout. Il ne fait aucun doute que Java est depuis longtemps un énorme porte-avions, ce qui suffit à prouver son statut et son succès. . Cependant, la complexité de son langage, de ses bibliothèques, de ses frameworks et de ses écosystèmes pose d'énormes obstacles aux techniciens, comme la concurrence, le mécanisme synchronisé du langage, la notification puis la concurrence de la bibliothèque standard, et HTTP peut également être obtenu via le conteneur Apache+tomcat, etc. , et basé sur la technologie JVM, Java a une bonne interopérabilité avec d'autres langages, comme Scala en termes de concurrence. Vous pouvez choisir son Actor ou Akka, qui est également écrit en Scala. Bien sûr, l'industrie choisit nginx et d'autres correspondances mixtes. des scénarios pour en savoir plus. Il y en a trop...
C'est le monde de Java Il n'y en a jamais trop, et il n'est pas nécessaire de réinventer la roue. C'est la clé du succès de Java. Cela a été précipité par l'histoire et Java offre trop d'options.Après une étude approfondie, vous saurez que le coût d'apprentissage de Java est plus élevé que celui du C++ et que les exigences pour les programmeurs sont plus élevées que celles du C++. derrière et utilisant encore la technologie Java il y a 7 ou même 10 ans, le personnel technique doit organiser le framework et la conception avec beaucoup de soin, sinon le résultat de diverses réutilisations sera un programme extrêmement volumineux, dont la consommation de ressources pendant l'exécution vous fera parfois peur, et. C'est la principale raison pour laquelle trop de plates-formes développées sur la base de Java sont largement critiquées. La réutilisation est une arme à double tranchant qui doit être adaptée plutôt qu'une taille unique. L'échelle est sans aucun doute la plus exigeante pour les développeurs. , à moins que le langage et la bibliothèque standard offrent les options les meilleures et les plus directes.
Tutoriels recommandés : "Tutoriel Go" "Tutoriel Java"
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!