102 votes

Quels sont les avantages et les inconvénients du langage de programmation Go ?

Il n’y a pas si longtemps Google est sorti avec cette nouvelle programmation, et qui était censée être rapide comme C et intuitive et simple comme python. Je ne jugeront pas cette affirmations, mais plutôt vous demander :

Que pensez-vous sont Go avantages et les inconvénients?
Pouvez vous nous raconter une utilisation réelle, que vous avez donné à ce langage de programmation ?

Merci ! Manuel

89voto

Evan Shaw Points 7957

Avantages:

  • Aller compile très rapidement.
  • Go prend en charge la simultanéité au niveau du langage.
  • Les fonctions sont des objets de première classe en Aller.
  • Aller a la collecte des ordures.
  • Les chaînes et les cartes sont intégrés dans la langue.

Inconvénients:

  • Aller est encore au stade expérimental langue sujettes à changement. (Je suppose que cela pourrait être un avantage, en fonction de comment vous le regardez. Pour la plupart c'est sans doute un inconvénient.)
  • Aller n'est pas très utilisable sur Windows.
  • Les colis distribués avec Go sont assez utiles, mais il y a encore quelques bibliothèques que vous allez manquer. Notamment une INTERFACE utilisateur de la trousse à outils.
  • Il n'y a pas de support pour les médicaments génériques en Aller, bien qu'il y a beaucoup de discussions autour d'elle.

Autres points à noter que pourraient être les avantages et les inconvénients:

  • Aller compilé en code machine.
  • Go est très fortement typé.
  • Aller n'est pas orienté objet dans le sens traditionnel du terme.

83voto

Stewie Griffin Points 2317

Petit inconvénient : vraiment mauvais nom GO pour un langage de programmation, imaginez la recherche sur Google pour « Aller objet » ou « Aller Maps » et dont le gazillion pages liées...

20voto

Thejus Krishna Points 123

Je pense que la réponse à cela est devenu obsolète. Golang a changé au cours des deux dernières années. Beaucoup de corrections de bugs et beaucoup de nouveaux de construire a venir. Certaines réponses sont plus valides:

  1. Aller est encore au stade expérimental langue sujettes à changement. (Je suppose que cela pourrait être un avantage, en fonction de comment vous le regardez. Pour la plupart c'est sans doute un inconvénient.) - Je pense que cela a changé.
  2. Aller sur windows - N'est plus valide. Il fonctionne aussi bien sur windows et linux. (Je ne sais pas sur MAC)

Plus d'avantages -

  1. Il est livré avec une fonction intégrée de du serveur web qui signifie que vous n'avez pas besoin d'Apache ou tout autre serveur web. C'est un avantage de l'Aller.
  2. Golang a aller routines. Aller routines ont la possibilité d'utiliser un thread. Il divise le fil à nouveau en sous-parties et pour les projets qui nécessitent plus de simultanéité ce sera le meilleur choix.
  3. La configuration et la création d'une application dans le jeu de go est très facile.
  4. Aller de la communauté, Ils ont une communauté très active. Si vous avez des problèmes, d'abord il suffit de chercher dans Golang écrou de google et si vous ne trouvez pas la recherche ou de l'afficher dans https://code.google.com/p/go/issues. Ils vont répondre à un maximum de 1 jour.

11voto

Mue Points 2469

J'ai mis au courant de mes expériences sur mon blog à http://mue.tideland.biz/tag/golang. Aussi loin que je peux voir maintenant Aller est très productif combinaison de caractéristiques d'autres langues. Il compile extrême rapide, il suffit d'essayer une fois de faire pour les packages, vous serez étonné. Il est statiquement typé, mais vous pouvez presque comme dans un dynamiquement le type de langue. Donc le code est petit et puissant. Et comme déjà dit, il fournit une sorte de simultanéité soutien presque comme Erlang/OTP. Travailler avec les goroutines et des canaux est simple, et avec le nouveau package netchan canaux peut également être utilisé sur le net.

À côté de la langue, Allez les libs sont également importants. Ici, Aller vient déjà de la langue a été annoncé au mois de novembre et est encore en bêta - avec un grand ensemble focalisé principalement sur le réseau, par exemple, http ou websocket démons, moteur de template, chiffrement, codage, etc.

9voto

mico Points 703

Go est une pragmatique de l'évolution de C, pour obtenir certains des avantages des nouvelles langues sans perdre de la vitesse et de la maigreur.

Une partie de son héritage découle de Pascal et apporte l'une des fonctions que les utilisateurs de Delphi ont toujours aimé dans leur environnement de compilation: incroyable compilation des vitesses.

Aller ne pas innover C dans la façon tat C++, mais dans un Pythonish.Le plus d'influence notable est le duck-typing (voir dictionnaire Python). Cette reconnaît que certains langages fortement typés créer autant de problèmes qu'elles n'en résolvent faire vous avez besoin de modèles complexes pour parvenir à ce qu'une simple interface utilisée comme un appel contrat peut résoudre. De loin, c'est la fonctionnalité que je considère la plus audacieuse et la plus promosing déplacer. Je vois, et pas seulement une simplification dans l'ingénierie, mais aussi une simplification dans la réingénierie et l'élaboration d'un code de base.

Enfin, le parallélisme construit dans la langue est très prometteur pour le type d'applications qui seront ciblés en premier. Défaut de l'INTERFACE utilisateur liaisons pour tout système d'exploitation, la première utilisation je vois pour y Aller est la création de serveurs d'application et de cadres. En ce sens, je vois beaucoup de similitude dans le but avec Java et assurez-vous de Java programmeurs voudrais quelque chose de plus rapide dans la compilation et l'exécution.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X