IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Le langage de programmation Go gagne-t-il en popularité ? Il se hisse à la huitième place sur Tiobe
Sa position la plus élevée jamais atteinte sur l'indice

Le , par Stéphane le calme

25PARTAGES

28  0 
Le langage Go de Google, ou golang, a atteint sa plus haute position dans l'indice de popularité des langues Tiobe. Ce langage, qui occupe désormais la huitième place dans l'indice de popularité des langages, est en progression depuis plusieurs années. Go, qui est probablement mieux connu comme le langage utilisé pour développer Docker et Kubernetes, s'est hissé dans le top 10 de l'indice Tiobe il y a un an, mais sa position actuelle est la plus élevée jamais atteinte.

C'est en mars 2023 que Go a réintégré le top 10 de l'indice Tiobe. Paul Jansen, PDG de Tiobe, a alors faut ce commentaire :

Go est entré dans le top 10 de l'indice TIOBE ce mois-ci. Les ingénieurs semblent aimer le langage de programmation Go. Qu'est-ce qui le distingue ? Go n'est pas révolutionnaire, mais sa force réside dans la combinaison des bonnes fonctionnalités. Il a une simultanéité et une récupération de place intégrées, est typé statiquement et a de bonnes performances. Le fait que Go soit soutenu par la société Google aide également. Cela améliore la confiance à long terme dans le langage. Des applications populaires telles que Docker et Kubernetes ont été développées à l'aide de Go. Go restera-t-il dans le top 10 ? C'est une question intéressante, car la position numéro 10 de l'indice TIOBE semble changer presque tous les mois.
Ce mois-ci, Go a gagné des places dans le classement. Paul Jansen a rappelé comment Go a grimpé dans l'indice Tiobe après avoir été annoncé par Google en novembre 2009, en remportant le prix du langage de l'année décerné par Tiobe. Ce prix est décerné au langage qui a gagné le plus de popularité au cours d'une année donnée, mais dans le cas de Go, la popularité a été de courte durée. « De manière inattendue, l'engouement s'est rapidement estompé. En 2015, Go a atteint la position 122 dans l'index TIOBE et tout semblait perdu », a déclaré Jansen.

Ce mois-ci, Go est entré dans le top 10 de l'indice TIOBE à la position 8. Il s'agit de la position la plus élevée jamais atteinte par Go. Lorsqu'il a été lancé par Google en novembre 2009, Go a connu un succès immédiat. C'était l'époque où tout ce que faisait Google était magique. Quelques années avant l'apparition de Go, Google avait lancé GMail, Google Maps et Google Docs. Aussi, lorsque Google a annoncé son premier langage, Go, la communauté des développeurs a été ravie. C'était le sujet de conversation de la ville. Après seulement deux mois d'existence, Go a remporté le prix TIOBE du langage de l'année. De manière inattendue, le battage médiatique s'est vite estompé. En 2015, Go a atteint la position 122 dans l'index TIOBE et tout semblait perdu. Un an plus tard, Go a adopté un cycle de publication très strict de "six mois" (soutenu par Google). À chaque nouvelle version, Go s'est amélioré. En parallèle, Docker et Kubernetes (tous deux écrits en Go) ont commencé à devenir très populaires à partir de 2016. Cela a permis de regagner la confiance dans Go. Aujourd'hui, Go est utilisé dans de nombreux domaines logiciels tels que la programmation back-end, les services web et les API. Grâce à son adoption croissante dans l'industrie, Go semble être un langage qui a les capacités de rester dans le top 10 de l'indice TIOBE pendant longtemps. Remarque secondaire intéressante : le tout dernier nouveau langage de Google, Carbon, est entré dans le top 100 pour la première fois ce mois-ci.
Ci-dessous le top 10 des langages de programmation de Tiobe :


