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 !

Zig, présenté comme une alternative moderne au C, fait son apparition dans le top 50 de l'indice Tiobe des langages les plus populaires.
Carbon, l'alternative C++ de Google, n'est classé que 168e

Le , par Stéphane le calme

75PARTAGES

8  1 
Zig, présenté comme une alternative moderne au C, fait son apparition dans le top 50 de l'indice Tiobe des langages les plus populaires.
Carbon, l'alternative C++ de Google, n'est classé que 168e

Si le classement des 20 langages informatiques les plus populaires, publié par TIOBE, n’a que très peu évolué en avril, c’est l’apparition du langage Zig dans le top 50 qui a retenu l’attention ce mois-ci. « Pas une garantie de succès, mais une première étape notable », estime Paul Jansen, PDG de TIOBE Software.

Zig, un langage de programmation à usage général qui interagit avec les programmes C/C++ et est présenté comme une alternative moderne au C, a fait son apparition dans l'indice Tiobe de popularité des langages de programmation.

Zig est entré dans le top 50 de l'édition d'avril du Tiobe Programming Community Index, se classant 46e, mais avec une note de seulement 0,19 %. En revanche, le langage Carbon promu par Google, positionné comme un successeur expérimental du C++, n'est classé qu'à la 168e place.

Tiobe a décrit Zig comme ayant des fonctionnalités de C et C ++ telles que la gestion explicite de la mémoire améliorée avec des types d'options, tout en abandonnant d'autres fonctionnalités telles que le prétraitement. Bien que l'entrée dans le top 50 ne soit pas une garantie de succès, c'est une première étape remarquable, a déclaré Tiobe.

Selon Tiobe, la demande de langages hautes performances capables de traiter de grandes quantités de données a entraîné la montée en puissance de langages tels que C, C++ et Rust dans l'index.

Citation Envoyé par Paul Jansen, PDG de Tiobe
Récemment, nous avons discuté de l'émergence de langages de programmation à hautes performances. Ces types de langages sont en plein essor en raison des grandes quantités de données qui doivent être traitées de nos jours. En conséquence, C et C++ se portent bien dans le top 10 et Rust semble être un gardien dans le top 20. Mais plus bas dans la liste, il y a un autre concurrent remarquable de C et C++ entrant dans le top 50. Non, ce n'est pas le langage très promu de Google Carbon, qui n'est qu'à la position #168. C'est le langage de programmation Zig. Zig est un langage très pragmatique qui interagit de manière fluide avec les programmes C/C++, facilitant ainsi la migration de C/C++ vers Zig. Il possède toutes les fonctionnalités intéressantes de C et C ++ (telles que la gestion explicite de la mémoire améliorée avec des types d'options) et a abandonné les fonctionnalités moins agréables (telles que le prétraitement épouvantable). Entrer dans le top 50 n'est pas une garantie de réussite, mais c'est au moins une première étape notable. Bonne chance Zig !

Ci-dessous le top 10 des langages de programmation les plus populaires du Tiobe index pour avril 2023 :
  1. Python, avec une part de marché de 14,51 %
  2. C, avec une part de marché de 14,41 %
  3. Java, avec une part de marché de 13,23 %
  4. C++, avec une part de marché de 12,96 %
  5. C#, avec une part de marché de 8,21 %
  6. Visual Basic, avec une part de marché de 4,4 %
  7. JavaScript, avec une part de marché de 2,1 %
  8. SQL, avec une part de marché de 1,68 %
  9. PHP, avec une part de marché de 1,36 %
  10. Go, avec une part de marché de 1,28 %


Le mois dernier, Go a signé son retour dans le top 10 de l'indice Tiobe de popularité des langages de programmation. C’est en juillet 2017 que le langage est apparu pour la dernière fois dans ce top 10. Go s'est classé 10e dans l'édition de mars de l'indice, après s'être classé 11e le mois précédent. Il faut noter que Go n'a jamais obtenue une meilleure place que la dixième.

Le PDG de Tiobe Software avait alors déclaré :

Citation Envoyé par PDG Tiobe
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.

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.

Du côté de PYPL, un autre index de popularité des langages de programmation, le top 10 reste inchangé dans son édition d'avril 2023, Go ne figurant qu'à la douzième place. PyPL analyse la fréquence à laquelle les didacticiels de langage sont recherchés à l'aide de Google.

Voici le top 10 :
  1. Python, avec une part de marché de 27,43 %
  2. Java, avec une part de marché de 16,41 %
  3. JavaScript, avec une part de marché de 9,57 %
  4. C#, avec une part de marché de 6,9 %
  5. C/C++, avec une part de marché de 6,65 %
  6. PHP, avec une part de marché de 5,17 %
  7. R, avec une part de marché de 4,22 %
  8. TypeScript, avec une part de marché de 2,89 %
  9. Swift, avec une part de marché de 2,31 %
  10. Objective-C, avec une part de marché de 2,09 %


Ces baromètres ne représentent pas la réalité dans le monde de l'IT Pro francophone. Voici les langages les plus demandés et les mieux payés dans les offres d'emploi sur Developpez.com :


Un remplaçant pour C ?

Zig est décrit comme un « langage système de bas niveau ». Loris Cro, vice-président de la communauté à la Zig Software Foundation, a déclaré : « Je définis Zig comme un langage de programmation à usage général, car, bien qu'il convienne évidemment à la programmation de systèmes, il convient également à la programmation d'appareils embarqués, ciblant WebAssembly, écrivant des jeux et même la plupart des tâches qui seraient normalement gérées par langages de niveau supérieur ».

