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 !

« Ils ont fait une suite à C », Tsoding s'attaque à C3 : C3 est-il l'avenir de C ? Ou est-ce D ? Ou doit-on attendre C4 ?

Le , par Jade Emy

55PARTAGES

7  0 
Voici la présentation du langage de programmation C3. Puis, le développeur Tsonding explore les particularités du langage.

C3 est un langage de programmation qui s'appuie sur la syntaxe et la sémantique du langage C, dans le but de le faire évoluer tout en conservant sa familiarité pour les programmeurs C. Le langage de programmation C3 est une évolution, pas une révolution : un genre de C pour les programmeurs qui aiment le C. Le langage de programmation C3 se veut simple, rapide, sûr, compilé pour développer des logiciels faciles à maintenir.

Grâce à une compatibilité ABI complète avec C, il est possible de mélanger C et C3 dans le même projet sans aucun effort. Comme démonstration, vkQuake a été compilé avec une petite partie du code converti en C3 et compilé avec le compilateur c3c.


Voici quelques particularités du langage C3 :

  • Compatibilité ABI C complète : C3 s'intègre directement dans votre application C/C++ avec une compatibilité ABI C complète : pas besoin de types ou de fonctions spéciales "compatibles C", pas de limitations sur les fonctionnalités de C3 que vous pouvez utiliser à partir de C.
  • Système de modules : Un système de modules simple et direct qui n'entrave pas le travail avec des valeurs par défaut qui ont du sens.
  • Macros sémantiques : Des macros qui sont aussi faciles à lire et à écrire que des fonctions normales. Avec beaucoup plus de puissance que le préprocesseur du C, elles sont délibérément équilibrées pour s'assurer que la lecture du code n'est pas rendue difficile.
  • Contrats graduels : C3 apporte la programmation par contrat au grand public avec des contrats discrets qui sont utilisés pour exprimer les contraintes d'exécution et de compilation.
  • Erreurs sans surcharge : La gestion des erreurs combine les meilleurs aspects des erreurs "Result" avec l'utilisation facile des exceptions et s'intègre de façon transparente avec le langage C.
  • Tranches et découpage intégrés : Les tranches sont des types sûrs « pointeur + longueur » qui supportent nativement la copie et la comparaison.
  • Modules génériques : Les modules génériques de C3 offrent une simplicité et une clarté supérieures pour la création de types génériques.
  • Réflexion à l'exécution et à la compilation : L'introspection de type est disponible à la fois à la compilation et à l'exécution, alimentant des macros et des fonctions flexibles.
  • Assemblage en ligne : Écrire de l'asm comme du code en ligne normal sans utiliser de chaînes ou de contraintes cryptiques.
  • Débogage avec contrôles de sécurité : Soyez confiant dans l'exactitude de votre code : en mode débogage, le compilateur insère des contrôles de limites et des contrôles de valeurs étendus au moment de l'exécution, qui, avec les contrats, vous permettront de détecter les bogues rapidement.
  • Traces de pile détaillées : Fini les erreurs anonymes de type « segmentation fault » : la bibliothèque standard de C3 permet d'obtenir des traces de piles détaillées pour vos constructions de débogage.


Dans la vidéo suivante, le développeur Tsoding explore les possibilités et les performances du langage C3 :


Et vous ?

Avez-vous utilisé ce langage pour votre usage ou le développement d'applications, et si oui qu'en pensez-vous ?

Voir aussi :

C3 : un langage de programmation système basé sur le C, permet un accès sécurisé aux tableaux, les conteneurs de haut niveau et manipulation des chaînes de caractères

Est-il possible de remplacer le C ? Le créateur du langage C3 donne des raisons pour lesquelles ce type d'initiative est voué à l'échec, au moment où le noyau Linux s'ouvre de plus en plus au Rust

C23 : un C légèrement meilleur. Le langage de programmation C continue d'évoluer, lentement et prudemment, par Daniel Lemire

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

Avatar de Aspartame
Membre confirmé https://www.developpez.com
Le 01/08/2024 à 21:55
ça fait penser plutôt à du C2S ou du C SE ... cheap non ?

C4 est stable mais reste dangereux ( https://fr.wikipedia.org/wiki/Composition_C-4 )
5  0