Bonjour à tous,
En ce moment, j’étudie le langage Go. Mais j’ai l’impression qu’il est pauvre en feature et pas vraiment objet.
Est-ce que ce langage est vraiment dépassé actuellement ? Et si c’est du car il est né il y a longtemps de ça, pourquoi le C garde toujours une bonne place ?
Tu peux t’en persuader en regardant le nombre d’évènement relatif à Go dans le monde (Go Conf)
Le langage est « simpliste », et n’est pas orienté objet. Il n’en est pas autant « faible » et il est jeune.
Ceci étant dis, c’est un langage qui a trouver de nombreuses applications dans la virtualisation.
Je rajouterais que sa bibliothèque standard est très fournie.
C est un langage qui a de la bouteille et qui est à la base de nombreuses chose en informatique. Il est beaucoup plus proche de la machine que le Go/Python par exemple. Il est tellement encré dans l’informatique moderne que même s’il a 40ans, il sera difficile de s’en passer tellement il est connu et utilisé. Bref, c’est la base et on commence à peine à l’éviter.
Dans la virtualisation ? Pourtant c’est un domaine qui demande de la grosse performance alors pourquoi ne pas choisir c++ ?
Je sais pas plein d’articles sur internet qui disent que Go est un jouet … Je sais pas si pour la création de jeux / serveurs et faire des API web serait un bon choix avec du Go
Car le C++ est complexe et que Go permet simplement d’exprimer ce que les développeurs ont besoin tout en restant suffisamment performant.
Go en tant que serveur. Pourquoi pas. Il a de nombreux concurrents, mais certainement pas C++ dans ce domaine.
Ce qui est sûr, c’est que ce n’est pas un langage jouet pour tout le monde. Je suppose que certaines personne le considère comme un jouet car je ne connais pas beaucoup d’entreprises (française particulièrement) qui l’utilise de manière courante.
PS: Pour être tout à fait juste. Go à indéniablement de l’avenir, de là à dire que c’est le langage à apprendre, ce n’est pas ce que j’ai dis. Il a des progrès à faire.
Je n’aime personnellement pas le Go, mais ce que l’on peux dire, c’est qu’il n’est pas inintéressant et il ne manque de rien pour ses domaines d’application.
Je pense qu’étudier ce langage est une très bonne idée ! Certes il n’est pas orienté objet, mais a de sacrés avantages: une parallélisation facile grâce aux goroutines qui est une feature très puissante (qui plus est avec le mécanisme de channels qui permet aux goroutines de communiquer), un typage fort qui permet une bonne optimisation des programmes sans pour autant avoir à gérer soi-même l’allocation de mémoire comme en C. Il y a quand même aujourd’hui énormément de librairies sérieuses pour implémenter ce que l’on veut, le lien d’EtienneR est une excellente source pour en trouver.
Il y a aussi quelques points sur lesquels Go pourrait s’améliorer, et en particulier la documentation. Je la trouve personnellement pénible, car pour énormément de packages on a juste droit à la liste des fonctions, et pour chacune une brève ligne pour expliquer rapidement ce que ça fait. Ça manque énormément de détails et je pense que ça refroidit beaucoup de dev qui potentiellement se mettraient au Go.
En revanche niveau performances c’est incroyable, personnellement je l’utilise principalement pour des API et les temps de réponse sont monstrueux !
Je voulais rédiger un cours là-dessus sur OC mais ils n’acceptent plus les auteurs "amateurs". Si ça intéresse pourquoi pas en faire un sur ZdS
Mon message va être un peu hors sujet mais vas y fonce.
Si tu n’as jamais écrit tu peux commencer par un ou deux articles voir billets pour avoir des retours plus rapides sur le style et mesurer l’engouement.
Et surtout n’hésite pas à utiliser la bêta pour avoir un retour au fur et à mesure sur ce que tu fais, que ce soit niveau style, orthographe, cohérence, pédagogie. Ça permet de raccourcir les temps de validation et les aller-retour à ce moment là (qui peuvent être frustrants).
Sinon, je me permet juste d’ajouter que la version 2 de Go (la prochaine version majeure du langage) est en cours de développement, donc non, il n’est pas mort, clairement.
Il faudrait vraiment définir ce que l’on entend ici par « pauvre en features ». Un langage se définit tout autant par son « manque de feature ». Pour quoi a été conçu le Go ? D’après la page principale :
Donc, Go doit proposer des features qui doivent répondre aux prétentions présentées. La POO peut ou pas en faire partie, selon les choix de conception.
Les questions sont ici :
cela correspond-il à tes besoins ?
Go tient-il ses promesses en pratique, sur ces besoins ?
En quoi la POO apporterait quelque chose aux promesses de Go ?
Sur quels points serait-ce différent qu’avec du C ? (ou n’importe quoi d’autre)
(je précise que je ne donne pas d’avis ici, c’est à toi de creuser ça )
Attention tout de même, les headlines sont avant tout marketing, même si elles parlent dans le jargon technique. C’est donc à creuser (dans la doc, dans les billets de blog, …) pour estimer si un langage peut répondre à un besoin ou non.
En résumé, un langage se définit par ses features et aussi par ses non-features pour proposer un système cohérent qui résout (selon les prétentions du langage) un certain ensemble de problèmes.
J’aimerais savoir en quoi go n’est pas POO? non parce que le principe de typage implicite par implémentation d’interface c’est casi la forme la plus pure de POO.
Connectez-vous pour pouvoir poster un message.
Connexion
Pas encore membre ?
Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte