114 votes

Ce genre de solutions est Golang (Google Go) conçu pour?

Semble que Go est conçu comme un remplacement pour les problèmes que vous avez précédemment aurait résolu avec le C++. Est-ce une déclaration exacte? Ce genre de solutions est Golang (Google Go) conçu pour?

101voto

Nemanja Trifunovic Points 17239

Je pense que MarkCC le résume bien:

Goroutines et des canaux de fournir le meilleur soutien que j'ai vu en dehors de Erlang pour l'utilisation de la simultanéité. Et franchement, je pense Aller est beaucoup moins laid que Erlang. (Désolé Erlang les fans, mais je n'aime vraiment pas Erlang.) Par rapport à Java, qui, je pense, est le principal concurrent à faire dans ce domaine, Go goroutines et les canaux sont tout simplement beaucoup plus facile à travailler que les threads Java et les serrures, il n'y a absolument aucune comparaison à tous. Aller à peu près détruit la concurrence dans ce domaine.

47voto

Benoit Points 39210

À partir de Google FAQ sur le sujet: Quel est le but du projet?:

Pas de grands systèmes de langue a émergé en plus d'une décennie, mais au fil du temps le paysage informatique a changé énormément. Il y a plusieurs tendances:

  • Les ordinateurs sont énormément plus rapide, mais le développement de logiciels n'est pas plus rapide.
  • Gestion de la dépendance est une grande partie du développement de logiciels et d'aujourd'hui, mais les "fichiers d'en-tête" des langues dans le C de la tradition sont antithétiques à nettoyer une analyse de dépendance et rapide la compilation.
  • Il est de plus en rébellion contre la lourdeur des systèmes de type comme ceux de Java et de C++, poussant les gens vers typées dynamiquement langues tels que Python et JavaScript.
  • Certains concepts fondamentaux, tels que la collecte des ordures et parallèle le calcul ne sont pas bien pris en charge par systèmes populaires langues.
  • L'émergence des ordinateurs multicœurs a généré l'inquiétude et de la confusion.

Nous croyons qu'il vaut la peine d'essayer de nouveau avec une nouvelle langue, un concurrent, le garbage collector de langue rapide la compilation. Concernant les points ci-dessus:

  • Il est possible de compiler un grand programme de Go en quelques secondes sur un seul ordinateur.
  • Go fournit un modèle pour la construction de logiciel qui fait de la dépendance analyse facile et évite une grande partie de la les frais généraux de C-style inclure des fichiers et des des bibliothèques.
  • Go type de système n'a pas de hiérarchie, donc pas de temps est passé définir les relations entre les types. Aussi, bien que le Go a statique les types de la langue tente de faire types de se sentir plus léger de poids que dans typique des langages à objets.
  • Go est entièrement récupérées et fournit un soutien fondamental pour une exécution simultanée et de la communication.
  • De par sa conception, Allez propose une approche pour la construction de logiciel système sur des machines.

9voto

Jason Whitehorn Points 5304

Ils seront axés sur des projets qui peuvent et ont besoin d'un niveau élevé de la concurrence. Malgré leur FAQ dire que Google ne PAS utiliser cette en interne, vous pouvez certainement voir qu'il a été influencé par leurs propres besoins et désirs.

4voto

Will Eddins Points 6451

En plus Ben la réponse de Google FAQ, je crois que Go est destiné à être une langue intégrée avec Native Client pour permettre de faciliter le développement de la prochaine Chrome OS.

4voto

cdonner Points 17403

Je pense que votre déclaration est en partie exact, mais on pourrait faire valoir que vous avez déjà utilisé Erlang pour très simultanée des applications telles que la téléphonie routeurs etc. C'est ce que Erlang a été développé par Ericsson. Je n'utilise pas Erlang et ne sais pas ses défauts, mais il y a sans doute certains, ce qui pourrait expliquer pourquoi Google a décidé de créer leurs propres simultanée de la langue.

Le fait que Erlang n'est pas mentionné sur la page de la Faq est intéressant, et c'est la proposition que des ordinateurs plus rapides devraient conduire à une accélération du développement de logiciels. Ce n'est pas mon ordinateur qui tient moi :-).

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