Je suis sur Go en ce moment. J'aime beaucoup sa simplicité, les variables typées, la compilation statique et la cross compilation.
Je me suis mis à apprendre Go il n'y a pas longtemps, et je dois dire que j'ai été très agréablement surpris par ce langage. C'est peut-être le premier langage généraliste que j'apprends où au bout de trois ou quatre jours j'ai l'impression que je peux comprendre à peu près n'importe quel bout de code écrit dans le langage, sans devoir démêler des astuces tordues ou des abstractions complexes (un fichier au hasard d'un programme complexe comme le compilo lui-même a de bonnes chances d'être assez accessible).
Et si le langage est simple, il n'est pas pour autant simpliste : même s'il ne permet pas une concision extrême, il est relativement concis sur plein de cas courants, et a fait quelques choix pragmatiques qui me semblent plutôt bons, comme le fait d'avoir des tableaux dynamiques (slices) et des maps de base, utilisables avec une syntaxe pratique, ce qui le rapproche des langages de script, mais avec des avantages du typage statique.
Et j'aime la qualité des divers outils (gofmt, godef, etc.), qui permettent à un éditeur de texte de fournir de bons plugins pour le langage ; qualité qui doit beaucoup à la simplicité du langage, je pense.
D'un point de vue concision et puissance du système de types il y a du coup quelques sacrifices qui sont faits (pas de généricité, pas de types algébriques, pas de classes avec héritage, etc.), mais le mécanisme fournit pour réutilisation de code (les interfaces) offre quand même beaucoup pour pas cher (moins compliqué pour l'implémentation, et moins à apprendre pour l'utilisateur), et les fonctions du langage pour les types de base comme les maps et les slices sont polymorphes, donc en pratique ces manques ne doivent pas souvent être très gênants. Bref, c'est un langage où tout est balance et compromis entre divers critères (parfois philosophiques même), mais le résultat est intéressant.
[^] # Re: Go
Posté par anaseto . En réponse au journal Et si JavaScript allait droit dans le mur ?. Évalué à 7.
Je me suis mis à apprendre Go il n'y a pas longtemps, et je dois dire que j'ai été très agréablement surpris par ce langage. C'est peut-être le premier langage généraliste que j'apprends où au bout de trois ou quatre jours j'ai l'impression que je peux comprendre à peu près n'importe quel bout de code écrit dans le langage, sans devoir démêler des astuces tordues ou des abstractions complexes (un fichier au hasard d'un programme complexe comme le compilo lui-même a de bonnes chances d'être assez accessible).
Et si le langage est simple, il n'est pas pour autant simpliste : même s'il ne permet pas une concision extrême, il est relativement concis sur plein de cas courants, et a fait quelques choix pragmatiques qui me semblent plutôt bons, comme le fait d'avoir des tableaux dynamiques (slices) et des maps de base, utilisables avec une syntaxe pratique, ce qui le rapproche des langages de script, mais avec des avantages du typage statique.
Et j'aime la qualité des divers outils (gofmt, godef, etc.), qui permettent à un éditeur de texte de fournir de bons plugins pour le langage ; qualité qui doit beaucoup à la simplicité du langage, je pense.
D'un point de vue concision et puissance du système de types il y a du coup quelques sacrifices qui sont faits (pas de généricité, pas de types algébriques, pas de classes avec héritage, etc.), mais le mécanisme fournit pour réutilisation de code (les interfaces) offre quand même beaucoup pour pas cher (moins compliqué pour l'implémentation, et moins à apprendre pour l'utilisateur), et les fonctions du langage pour les types de base comme les maps et les slices sont polymorphes, donc en pratique ces manques ne doivent pas souvent être très gênants. Bref, c'est un langage où tout est balance et compromis entre divers critères (parfois philosophiques même), mais le résultat est intéressant.