Jansen a déclaré qu'il s'attendait à ce que Go reste dans le top 10 de l'index pendant encore longtemps. La version 1.22 de Go, qui apporte des modifications aux boucles for, a été publiée le 7 février. Par ailleurs, dans la version de février de l'index Tiobe, le langage Carbon de Google, présenté comme le successeur de C++, a atteint le top 100 pour la première fois.


Ce que préfèrent les développeurs Go

L’équipe de Go a publié les résultats de son enquête semestrielle auprès des développeurs, fournissant des informations précieuses sur l’utilisation du langage de programmation Go et les défis auxquels sont confrontés les développeurs.

Environnements de développement

Comme les années précédentes, la majorité des personnes interrogées ont déclaré travailler avec Go sur les systèmes Linux (63 %) et macOS (58 %). De petites variations de ces chiffres d'une année à l'autre dépendent très probablement de qui trouve et répond à cette enquête (en particulier sur le blog Go), car l'équipe n'a pas observé de tendances cohérentes d'une année sur l'autre dans l'échantillon aléatoire provenant de VS Code.

Pile technologique

Les chiffres indiquent que Go est un langage destiné au développement moderne basé sur le cloud. En effet, 75 % des personnes interrogées travaillent sur un logiciel Go qui s'intègre aux services cloud. Pour près de la moitié des personnes interrogées, cela impliquait AWS (48 %) et près d'un tiers utilisaient GCP (29 %) pour leur développement et leurs déploiements Go. Pour AWS et GCP, l'utilisation est également équilibrée entre les grandes entreprises et les petites organisations. Microsoft Azure est le seul fournisseur de cloud qui est nettement plus susceptible d'être utilisé dans les grandes organisations (entreprises de plus de 1 000 employés) que dans les petites entreprises ; les autres fournisseurs ne présentent aucune différence significative d'utilisation en fonction de la taille de l'organisation.

Les cas d'utilisation du ML/AI

L'équipe a vu quelques cas d'utilisation de l'IA qui, selon environ la moitié des personnes interrogées, pourraient être utiles : générer des tests (49 %), suggérer les meilleures pratiques in situ (47 %) et détecter les erreurs probables au début du processus de développement (46 %). Un thème fédérateur de ces principaux cas d’utilisation est que chacun pourrait contribuer à améliorer la qualité et la fiabilité du code qu’un ingénieur écrit. Un quatrième cas d'utilisation (aide à la rédaction de documentation) a suscité l'intérêt d'environ 36% des personnes interrogées. Les cas restants constituent une longue liste d’idées potentiellement fructueuses, mais celles-ci présentent nettement moins d’intérêt général que les quatre premières.


Quelques polémiques

Go a eu son lot de polémiques. Parmi les sujets à controverse, Russ Cox, l'ingénieur de Google à la tête du développement de Go, a présenté une proposition qui a divisé les développeurs : activer la télémétrie dans Go par défaut. Cox a révélé la proposition sur GitHub. La télémétrie, comme le décrit Cox, implique qu'un logiciel envoie des données du logiciel Go à un serveur pour fournir des informations sur les fonctions utilisées et sur les performances du logiciel. Il soutient qu'il est avantageux pour les projets open source de disposer de ces informations pour guider le développement.

Citation Envoyé par Russ Cox
Comment les développeurs de logiciels comprennent-ils quelles parties de leur logiciel sont utilisées et s'ils fonctionnent comme prévu*? La réponse moderne est la télémétrie, ce qui signifie qu'un logiciel envoie des données pour répondre à ces questions à un serveur de collecte.

Je pense que les projets de logiciels open source doivent explorer de nouvelles conceptions de télémétrie qui aident les développeurs à obtenir les informations dont ils ont besoin pour travailler de manière efficace et efficiente, sans collecter de traces invasives de l'activité détaillée des utilisateurs.

J'ai écrit une courte série d'articles de blog sur une telle conception, que j'appelle la télémétrie transparente, car elle collecte le moins possible (kilooctets par an à partir de chaque installation) et publie ensuite chaque élément qu'elle collecte, pour inspection et analyse publiques.

