it-swarm-fr.com

Quelles sont les chances que Google va devenir une langue traditionnelle?

Qui y a-t-il d'apprendre? D'autres entreprises cherchent-elles l'utiliser? Est-il susceptible de devenir largement utilisé?

58
interstar

En ce qui concerne la programmation de langues, le vieil adage, "ce n'est pas ce que vous êtes, c'est qui vous savez" est vraiment vrai. C et C++ ont été sponsorisés par AT & T, Java nous a été apporté par Sun, la famille .Net est sortie de Microsoft, et toutes ont été très populaires très rapidement. Ensuite, nous avons objective-c et python, qui étaient autour depuis un peu de temps et sont restés vraiment obscur jusqu'à ce qu'ils soient découverts et ont été excités par Apple et Google, respectivement, et ensuite soudain, ils ont vraiment décollé. Mais des langues sans majeure Le sponsor a tendance à languir dans l'obscurité, peu importe leur qualité.

Go est sponsorisé par Google. Ce n'est pas difficile d'arriver à la bonne conclusion ici. Donnez-le cinq ans et ça va être énorme.

46
Mason Wheeler

En fait, je ne pense pas que ça va être réussi. Une raison de la raison pour laquelle il n'atteint pas les gros masses est qu'il est destiné à être ne langue pour la programmation système.

17
Jonas

Il y a un réel besoin d'un langage de systèmes avec des fonctionnalités plus modernes. C et C++ sont trop liés par le code existant et la rétrocompatibilité ici pour améliorer beaucoup. Cela dit, je ne pense pas que Go remplit ce rôle dans sa forme actuelle. Sa conception est trop minimaliste. Alors que son modèle est passionnant de la concurrence, il apporte quelques autres caractéristiques des langages de haut niveau dans le monde des systèmes. (La dernière fois que j'ai vérifié, ce qui était certes un certain temps il y a, il n'a même pas eu des exceptions.) En outre, au moins dans la mesure où le Computer Language Game Benchmark est une bonne mesure (il est certes une indicateur très rugueux), il est loin d'être aussi rapide que d'un système de " vrais " langue doit être.

Je pense que la langue avec la meilleure chance de combler le vide d'un système plus moderne est la langue D . D est techniquement beaucoup plus forte que Go mais politiquement plus faible. Ce n'est pas soutenu par une grande société. Ce qu'il a vraiment besoin est des bibliothèques (ce qui est rapidement adressée maintenant que la spécification de la langue est stable) et une killer app.

15
dsimcha

J'apprends que je vais aller et oui, il est utilisé de manière productive à Google et Heroku.

Go est définitivement une belle langue pour la programmation système. Code simple comme dans C, structures puissantes telles que C++ et les caractéristiques de sécurité telles que dans Java. Puisqu'il s'agit d'une très jeune langue beaucoup de belles choses d'autres langues ont été héritées:

  • itération sur des gammes
  • Canaux (oublier les mutiles, etc.)
  • pas de hiérarchie de type, seule interface héritage
  • en fait, ça ne connaît même pas les classes mais des "types" plus flexibles: les interfaces sont automatiquement héritées lorsque des méthodes définies correspondent
  • moins de chaudière: i := 1 Au lieu de int i = 1, func f(x, y, z int) au lieu de void f(int x, int y, int z), type Foo struct { a, b int }; bar := Foo{1, 2}class Foo { int a; int b; Foo(int a, int b) { this.a = a; this.b = b; } } /* ... */ Foo bar = new Foo(1, 2);
  • exceptions ("Panics") uniquement pour des cas vraiment exceptionnels: dans les autres cas, la fonction Présentation des erreurs peut renvoyer un paramètre d'erreur supplémentaire que vous pouvez facilement ignorer

Compte tenu de toutes ces belles choses et de la sécurité et des performances que connues de langues typées statiquement, beaucoup de personnes de la communauté des langues dynamiques ont commencé à aller. Dans la plupart des cas, le code GO n'est pas beaucoup plus long que le code de rubis, mais dans tous les cas plus sûrs et mieux structurés.

Mais à la fin, je suppose que l'argument tueur d'aller est une concurrence. C'est une langue de type C qui a un puissant support de concurrence qui n'est connu que des langues fonctionnelles.

10
Philip

Je dirais que cela dépend principalement des bibliothèques/services/logiciels qui seront créés dans/pour/utiliser Go. Les gens utilisent quelque chose dans trois situations (compteurs de commandes): quand ils n'ont pratiquement aucune autre option (Objective-C), lorsque leur environnement l'utilise (Fortran), quand il facilite leur vivre (Ruby).

