ç

Coder dans la langue de Molière

L'auteur de ce sujet a trouvé une solution à son problème.
Auteur du sujet

Bonjour à tous !

Un problème récurrent dans le monde de l’ordinateur informatique des Internets actuel est l’omniprésence de la langue anglaise. Premièrement, cela défavorise les individus ne parlant pas anglais. Cela les tient à l’écart d’un domaine qui pourrait potentiellement leur apporter beaucoup. D’autre part, l’utilisation de la langue anglaise n’est pas seulement un désagrément, mais aussi une dépendance. Comme nos députés à l’Assemblée Nationnale l’ont affirmé, la France a un grand besoin de souveraineté digitale.

Pour ces raisons, j’ai avec l’aide d’un ami essayé d’apporter une solution viable : un compilateur français appelé ç. Vous pouvez le trouver à cette adresse : https://git.saucisseroyale.fr.cr/DiestVanMaitre_culain/ccdille

Voici un exemple de code écrit en C.fr :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
#inclure <entrées et sorties standard.en-tête>

entier non signé algorithme_d_euclide(entier non signé a, entier non signé b) {
  si (a < b) {
    retourner algorithme_d_euclide(b, a);
  }
  retourner b == 0 ? a : algorithme_d_euclide(b, a%b);
}

entier principale(entier argc, caractère constant **argv) {
  entier non signé a = 8;
  entier non signé b = 12;
  entier non signé resultat = algorithme_d_euclide(a, b);
  printf("%u\n", resultat);

  retourner 0;
}

Disposant de ressources limitées, nous n’avons pas pu réaliser un compilateur en entier. ç est en fait un précompilateur qui va se charger de traduire des fichiers et appeler automatiquement gcc. Il s’utilise d’ailleurs exactement comme gcc :

1
ç construire mon_programme.c.fr

Cela produira un fichier a.sortie que vous pouvez exécuter directement.

Un paquet Atom existe pour le support de la coloration syntaxique (cherchez « c fr »). Les personnes utilisant Archlinux pourront installer ç depuis le AUR : https://aur.archlinux.org/packages/ccdille-git/

Le projet n’est pas encore terminé. Il reste en effet des fonctionalités à ajouter concernant la compilation de plusieurs fichiers et la traduction de la bibliothèque standard.

N’hésitez pas à proposer des idées d’amélioration ou à poser des questions sur le projet !

Édité par emersion

+3 -4

Ben autant je trouve pas ça idiot d’avoir accepté les accents et le fameux c cédille dans le langage, autant transformer int en "entier", les char en "caractère" et les return en "retourner" ne présente pas beaucoup d’intérêt pour moi.

En effet, quelqu’un qui ne parle pas anglais et qui pourrait s’intéresser à votre compilateur a déjà assimilé le c avec des mot-clé qu’il ne comprend pas mais qu’il connaît. Tout réapprendre peut être fastidieux !

En plus, les mots-clés sont beaucoup plus long, les autres codes qu’on peut voir seront toujours en anglais, donc c’est difficile de les implémenter, et surout, ça ne résout pas le problème de mise à l’écart dont tu parles ! En effet, l’anglais est la langue de l’informatique, et même si certains peuvent trouver ça regrettable, je ne pense pas qu’on puisse y faire grand-chose. Et à mon avis, créer un compilateur pour du C bleu-blanc-rouge ne va pas améliorer la situation, et va peut-être creuser ce clivage dont tu parles.

Internet est un lieu de rencontre et de partage, et un tel lieu a besoin d’une langue commune : c’est l’anglais, et c’est comme ça !

Bon ne va pas croire que je crache gratuitement sur ton projet, il a dû être très intéressant à developper ! C’est juste que je ne pense pas qu’il ait une utilité autre que pédagogique !

Édité par Sami

Quand un éléphant prend la défense d’un autre, est-ce de l’altruisme ou du vol ?

+4 -3