J'aimerais explorer l'utilisation de la télémétrie transparente, ou d'un système similaire, dans la chaîne d'outils Go, qui, je l'espère, aidera les développeurs de projets Go et les utilisateurs. Pour être clair, je suggère seulement que l'instrumentation soit ajoutée aux outils de ligne de commande Go écrits et distribués par l'équipe Go, tels que la commande go, le compilateur Go, gopls et govulncheck. Je ne suggère pas que l'instrumentation soit ajoutée par le compilateur Go à tous les programmes Go dans le monde : c'est clairement inapproprié.
Bien que l'idée derrière la proposition ne soit peut-être pas mauvaise, l'idée actuelle prévue peut effrayer les développeurs, actuels ou potentiels, du langage de programmation Go dans tout projet futur. Il faut rappeler que la plupart des développeurs et utilisateurs open source sont notoirement opposés à la plupart des formes de télémétrie.

Russ vise à introduire un concept de « télémétrie transparente » pour aider les projets open source à mieux comprendre le logiciel, en gardant à l'esprit la confidentialité. Dans ses billets de blog (une série de 3 articles), il mentionne que les sondages et les rapports de bogues sont insuffisants. Il est donc nécessaire d'introduire le moyen le plus simple de collecter des données sur l'utilisation d'une application (c'est-à-dire la télémétrie) tout en gardant les choses ouvertes à tous.

Cela signifie que l'ensemble du processus de collecte des données, de la manière dont elles sont traitées et de ce qui en résulte, est ouvert à tous.

La proposition actuelle prévoit d'ajouter la télémétrie avec une option de désactivation. En d'autres termes, la télémétrie est activée par défaut à moins que quelqu'un ne la désactive explicitement.

D'où certaines réactions.

« Cela devrait être désactivé par défaut », a écrit l'utilisateur Stolas. « Il n'y a aucune raison pour qu'une chaîne de développement ait un type de télémétrie activé par défaut. Ou, comme je comprends la nécessité qu'il soit activé par défaut, il devrait vérifier ce que l'utilisateur veut au premier démarrage ».

« Je pense que proposer un opt-in est une meilleure solution que d'aller sur un opt-out », a ajouté l'utilisateur w3bb. « Les personnes qui refuseraient la télémétrie à une invite sont des personnes qui ne veulent pas de la télémétrie, rendre la vie de ces personnes plus difficile est vraiment mauvais, que ce soit intentionnel ou non ».

Si de nombreux développeurs s'y sont opposés, quelques-uns l'ont soutenu.


Pas représentatif du paysage TIC français

L'indice TIOBE Programming Community est un indicateur de la popularité des langages de programmation. L'index est mis à jour une fois par mois. Les notes sont basées sur le nombre d'ingénieurs qualifiés dans le monde, les cours et les fournisseurs tiers. Les moteurs de recherche populaires tels que Google, Bing, Yahoo!, Wikipédia, Amazon, YouTube et Baidu sont utilisés pour calculer les notes. Il est important de noter que l'index TIOBE ne concerne pas le meilleur langage de programmation ou le langage dans lequel la plupart des lignes de code ont été écrites. L'index peut être utilisé pour vérifier si vos compétences en programmation sont toujours à jour ou pour prendre une décision stratégique sur le langage de programmation à adopter lors du démarrage de la construction d'un nouveau système logiciel.

Il n'est donc pas indicateur de la réalité dans le monde de l'IT Pro francophone. Parmi les langages les plus demandés dans les offres d'emploi postées sur Developpez.com, Go occupait la onzième place.


Emploi informatique 2022 : les langages les plus demandés et les mieux payés
Portail Emploi de Developpez.com
Portail Go de Developpez.com

Source : Tiobe

Et vous ?

Quel(s) est/sont votre/vos langage(s) de programmation préférez ? Pour quels types de projets l'utilisez/les utilisez-vous ?
Que pensez-vous de Go ?
Comment pouvez-vous expliquer son évolution dans le top 10 de l'index TIOBE ?
D'ailleurs, que pensez-vous des méthodes d'évaluation de popularité de TIOBE ou des index concurrents ? Lesquelles trouvez-vous pertinentes et lesquelles le sont moins selon vous ? Pourquoi ?

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de Metal3d
Membre régulier https://www.developpez.com
Le 22/02/2024 à 10:52
Je développe depuis des années avec le langage go. Actuellement c'est l'un des meilleurs langages que j'ai pu utiliser. Mais le fait est qu'en France il n'est pas assez reconnu. En France on aime le verbeux, le lourd, les gros IDE et rayonner en disant qu'on utilise un langage "d'entreprise" (ça n'a pas de sens, mais on aime ce terme).
Je bataille depuis des années pour que les entreprises avec qui je travaille comprennent les tenants de travailler avec des langages actuels. Je sais que vous adorez Java mais les raisons qu'on me donne sont généralement biaisées ou absolument pas inhérent au langage.
Il serait temps qu'on se penche sur Go et Python. Et même si je n'en suis pas fan, Rust.

Ces langages permettent aujourd'hui une maintenance plus claire et augmente le "time to market". Ils ne sont pas non plus "jeunes" (go a plus de 15 ans, python a 30 ans) et sont donc ce qu'on appelle "éprouvés". Mais ils ont évolué avec le temps et se sont adaptés plus vite aux besoins actuels. Java est dans les choux en ce qui concerne le ML, il est trop lourd pour les micro services, et il est lent en compilation.

Personnellement j'ai abandonné Java depuis plus de 15 ans.
6  2 
Avatar de Pierre Louis Chevalier
Expert éminent sénior https://www.developpez.com
Le 22/02/2024 à 15:39
Citation Envoyé par smarties Voir le message
j'ai l'impression que Python recule un peu vu le mal que j'ai à retrouver du travail.
Personne ose le dire clairement en France mais la France est aussi impactée sur le gel des recrutements de développeurs sauf pour les ingénieurs IA.
Pas mal de directions sont en train d'essayer de remplacer les employés par l'IA, y compris les informaticiens.
Certains informaticiens sont devenus beaucoup plus productifs grâce à l'IA, du coup inutile de faire grossir les équipes existantes.
Donc résultat : gel des recrutements, sauf pour l'IA ou ça recrute en masse.
2  0 
Avatar de smarties
Expert confirmé https://www.developpez.com
Le 22/02/2024 à 14:42
Idem j'ai abandonné JAVA il y a une dizaine d'année quand Spring 3 & 4 étaient très pénibles à configurer. Pour moi ça a toujours été lent en compilation et lourd en mémoire (même s'il y a possibilité d'optimiser la JVM).

Je n'ai pas essayé Go car je suis allé sur Rust même si je continue à faire du Python.
Mais quand j'ai le choix pour installer des applications c'est : Natif (Rust, C, C++) > Go > Python, JS > PHP

C'est dommage que le marché français soit dominé par JAVA et j'ai l'impression que Python recule un peu vu le mal que j'ai à retrouver du travail.
3  2 
Avatar de boboss123
Membre éprouvé https://www.developpez.com
Le 27/02/2024 à 8:58
Pour développer une application réseau cross-plateforme, ce langage est vraiment top. Dès que je peux, je l'utilise.
Le gros soucis, c'est pour les application de bureau : à ma connaissance, il n'y a pas de bibliothèque native étoffée pour gérer la GUI... si ça existait, peut-être que le langage gagnerait en popularité.

A comparer, je n'arrive toujours pas à comprendre comment Python a pu être aussi répandu : pour ma part, ce langage est imbuvable.
1  0 
Avatar de boboss123
Membre éprouvé https://www.developpez.com
Le 27/02/2024 à 13:13
Citation Envoyé par fred1599 Voir le message

En ce qui concerne les applications de bureau et la gestion de l'interface utilisateur graphique (GUI) avec Go, avez-vous exploré les bibliothèques tierces disponibles, telles que Fyne, Gio, ou même l'utilisation de bindings pour des bibliothèques GUI C++ comme Qt avec therecipe/qt ? Bien que ces solutions ne soient pas "natives" au sens strict, elles peuvent offrir des chemins viables pour le développement de GUI avec Go.
Fyne, je le trouve trop limité (pas testé Gio mais il a l'air encore plus limité) : je voulais faire un tableau triable, contenant divers types d'éléments (boutons, liens hypertexte, liste déroulante, ...) et ce n'est pas gérable simplement (version testée il y a un peu plus d'un an). Pour le moment, je suis passé sur Electron via un binder mais j'aurai préféré un GUI natif (le temps de compilation d'Electron n'est pas négligeable et je n'aime pas devoir installer cinquante mille trucs pour que mon programme compile).

Citation Envoyé par fred1599 Voir le message

Concernant votre opinion sur Python, pourriez-vous préciser quels aspects du langage vous trouvez difficiles à digérer ? Est-ce la syntaxe, la gestion de la mémoire, la vitesse d'exécution, ou quelque chose d'autre ? Python est souvent loué pour sa simplicité et sa lisibilité, ainsi que pour sa vaste bibliothèque standard et son écosystème de packages tiers.
Je déteste le système d'indentation à base de tabulation : qui peut vite engendrer des erreurs à cause de la possibilité de confondre avec des espaces.

De plus Python permet d'écrire certains bouts de code d'une manière non intuitive sur une seule ligne (l'ordre des commandes à interpréter n'est pas le même que le sens de lecture) :
Code : Sélectionner tout
1
2
3
4
min = a if a < b else b

fib = lambda x: x if x <= 1 else fib(x - 1) + fib(x - 2)
... certains trouvent ça élégant mais personnellement je trouve ça abominable, surtout quand tu dois faire de la relecture/analyse de code. Pourquoi vouloir ajouter ce genre de possibilité dans un langage ?... je trouve que ça complexifie inutilement le langage.

Et 1 fois sur deux, quand j'ai essayé de mettre à jour une bibliothèque, ça ne voulait plus compiler à cause des dépendance : jamais eu ce problème en go... après je n'ai peut-être pas eu de chance.

Je tiens à préciser que je ne n'ai fais que quelques petits programmes en Python, j'ai vite laissé tomber. J'ai l'habitude de coder en C et Javascript : l'apprentissage de Go a été assez simple (bien que j'ai encore surement pleins de choses à apprendre sur ce langage).
1  0 
Avatar de Fagus
Membre expert https://www.developpez.com
Le 27/02/2024 à 14:31
Citation Envoyé par boboss123 Voir le message

