100 % FREELANCE 100 % IT
100 % FREELANCE 100 % IT
 

GO

JulienMer

3 Messages

nouveau
29/01/2021 à 16:38

Bonjour à tous,

Expert en Go, parmi d'autres langages et compétences, je me pose la question sur la rareté des opportunités dans ce langage et la persistance d'utiliser des langages beaucoup plus complexes comme le python ou autres....
D'ailleurs, si vous avez des besoins pour ce langage, je suis dispo...
Que pensez-vous des avantages/inconvénients de ce langage?

Cordialement,

Julien

Leos

208 Messages

impliqué
29/01/2021 à 17:36

Bonjour,
La popularité de Go a l'air plutôt stable si on se fie à l'index de TIOBE.
Après à voir effectivement comment cela  se traduit dans les offres. N'étant pas dans une région très représentative à ce niveau (le plus gros employeur du coin est en .NETdonc la majorité des offres sont pour du C# voire VB), je laisse les autre répondre

-Berthier-

41 Messages

actif
29/01/2021 à 18:08

Je pense qu'il faut identifier les domaines d'activités où ce langage est privilégié, tout comme le Python est privilégié pour l'IA/Big Data par exemple, et cibler ce domaine du coup. En visant les bons domaines, même si les annonces ne parlent pas forcément de Go, le besoin peut être exprimé lors d'un échange. Le Go est assez prisé dans le DevOps où beaucoup d'outils importans sont codé dans ce langage et fournissent des frameworks de fait en Go pour scripter leur automatisation. Maintenant je vois que même si des DevOps autour de moi aimerait passer sur du Go, la direction techniques n'y est pas très enclin.

Cela peut être aussi identifier un progiciel codé en Go (je ne sais pas si ça existe) et dont les boites ont régulièrement besoin de devs Go pour faire du développement spécifique.

JulienMer

3 Messages

nouveau
29/01/2021 à 21:09

Le truc, c'est qu'en Go, le champ des possibles est bien plus large.
Le python est limitant.
Il y a un fort effet de mode avec  ce langage soit disant adapté aux web comparé au Go.
Pourtant, c'est tout le contraire.
Pour autant, je suis expert dans les deux langages et en toute honnêteté, il n'y a pas photo. 
Ce langage c'est l'avenir, les entreprises seront obligées de passer par là...

Laura.p63

958 Messages

impliqué
01/02/2021 à 06:25