C’est une blague ou c’est sérieux ?

Dans le doute j’ai quand même essayé et j’ai obtenu cette erreur :

1
cc: error trying to exec 'cc1': execvp: Aucun fichier ou dossier de ce type

(utiliser ’gcc’ et pas cc1 …) ArchLinux depuis l’AUR.

Personnellement, je trouve ce langage complètement inutile et contreproductif. Pour de multiples raisons comme :

  • Des mots trop longs
  • C’est une dépendance de plus dans la chaine de compilation
  • C’est un renfermement de la communauté francophone sur elle-même.
  • C’est un dénis de ce que les autres ont a nous apporter.
  • Ça limite énormement la capacité d’un code à s’exporter à l’international (Comprendre, pays non-francophones), et donc des entreprises qui l’utilisent.

De fait, c’est donc par exemple impraticable dans un contexte de recherche ou dans une grande entreprise. Dans une PME, le choix d’un tel langage ne peu que bloquer son développement.

Je suis totalement pour l’indépence/souveraineté numérique que vous pronnez mais je ne pense pas que ce soit le chemin correcte.

PS: On en parle de mon fichier c.c ? Écrase :'(
Utiliser /tmp ! Ou mieux un truc du style tmpfile() (fonction standard à traduire par création_d_un_fichier_temporaire() )

Édité par ache

ache.one                                                            🦊

+10 -1

Quand on parle d’indépendance numérique ou autre cela signifie avoir une véritable maitrise des outils indispensable. On peut par exemple discuter du fait que les OS pc/mobiles soient américains en immense majorité et des problèmes que cela peut poser. Mais ce n’est pas en changeant le nom des mots clefs d’un langage que tu renforces la souveraineté d’un pays. Tu crois que par ce qu’on va traduire "windows" par "fenêtres" que il n’y a plus de risque de backdoor ou de problèmes d’évasion fiscal avec microsoft ? Un OS européen écrit en anglais serait 1000 fois plus intéressant en terme de souveraineté que le genre de cosmétique que tu proposes.

"Toute extrapolation est valide dès lors que son résultat m’est sympathique." Loi de Lomborg

+2 -0
Auteur du sujet

Tout d’abord, merci pour vos réponses ! Elles sont constructives et font avancer la débat.

souveraineté digitale.

Souveraineté numérique, non ?

SpaceFox

Non non, digital.

En effet, quelqu’un qui ne parle pas anglais et qui pourrait s’intéresser à votre compilateur a déjà assimilé le c avec des mot-clé qu’il ne comprend pas mais qu’il connaît. Tout réapprendre peut être fastidieux !

Sami

Justement ! Le but est de ne pas avoir à apprendre l’anglais, mais directement utiliser le C français.

En plus, les mots-clés sont beaucoup plus long

Sami
  • Des mots trop longs
ache

En 2016, je ne pense plus que l’on n’ait besoin d’économiser les caractères dans son code. D’autre part, si l’anglais est plus court et que c’est si important d’avoir des mots courts, pourquoi n’arrêtons-nous pas d’apprendre le français ? Notre héritage et notre culture sont importants !

les autres codes qu’on peut voir seront toujours en anglais, donc c’est difficile de les implémenter

Le but de ce projet est de pouvoir se libérer justement des codes en anglais et promouvoir les codes en français.

Internet est un lieu de rencontre et de partage, et un tel lieu a besoin d’une langue commune : c’est l’anglais, et c’est comme ça !

Ce n’est pas parce qu’Internet est un lieu de partage qu’on doit tous se formatter à la même culture !

Dans le doute j’ai quand même essayé et j’ai obtenu cette erreur :

1
cc: error trying to exec 'cc1': execvp: Aucun fichier ou dossier de ce type

(utiliser ’gcc’ et pas cc1 …)

Mon mauvais, normalement cc est un lien symbolique vers gcc… Il faudrait rajouter le support de la variable d’environnement CC.

  • Ça limite énormement la capacité d’un code à s’exporter à l’international (Comprendre, pays non-francophones), et donc des entreprises qui l’utilisent.