Je déteste le système d'indentation à base de tabulation : qui peut vite engendrer des erreurs à cause de la possibilité de confondre avec des espaces.

De plus Python permet d'écrire certains bouts de code d'une manière non intuitive sur une seule ligne (l'ordre des commandes à interpréter n'est pas le même que le sens de lecture) :
[...] Pourquoi vouloir ajouter ce genre de possibilité dans un langage ?... je trouve que ça complexifie inutilement le langage.
[...].
La 1ère ligne de code c'est pas bien pire qu'un opérateur ternaire. Faut pas en abuser mais c'est indispensable à la syntaxe des compréhensions de listes qui sont un atout du langage je trouve.
Code : Sélectionner tout
1
2
int a=1,b=2;
int min= (a<b ? a:b);
Les lambda c'est juste une fonction anonyme inline très limitée et c'est pas trop un point fort de python. ça peut servir pour des choses très simples si on a la flemme d'écrire une fonction...

L'écriture par tabulation/espace, c'est des goûts. Je trouve que ça a crée un formatage du texte universel clair et les IDE gèrent ça très bien. Les accolades quand je déplace du code ça m'arrive d'en déplacer le mauvais nombre, alors qu'un bloc python j'ai pas besoin de guetter le changement de couleur des accolades.

Python c'est bien pour l’écosystème riche, moins pour les dépendances et leur duck typing (autant on peut typer son code, autant le code de quelqu'un d'autre parfois le type d'objet attendu en argument est implicite et si on se trompe, l'analyseur statique ne voit pas d'erreur...
1  0 
Avatar de fredix69
Candidat au Club https://www.developpez.com
Le 11/03/2024 à 16:45
Citation Envoyé par boboss123 Voir le message
Pour développer une application réseau cross-plateforme, ce langage est vraiment top. Dès que je peux, je l'utilise.
Le gros soucis, c'est pour les application de bureau : à ma connaissance, il n'y a pas de bibliothèque native étoffée pour gérer la GUI... si ça existait, peut-être que le langage gagnerait en popularité.