Pour Loris, bien que Zig soit en concurrence avec le C, « nous ne nous attendons pas à ce qu'il supplante le C sans une très longue période de temps où les deux langages doivent coexister ».

Objectifs de conception et syntaxe de Zig

Zig est un langage qui permet aux développeurs de travailler directement avec la mémoire système, une exigence pour écrire du code qui peut être optimisé au maximum pour sa tâche. L'allocation directe de mémoire est une caractéristique partagée par la famille C, Rust et d'autres langages système de bas niveau. Zig offre des fonctionnalités similaires, mais vise à les améliorer de plusieurs manières.

Zig cherche à être un langage orienté système plus simple que ses prédécesseurs et à faciliter l'écriture de code sûr et correct. Il vise également une meilleure expérience de développement. Lors du premier examen, les fonctionnalités de Zig pourraient ne pas sembler bouleversantes, mais l'effet global est celui d'une plateforme que les développeurs trouvent plus facile à maîtriser et à utiliser.

Actuellement, Zig est utilisé pour implémenter le runtime JavaScript Bun.js comme alternative à Node.js. Le créateur de Bun, Jarred Sumner, a déclaré : « Zig est un peu similaire à l'écriture C, mais avec de meilleures fonctionnalités de sécurité de la mémoire en mode débogage et des fonctionnalités modernes comme defer (un peu similaire à Go) et le code arbitraire peut être exécuté au moment de la compilation avec comptime. Il contient très peu de mots clefs, il est donc beaucoup plus facile à apprendre que C++ ou Rust ».

Zig diffère de la plupart des autres langages par sa petite empreinte de fonctionnalités, qui est le résultat d'un objectif de conception explicite : une seule façon évidente de faire les choses. Les développeurs de Zig prennent cet objectif tellement à cœur que pendant un certain temps, Zig n'avait pas de boucle for, ce qui était considéré comme une élaboration syntaxique inutile sur la boucle while déjà adéquate.


Kevin Lynagh, issu d'un milieu Rust, a écrit en 2021 :

[QUOTE]J'ai passé l'année dernière à construire des claviers, ce qui comprenait l'écriture de micrologiciels pour diverses cartes de circuits imprimés personnalisées.

J'ai d'abord écrit ce firmware en Rust, mais malgré des années d'expérience avec ce langage, j'ai encore eu beaucoup de mal. J'ai fini par faire fonctionner mes claviers, mais cela a pris un temps embarrassant et ce n'était pas amusant.

Après des suggestions répétées de mon ami Jamie Brandon, beaucoup plus expérimenté en Rust et en informatique, j'ai réécrit le firmware dans Zig, ce qui s'est avéré très bien.

J'ai trouvé cela assez surprenant, étant donné que je n'avais jamais vu Zig auparavant et que c'est un langage pré-1.0 écrit par un autre hipster PDX avec essentiellement une seule page de documentation.

L'expérience s'est si bien passée, en fait, que j'ai maintenant autant envie de me tourner vers Zig (un langage que j'utilise depuis une dizaine d'heures) que vers Rust (que j'utilise depuis au moins mille heures).

Ceci, bien sûr, reflète autant sur moi et mes intérêts que sur l'une ou l'autre de ces langages. Je vais donc devoir expliquer ce que je veux d'un langage de programmation système en premier lieu.

De plus, pour expliquer pourquoi j'ai eu du mal avec Rust, je devrai montrer beaucoup de code complexe dont je suis évidemment mécontent. Mon intention ici n'est pas de me plaindre de Rust, mais d'établir mon (manque de) crédibilité : c'est pour que vous puissiez juger par vous-même si j'utilise les fonctionnalités de Rust de manière raisonnable ou si j'ai totalement perdu la trame(...).

Pourquoi suis-je enthousiasmé par Zig ?

La facilité d'apprentissage est bien si vous pouvez l'obtenir, bien sûr, mais je ne choisis pas un langage système parce que je veux quelque chose de facile à apprendre. Je le fais parce que je veux les capacités ; Je veux pousser les pixels autour de l'écran aussi vite que possible =D

En tant que tel, je suis enthousiasmé par Zig pour deux grandes raisons.

La première est qu'il s'agit d'un type de programmation système très différent de celui auquel je suis habitué ...
La fin de cet article est réservée aux abonnés. Soutenez le Club Developpez.com en prenant un abonnement pour que nous puissions continuer à vous proposer des publications.

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

Avatar de Christophe
Responsable Systèmes https://www.developpez.com
Le 10/04/2023 à 19:57
Une particularité de Zig est qu'il ne traite pas l'allocation de mémoire directement dans le langage. Il n'y a pas de mot clé malloc comme en C/C++. Au lieu de cela, l'accès est géré explicitement dans la bibliothèque standard.
malloc n'est pas un mot clé du langage, c'est une fonction de la bibliothèque standard C.
5  0 
Avatar de remi_inconnu
Membre du Club https://www.developpez.com
Le 10/04/2023 à 19:44
C'est bien la création d'un nouveau langage, mais entre la création et son adoption massive il peut se passer un long moment, excepté si c'est une multinationale derrière le langage. Il ne faut pas oublier, ce qui fait la richesse d'un langage, ce n'est que peu la qualité du langage en lui même, mais plutôt le fait qu'il puisse utiliser une multitude de librairies externes, c'est un peu comme le plus bel OS qui ne ferai tourner qu'un pauvre notepad et qui n'aurai donc aucune utilité. Si vous voulez baser votre carrière sur ce genre de langage, vous prenez le risque de ne jamais trouver de travail, ou alors il faudra se montrer patient, très très patient, car entre l'apparition d'un langage et l'adoption par l'industrie il peut s'écouler plusieurs décennies.
1  1