Hare est un nouveau langage de programmation qui tente de remplacer C – Tecnoblog

Que vous soyez débutant ou développeur expérimenté, l’idée d’essayer un nouveau langage de programmation pourrait vous séduire. C’est le cas de lièvre. La nouveauté a été officiellement annoncée cette semaine et s’accompagne d’une proposition audacieuse : être un alternative au langage Cqui est sur le marché depuis 50 ans.

Taper sur un carnet (image d’illustration : Christin Hume/Unsplash)

Il n’est pas exagéré de parler d’audace. Le langage C est apparu en 1972 entre les mains, principalement, de Dennis Ritchie, également connu pour ses grandes contributions à Unix. Dans ses premières années, la langue n’a pas eu beaucoup de succès. Mais tout a changé après 1978, lorsque Ritchie et Brian Kernighan ont publié le livre Le langage de programmation C.

Depuis lors, C a servi de base à d’innombrables projets, notamment une réimplémentation d’Unix lui-même. Cela a été possible parce que le langage est flexible (peut être ciblé sur différents types de logiciels), a une syntaxe structurée et ne nécessite pas beaucoup de ressources matérielles. Et ce ne sont là que quelques-uns de ses avantages.

Hare propose d’incorporer, sinon la totalité, la plupart des qualités de C, mais en allant au-delà de certains aspects. Dans l’annonce officielle, le chef de projet Drew DeVault le décrit comme suit :

Hare est un langage de programmation système conçu pour être simple, stable et robuste.. Hare utilise un système de type statique, une gestion manuelle de la mémoire et une durée d’exécution minimale. Il convient au développement de systèmes d’exploitation, d’outils système, de compilateurs, de logiciels réseau et d’autres tâches de bas niveau à hautes performances.

Dans le même texte, DeVault déclare que presque tous les programmes développés en C peuvent être écrits en Hare. Pourquoi quelqu’un ferait-il ce changement ? Selon les mots du développeur, car programmer en « Hare est plus simple qu’en C ».

En parlant de simplicité, DeVault ne fait pas nécessairement référence à la syntaxe (dans le temps, l’ensemble des règles pour composer les instructions d’un langage), mais à l’incorporation de certains facilitateurs, pour ainsi dire.

Voici un exemple : quand Le registrele développeur a déclaré s’être inspiré du langage Go de Google pour inclure des batteries (ensembles de ressources) dans la bibliothèque standard Hare. De cette façon, vous pouvez réduire ou même éliminer l’importation de dépendances.

Code en langage Hare (image : reproduction)

Contents

Le lièvre gagnera-t-il ?

Les projets proposant de remplacer le langage C d’une manière ou d’une autre ne sont pas nouveaux. Un exemple notable est le langage Rust, apparu en 2010 aux mains de Mozilla. Depuis sa sortie, Rust a été adopté dans de nombreux projets, mais cela ne veut pas dire que d’autres langages perdent du terrain à cause de cela.

J’ai eu l’occasion d’écrire quelques codes C au collège (j’ai passé plus de temps à étudier le C++). C’étaient des choses qui allaient un peu au-delà de « Hello, World ».

Malgré cela, à l’époque, je pouvais voir que le C mettrait du temps à appartenir au passé. C’est parce que la langue porte beaucoup de bagages. Il contient une documentation complète et prend en charge plusieurs architectures, par exemple.

Les bagages sont quelque chose que le lièvre n’a pas encore. Il est donc difficile de faire des prédictions sur votre avenir. Mais au moins le projet semble sérieux. Selon Drew DeVault, lui et une trentaine de contributeurs travaillent sur le langage depuis près de deux ans et demi.

Un petit extrait de code dans Hare :

export fn main() void = {
const hash = sha256::sha256();
const file = os::open("main.ha")!;
defer io::close(file)!;
io::copy(&hash, file)!;
let sum: [sha256::SIZE]u8 = [0...];
hash::sum(&hash, sum);
hex::encode(os::stdout, sum)!;
fmt::println()!;
};

Quelques détails à connaître

Si vous aimez l’idée ou si vous voulez simplement vérifier si Hare est tout cela, gardez d’abord quelques détails à l’esprit. La première est que le langage n’est disponible que pour Linux et FreeBSD. Il n’y a pas de plans de compatibilité avec Windows ou macOS (mais rien n’empêche des tiers de mettre en œuvre pour ces systèmes).

La seconde est qu’il s’agit de la première version de Hare, donc certaines fonctionnalités peuvent ne pas fonctionner comme prévu. Ce n’est pas un hasard si les développeurs du projet recherchent des volontaires pour s’occuper d’aspects tels que la cryptographie et les bibliothèques étendues.

Plus de détails sont disponibles sur le site officiel de Hare.

Yseult Daigle

Les sources de mes articles sont recueillies non seulement à travers mes recherches, mais aussi mes expériences personnelles en tant qu'homme. J’ai la chance de pouvoir m’intéresser aux dernières tendances en termes de style ou d'allure. Mais j'ai tout de même un penchant pour les articles généralistes.
Bouton retour en haut de la page