A comparer, je n'arrive toujours pas à comprendre comment Python a pu être aussi répandu : pour ma part, ce langage est imbuvable.
Salut boboss ! pour le bureau tu peux regarder du côté de https://wails.io c'est le même principe que electron mais en beaucoup plus léger et rapide. Ca génère un binaire autonome qui embarque webkit2gtk sous Linux.
Sinon il y a un moment il y avait flutter/go (https://github.com/go-flutter-desktop/go-flutter) mais ca a l'air aussi mort que therecipe/qt ...
1  0 
Avatar de fred1599
Expert éminent https://www.developpez.com
Le 27/02/2024 à 9:18
Bonjour,

@boboss123,

En ce qui concerne les applications de bureau et la gestion de l'interface utilisateur graphique (GUI) avec Go, avez-vous exploré les bibliothèques tierces disponibles, telles que Fyne, Gio, ou même l'utilisation de bindings pour des bibliothèques GUI C++ comme Qt avec therecipe/qt ? Bien que ces solutions ne soient pas "natives" au sens strict, elles peuvent offrir des chemins viables pour le développement de GUI avec Go.

Concernant votre opinion sur Python, pourriez-vous préciser quels aspects du langage vous trouvez difficiles à digérer ? Est-ce la syntaxe, la gestion de la mémoire, la vitesse d'exécution, ou quelque chose d'autre ? Python est souvent loué pour sa simplicité et sa lisibilité, ainsi que pour sa vaste bibliothèque standard et son écosystème de packages tiers.
0  0 
Avatar de fred1599
Expert éminent https://www.developpez.com
Le 27/02/2024 à 14:57
Citation Envoyé par boboss123
Fyne, je le trouve trop limité (pas testé Gio mais il a l'air encore plus limité) : je voulais faire un tableau triable, contenant divers types d'éléments (boutons, liens hypertexte, liste déroulante, ...) et ce n'est pas gérable simplement (version testée il y a un peu plus d'un an). Pour le moment, je suis passé sur Electron via un binder mais j'aurai préféré un GUI natif (le temps de compilation d'Electron n'est pas négligeable et je n'aime pas devoir installer cinquante mille trucs pour que mon programme compile).