Python est aussi très "populaire" pour son usage dans l'IA, Go pourra-t-il suivre à ce niveau ? C'est une vrai question, j'ai rapidement survolé Go en formation mais le manque de demande à l'époque (et accessoirement l'abscence de déboggeur) ont fait que je n'ai pas continué..;

htnfr

1085 Messages

impliqué
01/02/2021 à 09:57

Pour moi, Python n'est clairement pas adapté pour le web. Pour Go, il est très performant, mais pas sans contrepartie, par ex: on écrit beaucoup plus de code. Pour 80-90% des besoins du web, la performance de Go n'est pas vraiment nécessaire.

Leos

208 Messages

impliqué
02/02/2021 à 06:49

Pourquoi Python ne serait-il pas adapté pour le web ? Il est aussi très rapide et performant (surtout avec Django) et pas mal de gros sites comme youtube ( et en partie Google), l'utilise...

htnfr

1085 Messages

impliqué
02/02/2021 à 10:01

Membre-02528103 a écrit :Pourquoi Python ne serait-il pas adapté pour le web ? Il est aussi très rapide et performant (surtout avec Django) et pas mal de gros sites comme youtube ( et en partie Google), l'utilise...
 
Ca vient d'où cette idée?

Leos

208 Messages

impliqué
03/02/2021 à 09:40

D'un peu partout et d'abord de l'objectif du Framework. Bien sûr la rapidité et la performance restent  relatives apr rapport aux langages auxquels il est comparé (on aura pas les même résultats entre C et Ruby...) et c'est aussi à rapporter à la rapidité de codage et à beaucoup d'autres critères.
La performance est loin d'être le seul critère et comme vous  le disiez 'la performance de Go n'est pas vraiment nécessaire'.  Je ne vois donc pas pourquoi Python ne serait pas adapté au web (et pourquoi il est autant utilisé dans ce cas ?).

htnfr

1085 Messages

impliqué
03/02/2021 à 12:02

Je retourne juste l'idée de "très rapide et performant", Python ne l'est pas.
Maintenant, c'est vrai que la performance n'est pas le seul critère. Mais quand on parle de la performance, on n'est même pas sur un rapport de 2 fois plus / moins performant entre les langages. Pour le Python, c'est différent, on peut être à 30 ou 100 fois moins performant:
https://benchmarksgame-team.pages.debian.net/benchmarksgame/fastest/go-python3.html
https://medium.com/swlh/a-performance-comparison-between-c-java-and-python-df3890545f6d

Il faut donc poser la question: les autres avantages de Python peuvent compenser cette médiocre performance? Je ne crois pas. Il y a évidemment toujours des gens qui le font, peut-être par l'ignorance ou par un besoin d'une vraie petite app, mais ça reste une minorité.

L'avantage des langages / frameworks Java, C#, Node, etc. par rapport à Go par ex, c'est la maturité dans le web, ce que Python n'a pas, qui offre une meilleure expérience aux développeurs.

wilk

41 Messages

actif
07/08/2021 à 18:49

Je rebondi en retard. J'utilise quasi exclusivement Go après avoir passé des années en Python.
Ce qui est curieux c'est que j'ai beaucoup plus d'expérience en Python mais je ne suis sollicité que pour du Go.
Il y a beaucoup moins de demande en Go mais beaucoup moins de profils expérimentés. Inversement en Python il y a beaucoup de demandes mais beaucoup de profils aussi...
Bref Go est encore un domaine de niche en France je pense.

En tout cas je ne regrette pas non plus mon passage de Python à Go, même quand la performance n'est pas indispensable on y gagne en maintenance je trouve.

Développeur freelance Go

yanolezard

88 Messages

très actif
09/08/2021 à 17:25

Bonjour à toutes et à tous,

Halte au feu !! Nobles Altesses des Langages 

Chaque langage de programmation et/ou de développement possèdent des avantages et des inconvénients,
Il ne devient donc point commode de les comparer, dans leur ensemble et sur leur périmètre de fonctionnement respectif, tant ils sont différents, ne serait-ce que par leur conception ou pour les usages pour lesquels ils ont été créés ou bâtis.

La création et la mise au point de langages de programmation et/ou de développement demandent beaucoup d'efforts et d'abnégation. Certains, qui vus comme prometteurs ou promus, se sont retrouvés aux oubliettes ou jetés en pature à la vindicte de telle ou telle communauté, d'autres sont morts-nés et d'autres encore sont devenus des vedettes incontournables et ont réussi ,au fil du temps et grâce aussi à de vénérables et ferventes communautés de "petites mains" (femmes et hommes confondus), à se hisser sur les marches toujours plus hautes de la pyramide de "Toutânktiobe", qui a presque 20 ans aujourd'hui (https://www.informatiquenews.fr/langages-de-programmation-lindice-tiobe-celebre-ses-20-ans-80411). Pour rappel, l'historique "TIOBE" (https://fr.wikipedia.org/wiki/Index_TIOBE) et l'entreprise éponyme (https://www.tiobe.com/tiobe-index/).

Nota Bene : Les serpents sont des reptiles squamates, comme les lézards et les amphisbènes (reptiles fouisseurs) ; ils forment le groupe des ophidiens. La famille des colubridés (couleuvres) est la plus nombreuse (2 500 espèces) ; vipères et crotales appartiennent à la famille des vipéridés, boas et pythons à celle des boïdés.

N'étant point un expert du serpent bicolore et encore moins un assidu du "GO" (un rapport avec le jeu du même nom, ne serait-ce que dans l'idée de conception ?), je ne pourrais apporter qu'une modeste contribution, issue de mes pérégrinations et de mes tribulations acquises au fil du temps, des expériences et des rencontres en tous genres.

1/ - Il me semble délicat de comparer "Python" et "Go", vu qu'ils se destinaient à des choses différentes à la conception du langage.
(Le python est un langage interprété, avec un "compilateur" intermédiaire (bytecode). Il existe des programmes complémentaire pour produire un binaire, qui contiendra le programme source Python + son interpréteur), un peu lourd et pas rapide j'en conviens. 

"Go" est un vrai langage compilé. Il a pris ses racines et s'est inspiré des langages "C" et "Pascal", associés aux très bons outils GNU (GCC/ Yacc" et "Bison".

Comment expliquer qu'un langage est plus performant qu'un autre ?

Le terme "performances" reste très subjectif. Beaucoup de paramètres entrants/sortants peuvent participer à ces "performances" : l'apprentissage, l'expérience programmeur/développeur, les bibliothèques disponibles, les bibliothèques expérimentales, les temps d'exécution d'une structure (boucle, fonction, routine, sous-programme, etc.), une instruction, l'adjonction ou non de bibliothèques spécialisées (temps réel, calcul massivement parallèle, calcul hyperthreadé, calcul haute performance, etc.), l'optimisation du code et des structures, le nettoyage du code, les appels de programmes externes écrits dans le même langage ou dans des langages différents, les obsfucations, .... on peut obtenir une liste de "performances" et d'incateurs aussi divers que variés, et ce, dans des contextes différents, des chaînes différentes, des IDE différents (j'ai vu des exécutions d'un même code Python sous des  IDE différents avec des indices temporels différents de l'ordre de quelques millisecondes à plus de secondes) .... Encore une fois, loin de moi d'être un expert et mon utilisation de "Python" est limitée. Avec toutes ces années, j'apprends à relativiser ces notions de performances.