5
mbq

Cela pourrait être un peu tardif pour cela, mais allez devenir une langue populaire maintenant et entrera probablement dans le courant dominant avec Google le poussant vers l'avant. Il est poussé comme étant une langue utilisée pour les systèmes et les produits de Google et est enfoncé comme une langue à utiliser avec Google App Moteur. Il y a des gens très tranchants sur le backend de l'immeuble aller et l'améliorant. Il y a des personnes très intelligentes et imaginatives travaillant sur des bibliothèques tiers pour aller.

Go remplit un vide que d'autres langues n'ont pas tout à fait rempli. Pour moi, j'essayais de remplir ce vide avec Perl et un tas de solutions de contournement et d'astuces. Je ne crois pas que ce soit la langue parfaite pour toutes les situations et toutes les personnes, mais c'est certainement un candidat à un grand nombre de situations. Par exemple, cela fonctionne bien pour les applications Web tout en fonctionnant bien pour les applications de bureau ou les applications basées sur serveur. Il effectue un tel travail aussi fantastique avec http et Websocket (ce qui signifie que vous pouvez ignorer Apache ou Nginx complètement) tout en fonctionnant très bien sur Windows, Linux et OS X pour les deux démons et pour les applications de bureau OL ". À l'heure actuelle, la seule situation que cela échoue pour moi est pour Android applications, que j'espère que j'estime bientôt. Je l'utilise pour Windows Desktop Apps, applications de bureau Linux Desktop et des applications Web basées sur Linux. Il se sent bien d'avoir du vrai travail et de ne pas avoir à bricoler des solutions de contournement.

Je crois que ce sera plusieurs années avant qu'il ne frappe vraiment le courant dominant, mais il y arrivera. Je pense que cela doit obtenir plus de bibliothèques tiers construits, comme le type de nombre et de sélection que Perl a avec CPAN. Ça va arriver là-bas.

5
Emmaly Wilson

C'est déjà plus populaire que certaines langues.

Il y a éventuellement, c'est la langue la plus importante de plus de 20 ans. Il présente vraiment de grands avantages en termes de jeux de données massifs, quels sites de médias sociaux, cloud computing, recherche et mobile présent.

Des sites tels que Facebook, Twitter, LinkedIn, YouTube et les réseaux de serveurs d'annonces ont beaucoup plus d'usage pour Google Go que Ruby sur rails, au moins dans certains contextes.

2
mrhassell

Je viens juste de regarder Go à cause de cette question pour que je ne puisse donc pas vraiment commenter s'il sera enlevé comme une langue traditionnelle, mais une chose vient de me faire vraiment excité:

http://golang.org/doc/go_spec.html#channel_types

Je suis tombé sur le concept de canaux à Occam-Pi et je dois dire que c'est l'un des meilleurs concepts de programmation de tous les temps . Cela fait que la concurrence semble si facile, où faire la même chose dans une langue de type C peut parfois être une douleur.

D'après ce que j'ai vu (dans les 10 minutes à laquelle j'ai regardé), allez chercher à combiner de nombreux concepts de programmation différents, mais cela a le risque d'être une prise de tous les métiers, un maître d'aucun.

1
Richard

J'ai regardé aller quand j'en ai entendu parler. En tant que débutant complet, j'apprends toujours les langues débutantes (dans mon cas Java, C #, Python et schéma) qui est beaucoup à prendre, mais si je n'étais pas absorbé dans beaucoup de langues différentes que j'aurais sérieusement considéré

Je pense à mon niveau, il n'y a pas de mal à passer les bases avant de sauter sur les passagers. Cependant, si je me souviens bien, quand je levais Go Go, je suis devenu très attiré par Erlang pour une raison quelconque.

1
SnowMonkey

Je soupçonne que cela devienne traditionnel dépendra de savoir si Google l'adopte comme une langue soutenue pour Appengine et/ou GWT.

0
Chris Buckett

Je souhaite que ça devienne populaire.

C'est puissant en syntaxe. (Découvrez les avantages de Python, C, Java). C'est bon pour le processeur multicœur. (La fonction de canal est bien meilleure que la programmation thread). La conception empêche le piège de nombreux programmeurs. (Mauvais pointeur, même style de codage par outil gofmt, évitez de la première fois, je l'essaie d'essayer à première fois que c'est python + C mais avec la vitesse près de 1/2 vitesse de C.

Mais, après avoir appris profondément, j'ai trouvé qu'il peut être approprié pour développer la tolérance à la faute et l'architecture évolutive

0
Daniel YC Lin