Il y a aussi un mode « à l’envers » qui permet de traduire de l’anglais du français.

PS: On en parle de mon fichier c.c ? Écrase :'(
Utiliser /tmp ! Ou mieux un truc du style tmpfile() (fonction standard à traduire par création_d_un_fichier_temporaire() )

ache

Le flux de travail est normalement d’avoir un fichier programme.c.fr qui contient le code C.fr, d’utiliser ç pour générer programme.c et l’exécutable programme. Il est aussi possible de ne pas compiler et de juste traduire (utiliser traduire au lieu de construire) s’il faut utiliser un compilateur avec des options personnalisées. C’est aussi pratique pour faire des fichiers de construction avec des règles de type %.c: %.c.fr.

Mais ce n’est pas en changeant le nom des mots clefs d’un langage que tu renforces la souveraineté d’un pays. Tu crois que par ce qu’on va traduire "windows" par "fenêtres" que il n’y a plus de risque de backdoor ou de problèmes d’évasion fiscal avec microsoft ? Un OS européen écrit en anglais serait 1000 fois plus intéressant en terme de souveraineté que le genre de cosmétique que tu proposes.

Demandred

Je ne dis pas que ç règle tous les problèmes de souveraineté. Néanmoins, c’est un premier pas. Comme il a déjà été débattu, construire un système d’exploitation entier est un projet bien trop gros, surtout à mon échelle.

+0 -0

Ta source du gouvernement français est fausse selon moi. On a toujours traduit l’anglais digital par numérique en français. Par exemple digital camera devient appareil photo numérique, etc. En français, le terme digital concerne le toucher et les doigt si je ne m’abuse.

+15 -0

Ca a l’air marrant, félicitations pour avoir mené ce projet à terme. :)

Vous connaissez Linotte ?

Par contre comme l’ont dit les autres malheureusement je pense que ça n’est pas viable. Tout l’écosystème informatique est en anglais depuis le début, coder en français c’est devoir de toute façon mélanger avec de l’anglais ("printf" c’est de l’anglais… tu ne peux pas renommer tout ce qui existe), et c’est se couper de la langue commune à tous les informaticiens qui permet d’échanger et de réutiliser des codes sources sans barrière de langue. La souveraineté numérique repose sur des défenses et des capacités techniques et d’exportation plus que sur un rayonnement culturel. Le but c’est de bien s’intégrer et s’adapter à un environnement qui est plus qu’aucun autre international (et anational). Je pense. ;)

Et de manière plus terre à terre, ceux qui savent déjà développer le font depuis toujours avec des outils anglais et ne se mettront pas à autre chose. Donc ça ne concerne que la génération qui arrive et qui va apprendre à coder, mais fatalement ils apprendront les technos les + utilisées partout et ils les apprendront auprès de gens qui développent déjà, en anglais donc.

Edit : la longueur des mots c’est important, même aujourd’hui. C’est pas tant une question de taille du code (ça clairement on s’en fout), mais de lisibilité et surtout, des mots longs c’est long à taper, les développeurs ça va vite les faire chier et ça fait perdre du temps. ;)

Édité par Society

+3 -0

Salut !

Si ce projet avait été une simple expérience pour t’améliorer et comprendre comment marche un compilateur, j’aurais trouvé ça rigolo.

Mais, pour moi, ça ne fait pas sens.

Comment on travail chaque jour ? On cherche des réponses un peu partout sur le Web. On trouve un tas de librairies sur GitHub et différents gestionnaires de paquets selon les technologies. Si on s’amusait à tout reconstruire en français ça nous prendrait un temps fou, on ne pourrait pas travailler avec des gens de l’étranger (je travail avec des gens au Japon en ce moment par exemple). Et pour finir, ça n’aurait rien de souverain en ce sens où c’est en réalité toute la francophonie qui participerait et probablement uniquement elle.