2/ - Je me suis servi de Python pour créer de toute pièce un analyseur de protocoles pour réseaux industriels pour un client, avec des interfaces  graphiques "à l'ancienne" avec "TKinter" et en plus "moderne" Web, il y a environ 8 ans et il fonctionne toujours en production.

3/ - Je ne vois pas pourquoi le Python serait-il moins usité dans le monde du Web et/ou de l'internet : c'est d'ailleurs pour cela qu'il y a des frameworks intéressants comme "Django" (Reinhardt) connus et moins connu (https://fr.wikipedia.org/wiki/Liste_de_frameworks_Python).
Ne connaissant qu'un tout petit bout de "Dango", je ne pourrais me permettre de faire des comparaison hasardeuses, même étayées.

Ceci dit, il existe aussi des frameworks "Go" (pour ne pas faire de "jaloux" : https://dev.to/ja7ad/best-golang-web-framework-for-larg-projects-29bhttps://blog.devgenius.io/best-web-framework-of-golang-in-2021-aae4b2ad9bfhttps://www.esparkinfo.com/top-golang-web-framework-development.html.) Les maîtres et les experts du "Go" pourront compléter et "discutailler" si besoin.

4/ - Même si le Web et/ou l'internet a pris le pas dans de nombreuses situations, il n'en reste pas moins qu'il y a d'autres domaines comme l'embarqué, les développements machines, l'IA, le BigData, l'industrie, etc ...  où ce brave bicolore exerce pleinement son office. Je le rencontre assez souvent dans ces territoires. Concernant "Go", je ne l'ai pas encore rencontré en production, sur ces mêmes territoires de chasse.

5/ - Tout langage a son avenir, à condition qu'il y ait une communauté active, communicante, pédagoque, suivie ... et que les produits suivent, fusent avec une vraie feuille de route, de vrais enjeux, de vrais cas d'usages et de production, des ciblages clairement identifiés et pas seulement des plaisirs d'informaticiens, des formations intuitives, des intégrations dans des parcours de vie pour l'éducation des filles, des garçons, des femmes et des hommes. Cela demande du temps et beaucoup d'énergie .... Qui sait ? .... Python ou Go, un jour peut-être et pourquoi pas, auront la même légitimité que Perl (1987) ou Cobol (1959) en terme de longévité en production. La jeune et nouvelle génération saura peut-être, je l'espère, nous en tenir informé .. ne serait-ce que pour notre éternelle conscience professionnelle ?

Bien à vous toutes et tous,
Yanolezard