Je comprends, effectivement ce cas de figure (tableau triable) n'est pas fait aisément...

Citation Envoyé par boboss123
Je déteste le système d'indentation à base de tabulation : qui peut vite engendrer des erreurs à cause de la possibilité de confondre avec des espaces.

À l'aide d'un IDE et ses outils (linters), il est rare de se tromper, en tout cas, on a moins de chance que ça arrive que lors de l'utilisation d'un éditeur de textes "simple".

Citation Envoyé par boboss123
De plus Python permet d'écrire certains bouts de code d'une manière non intuitive sur une seule ligne (l'ordre des commandes à interpréter n'est pas le même que le sens de lecture)

Il y a plein de manières d'écrire, celle-ci convient à des développeurs, mais vous développeur, écrivez ce qui vous semble plus intuitif, et c'est ça qui est je trouve sympa... Le fait que ça le permette, n'inclut pas l'obligation de l'écrire de cette manière.

Code python : Sélectionner tout
minimum = min(a, b)

et même des plus alembiqués

Code python : Sélectionner tout
minimum = sorted([a, b])[0]

pour fib
Code python : Sélectionner tout
1
2
3
4
5
def fibonacci(x): 
    if x <= 1: 
        return x 
    else: 
        return fibonacci(x - 1) + fibonacci(x - 2)