Au passage, on dit bien numérique, pas digital qui est un anglicisme ignoble utilisé par tous les gens du commerce (marketing). Du coup si tu fais un langage en français, utilise plutôt les termes français, sinon ça n’est pas très cohérent ^^

Salut,

Moi, ce qui me choque, c’est la population cible. Je m’explique : tu vises à proposer un langage de programmation en français, soit, mais ça signifie donc que tu vises les novices en programmation, les avancés sont obligés de connaître l’anglais. Donc, si tu vises les novices, pourquoi réaliser un langage aussi bas niveau ?

Et +1 à mes VDDs, la souveraineté, c’est bien, mais sans un peu d’unité (sous la forme d’une langue pour toute la discipline, pour communiquer sur les libs, etc), c’est vraiment lent à se développer.

En tout cas, ça a l’air d’être un projet très cool à réaliser. :)

Édité par tleb

Bonsoir !

Tout d’abord je trouve ce projet très intéressant ! Je ne suis pas vraiment d’accord avec les réponses formulées jusqu’ici.

Je ne trouve pas que la longueur des mots-clés soit un handicap. Au contraire, on dit souvent qu’il est préférable de nommer ses variables explicitement, quitte à avoir des noms un peu longs.

Le souverainisme est en effet une des qualités de ce projet, mais pour moi il contribue à un autre point très important : celui de mettre un terme à l’utilisation du franglais qui enlaidit beaucoup de projets réalisés par des francophones (conféré certains tutoriels que l’on peut aisément trouver sur la toile). Si la pratique de la programmation en franglais est aussi répandue, en particulier dans les tutoriels, c’est en partie car cela aide les débutants et les plus jeunes d’entre nous à se concentrer sur l’essentiel. De ce point de vue, l’utilisation de ç ne peut être, à mon sens, que bénéfique. A contrario, la dictature anglophone provoque parfois d’étranges séquelles chez les plus jeunes qui s’intéressent à l’informatique (de plus en plus tôt de nos jours). En effet, il n’est pas rare que ces derniers ne connaissent simplement pas la traduction des termes qu’ils emploient, et cela donne lieu à des discussions informatiques dans un effroyable franglais. Personnellement, je suis de ceux qui veulent mettre un terme aux phrases du type « on push i sur le stack », ou encore « ici on catch les exceptions que la fonction peut throw ».

ç pourrait pour moi résoudre ce genre de problèmes, en forçant les utilisateurs à ne pas oublier leur langue maternelle ! On parle déjà suffisamment du niveau de français des collégiens, donc la dictature anglophone n’a vraiment pas besoin d’en remettre une couche…

Bref, je ne vais pas m’éterniser sur un sujet politique qui n’a définitivement rien à faire sur ce forum.

Pour moi il n’y a pas de soucis de compatibilité avec le code écrit en C standard, étant donné que ç propose un mode à l’envers qui permet d’utiliser des bibliothèques C en C.fr.

Bref, en réalité je ne comprends pas bien toutes vos critiques, je ne vois pas en quoi mettre en valeur les qualités de notre langue serait incompatible avec l’ouverture à l’internationnal et l’enrichissement informatique :) .

+0 -0

Je trouve ce projet amusant. En regardant le code je me dis "ça a l’air hyper proche du langage parlé", et au fond ce n’est qu’une traduction littérale de la version anglaise. De ce fait, j’ai l’impression de trouver ce code "plus haut niveau" que le C classique, alors que c’est juste comme si j’étais dans la peau d’un anglophone qui lis du code en Anglais.

Après, je rejoins l’avis de mes VDDs : ce n’est juste pas viable dans un monde professionnel. D’autant plus qu’il s’agit d’un langage déjà existant. Si c’était un nouveau langage, pourquoi pas, même si cela force tous les utilisateurs à maîtriser le français et à utiliser des caractères non ASCII (tous les claviers du monde n’ont pas un C cédille).