Ce code est assez proche d'un code passe partout (C, C++, Ruby, ...).
Bref, ce n'est pas le langage qui détermine la manière dont vous développez, c'est vous.

Citation Envoyé par boboss123
... certains trouvent ça élégant mais personnellement je trouve ça abominable, surtout quand tu dois faire de la relecture/analyse de code. Pourquoi vouloir ajouter ce genre de possibilité dans un langage ?... je trouve que ça complexifie inutilement le langage.

Comme vous dîtes, c'est personnel, en ce qui me concerne la lecture de codes fait parti de mon métier dans ce langage, ça ne me gêne pas, mais si c'était le cas, il est possible d'utiliser l'interpréteur pour se rendre compte de l'objectif de la ligne de code.
Se sont les développeurs qui complexifient la lecture, mais comme vous dîtes, certains trouvent cela intuitif et lisible.
Certaines fois les one-liners sont justifiés car ils permettent d'ajouter un peu de perf à l'exécution, mais rarement, car la différence n'est pas très significative.

Citation Envoyé par boboss123
Et 1 fois sur deux, quand j'ai essayé de mettre à jour une bibliothèque, ça ne voulait plus compiler à cause des dépendance : jamais eu ce problème en go... après je n'ai peut-être pas eu de chance.

Peut-être un manque de chance, ce que j'aime dans ce langage, c'est que les messages d'erreur sont explicites et clairs, et que la communauté importante aide souvent à résoudre...

Citation Envoyé par boboss123
Je tiens à préciser que je ne n'ai fais que quelques petits programmes en Python, j'ai vite laissé tomber. J'ai l'habitude de coder en C et Javascript : l'apprentissage de Go a été assez simple (bien que j'ai encore surement pleins de choses à apprendre sur ce langage).

Le C et JavaScript ne prennent pas en compte l'indentation (ce qui n'empêche pas d'indenter), ça peut jouer sur votre avis concernant l'indentation mais c'est pas incompatible... Imaginez vouloir un code propre en C, vous souhaiterez sans doute indenter pour le rendre lisible... Python oblige à l'indentation pour démarquer chaque bloc (suite à la terminaison d'une ligne par le caractère :). Par habitude, on sépare de cette manière :

Code python : Sélectionner tout
1
2
3
4
5
6
7
8
9
10
11
12
class FileText: 
    def __init__(self, path: str | None = None) -> None: 
        self.path = path 
  
    def read_content(self) -> str: 
        if not self.path or not os.path.isfile(self.path): 
            raise FileNotFoundException(path=self.path) 
  
        with open(self.path, "r") as f: 
            content = f.read() 
  
        return content

On voit qu'une fois le bloc terminé, souvent on laisse une ligne vide pour séparer chaque bloc avec la suite du code.
C'est dommage d'avoir laissé tomber Python, car en ce qui concerne la syntaxe, beaucoup de choses se rapprochent du Go

En conclusion c'est une affaire de goût, pour avoir fait du Python, C, C++ et Java, je pense que j'ai à peu près la même idée que vous sur une syntaxe comme Rust, je peux donc très bien comprendre votre point de vue. Nos cerveaux fonctionnent tous de manière différentes ce qui fait que l'on en a pour tous les goûts .
0  0 
Avatar de boboss123
Membre éprouvé https://www.developpez.com
Le 27/02/2024 à 16:30
Code : Sélectionner tout
que la communauté importante aide souvent à résoudre...
C'est un peu le point noir de go, la communauté n'est pas aussi grande que celle de Python... j'espère qu'avec le temps, ce défaut se gommera.

Peut-être qu'avec le temps, j'aimerai un jour Python
0  0