Personnellement, je suis de ceux qui veulent mettre un terme aux phrases du type « on push i sur le stack », ou encore « ici on catch les exceptions que la fonction peut throw ».

LaPine

Malheureusement pour toi, ces mots clés (push, stack, catch, throw, etc.) font partie du vocabulaire et des langages de programmation courants et s’intègrent donc facilement dans une discussion lambda entre développeurs. Et c’est pareil dans d’autres domaine (les jeux vidéos par exemple). Le problème est que ces mots font déjà bel et bien partie de notre culture, et ce n’est pas des petits projets de traductions qui vont y mettre un terme.

Personnellement, je suis de ceux qui voient un avenir avec une langue internationale unique, qui mettrais fin à tous problèmes de communications et repousserais les limites du partage.

+2 -0

En fait on en revient très exactement à la notion de jargon : un jargon est indispensable au sein d’un métier pour une communication efficace, et dans ce contexte, ça ne pose pas problème qu’il utilise des mots d’une manière spécifique – c’est même une définition. Le problème se pose quand le jargon dépasse le cadre de la profession à laquelle il s’applique.

Il faut donc différencier les tentatives de re-franciser les communications extérieures à la professions (ce qui a un intérêt) de celles de francisation du jargon informatique (ce qui en a déjà moins).

Quant à « digital » pour « numérique », si certains dictionnaires l’acceptent (pas tous), ils précisent qu’aujourd’hui mieux vaut utiliser « numérique ». Si le gouvernement était une référence en termes de linguistique, ça se saurait :)

Mon mauvais, normalement cc est un lien symbolique vers gcc… Il faudrait rajouter le support de la variable d’environnement CC.

Mon mauvais ?
cc chez moi est un script bash et un lien symbolique vers gcc. Mais du coup, d’où vient ce ’cc1’ ?

Sinon, le seul but que ce projet peut atteindre c’est de permettre une meilleurs compréhension de la programmation pour les personnes n’ayant eu ni cours d’anglais ni de cours de programmation.

Mais en aucun cas, cela ne se rapproche de la souveraineté numérique. Par-contre, il peut avoir un intéret.
Entre ’logo’ et le langage C pour des personnes francophones en apprentissage.

ache.one                                                            🦊

+0 -0

Mon mauvais ?

ache

My bad.

C’est triste de lancer un projet de francisation du C tout en utilisant des anglicismes aussi horribles que « digital » ou « mon mauvais ».

Stranger

L’utilisation de ces expressions, leur justification, et le compte LaPine créé juste pour répondre au sujet, devraient d’ailleurs répondre à la question du caractère trollesque de ce projet/sujet.

cc chez moi est un script bash et un lien symbolique vers gcc. Mais du coup, d’où vient ce ’cc1’ ?

cc1 est un des composants internes de gcc qui inclut le préprocesseur et le compilateur C qui va générer le fichier assembly (premier étage de la compilation, en somme).

Et cc est un lien vers le compilateur C qu’utilise le système (donc souvent gcc mais rien ne l’oblige).

Quant à digital, je citerai l’Académie Française :

on se souviendra que le français a à sa disposition l’adjectif numérique.

Shave the whales! | Thistle

+0 -0

Mon mauvais ?

ache

My bad.

entwanne

OMFG ? Sérieux ?! O_o
Mais c’est horrible !

“Autant pour moi” en français !


@RomHa Korev : Merci ^^


On en parle des commits ?

  • "Délétion de ccdille.c"
  • "bite"
  • "bite"
  • "Fixation de la compilation"
  • "cc"
  • "Adds Makefile"
  • "ajout de la sauce"
  • "Fixes SIGBUS"
  • "sava"
  • "sava"

Et le fameux biensûr : "Initial commit"

:lol: Ok, c’était rigolo …

Édité par ache

ache.one                                                            🦊

+6 -0
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte