Recherche:Fabeleblaĵo
L’objectif de ce projet est :
- d’établir les contraintes pratiques à respecter pour disposer d’un langage de programmation répondant aux critères généraux suivants :
- le langage est dénué de logogramme : tout caractère utilisé a une interprétation phonétique donnée ;
- autant que la contrainte de prononciabilité le permet, le langage favorise la concision scripturale.
- d’établir au moins un langage de programmation qui répondra à ces exigences pratiques :
- on étudiera notamment la possibilité d’utiliser l’espéranto comme référence lexicographique et grammaticale de départ en :
- explicitant les avantages et inconvénients perçus à un tel choix ;
- explicitant les différences qu’il est jugé nécessaire d’introduire entre cette langue culturelle et le langage de programmation visé.
- on étudiera notamment la possibilité d’utiliser l’espéranto comme référence lexicographique et grammaticale de départ en :
Voir également le projet Algoritmaro qui explore seulement l’utilisation de l’espéranto, sans contrainte sur l’utilisation de logogrammes.
Étymologie du nom du projet
[modifier | modifier le wikicode]Le nom du projet est un mot espéranto, composé de fabelo, conte, de l’affixe -ebl- qui qualifie un objet susceptible d’une action, de l’affixe -aĵ- qui marque une chose concrète, et du suffixe substantif -o. Littéralement, cela signifie donc l’objet qui peut être conté. Le terme fait en fait allusion à plusieurs choses :
- à l’étymologie de fabelo, qui découle certainement du latin effabilis, dicible, exprimable par la parole, lui-même issu de effor, dire, émettre une proposition, une assertion, une pensée, terme qui en français à également donné ineffable ;
- par le truchement du français, à l’étymologie commune de conter et compter issues du latin computare, calculer, compter, prendre en compte et énumérer ;
- à la fameuse citation de Wittgenstein, « Sur ce dont on ne peut parler, il faut garder le silence. ».
Utilisation de l’espéranto
[modifier | modifier le wikicode]Comme indiqué dès l’introduction, le projet vise à utiliser l’espéranto comme base lexicographique.
Pourquoi l’espéranto et pas une autre langue
[modifier | modifier le wikicode]Tout d’abord, ce projet ne s’inscrit pas dans une démarche Not Invented Here. Le projet d’avoir un langage de programmation strictement phonétique est guidé par le souhait de disposer d’un outil qui facilite la compréhension des discours construits. Nous partons de l’hypothèse, à vérifier, que la faculté de conceptualiser et de communiquer est facilitée dans le cas d’un langage où la verbalisation est spontanée. C’est-à-dire :
- où la lecture n’use jamais de symboles autres que ceux de l’alphabet, de sorte que même si le lecteur ne comprend pas le propos, il n’en demeure pas moins capable de se l’approprier un tant soit peu par une première interprétation phonétique ;
- où les concepts sont aisément exprimables par des combinaisons lexicographiques qui offrent une analogie directe et explicite des combinaisons conceptuelles qu’elles désignent. Il ne s’agit pas là de prohiber l’usage de nouvelles racines courtes pour des concepts fréquents et d’inciter à l’agglutination lexicale à outrance, mais simplement de mettre en valeur la facilité d’énonciation dont on souhaite disposer.
À l’opposé de ce qui est recherché ici, on trouve des écritures pictographiques comme celle du dongba, ou l’écriture idéographiques de Frege. Et entre les deux, on trouve les idéo-phonogrammes chinois, et une majorité de langages de programmation, où les symboles pictographiques tels que les chiffres arabes, les parenthèses, les accolades et les guillemets côtoient couramment un lexique de mots utilisant l’alphabet latin. Et même ces derniers s’avèrent souvent prononçables uniquement en les épelant où en les prenant comme phono-pictogrammes, car ils résultent d’apocopes, comme str, ou de condensations sous forme de sigle comme WSDL. Avoir une conversation orale sur un code source peut rapidement s’avérer pénible du fait de ces pratiques. De plus ces caractéristiques permettent assurément l’obfuscation, voire facilite l’intégration de code malicieux, dont la syntaxe diffère d’un code inoffensif d’un seul caractère non-alphabétique.
Ces considérations prises en compte, le projet nécessite un lexique phonétique, ce qui est le cas de l’espéranto, et pas par exemple de l’anglais qui est majoritairement utilisé comme base lexicographique des langages de programmation. Assurément, ce choix majoritaire n’est pas motivé par le fait que l’anglais soit particulièrement adapté par sa grammaire ou sa morphologie lexicale. Plus certainement, ces décisions sont guidées par la popularité de l’anglais en tant que langue internationale de fait. Ce sont aussi des raisons de popularité qui guident ici le choix de l’espéranto, qui est actuellement la langue construite possédant vraisemblablement le plus de locuteurs. L’anglais, pas plus qu’aucune langue résultant d’un processus historique avec son lot d’entropie, n’est pas envisageable pour le présent projet. À l’inverse, des langues comme le lojban, qui pourraient s’avérer intéressantes en termes de grammaire et de morphologie lexicale, manquent encore cruellement de locuteurs.
Le choix de l’espéranto résulte donc de cette double exigence :
- la popularité : l’existence d’un réseau mondial supercentenaire de locuteurs, qui peut s’appuyer sur un corpus littéraire déjà important pour se maintenir et se développer davantage ;
- les caractéristiques linguistiques : une grammaire à la fois régulière et souple dans les combinaisons et les flexions des morphèmes.
Conceptualisation et verbalisation
[modifier | modifier le wikicode]Dans cette section on prendra soin d’analyser les études existantes en matière de liens entre conceptualisation et verbalisation, pour jauger l’hypothèse qu’une facilitation de verbalisation peut aider à l’acte de conceptualisation.
La supériorité de l'identification des mots par rapport aux non-mots, nous indique que les seuils d'identification, qu’on notera , suivent l’ordonnancement suivant[1] :
- ceux de stimulus significatifs, qu’on note S, sont inférieurs à ceux des stimulus non significatifs, qu’on note non-S ;
- ceux des stimulus prononçables, qu’on note P, sont inférieurs à ceux des non prononçables, qu’on note non-P ;
- ceux des stimulus prononçables non significatifs sont inférieurs à ceux des stimulus non prononçables significatifs.
Soit de manière formelle, en notant la relation d’ordre inférieur à :
De plus, on retiendra du même document que :
- si la supériorité du mot sur le non-mot non prononçable en particulier a été mise en évidence dans la plupart des tâches qui viennent d’être présentées, la facilité à identifier une lettre présentée dans un mot par rapport à une lettre présentée seule dépend et de la tâche et de la variable dépendante qui est choisie ;
- les seuils d'identification des syllabes étaient inférieurs à ceux des sigles, c'est-à-dire que le facteur prononçabilité est plus important que la signification.
Constats qui appellent à ne pas suivre la pratique courante qui consiste à :
- réduire les termes des expressions d’un code source à une seule lettre[2] ;
- réduire à des monosymboles tous les termes d’une expression ;
- utiliser des monosymboles décorrélés de toute prononciation usuelle ;
- utiliser des monosymboles qui ne font pas partie de l’alphabet de la langue utilisée dans le reste du document.
Voir :
- La supériorité de l'identification des mots par rapport aux non-mots
- Évaluation de la compréhension de l’écrit chez l’adulte
- Inférences et compréhension de texte
- L'intervention des facteurs pragmatiques dans la compréhension des phrases relatives chez l'adulte
- La conception du traitement syntaxique en compréhension de phrases
- Étude d'une tâche de détection et d'identification par le biais des différences individuelles
- La mesure des compétences lexicales : effets des instruments utilisés
Usages de pratiques non-espérantophones
[modifier | modifier le wikicode]Les lettres q, w, x et y ne font pas partie de l’alphabet espéranto à proprement parler. Cependant, dans le cadre des mathématiques, il est courant de les utiliser en tant que nom de variable. Il est aussi courant d’utiliser x à la suite d’une lettre de l’alphabet espéranto possédant une diacritique quand le système ne permet pas de les saisir aisément (on écrira ux à la place de ŭ).
C’est dans le même esprit que sont faites les propositions suivantes, qui n’ont pas vocation à étendre l’espéranto en tant que langue, et en aucun cas à substituer ses règles de grammaire et son lexique dans l’usage courant. Tout au plus, ces propositions visent à remplacer des usages spécifiques aux domaines qui nous concernent, et uniquement dans le cadre d’un code source. Ainsi, si on propose ici de remplacer l’usage des chiffres arabes pour exprimer des nombres dans les expressions arithmétiques, en aucun cas il ne s’agit de remplacer l’usage de unu, du, tri, kvar, etc. dans l’usage littéraire courant.
Lexiques et structures phonétiques
[modifier | modifier le wikicode]Mathématiques
[modifier | modifier le wikicode]Numérotation syllabique
[modifier | modifier le wikicode]Spécification
[modifier | modifier le wikicode]L’arithmétique usuelle utilise dix symboles pour représenter les chiffres qui représentent un nombre. Éventuellement seize dans le cas des nombres en base hexadécimale. Une base à plus de chiffre est possible, mais rare en pratique, même dans le cas assez commun de la base sexagésimale (les soixante minutes de l’heure, etc.), on n'utilise généralement que dix chiffres. Toujours est-il que l’usage des chiffres arabes vient ici se mettre en travers de notre objectif d’écriture complètement phonétique. Et utiliser les noms communs que propose l’espéranto irait à l’encontre de notre souhait de concision, d’une part, mais surtout constituerait une régression technique par rapport à l’utilisation de la notation positionnelle.
C’est pourquoi il nous faudra faire ici usage d’une méthode originale. Une première approche serait d’utiliser une voyelle pour chaque chiffre du nombre, un par puissance dans la base utilisée. Avec une telle méthode il faudrait donc utiliser au moins une voyelle pour chaque chiffre. Or l’espéranto ne comporte que cinq voyelles. On peut certes se contenter d’une base deux pour représenter tous les nombres, mais cela est fort peu commode. Une base cinq, bien que déjà plus commode, ne correspond pas aux usages arithmétiques courants. Il convient ici de dégager une notation permettant a minima de s’exprimer en base dix et, idéalement, de facilement pouvoir utiliser des bases plus ou moins grandes. De plus, on peut s’ajouter la contrainte de faciliter autant que possible l’apprentissage de cette numérotation, notamment pour les espérantophones.
Propositions pour le codage des chiffres
[modifier | modifier le wikicode]Toutes ces conditions étant posées, nous proposons l’usage suivant :
Chiffre standard[3] | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Chiffre syllabique | a | e | i | o | u | ea | ee | ei | eu | ia | ie | io | iu | oa | oe | oi | ou |
Pour éviter toute confusion avec des mots du vocabulaire espérantophone comme ia, ie, io, iu, les chaînes numériques devraient être cofixées d’un lexème spécifique.
L’espéranto possède déjà les mots cifero pour désigner un chiffre numérique et ĉifro pour désigner un chiffrement au sens cryptographique. Pour rester proche de ces lexèmes sans créer de collision lexicale, il est par exemple possible de suggérer le préfixe cifr-. Avec une telle proposition cifria représente le nombre neuf.
Une autre possibilité pour favoriser la concision tout en restant dans l’espace lexicale espérantophone est d’employer une syllabe aussi courte que possible qui ne crée aucune (ou peu) de collision avec l’espace lexical existant. Une telle syllabe ne saurait comporter un unique élément (syllabe unistœchiale), puisque tous les éléments de l’alphabet apparaissent dans au moins un lexème. À minima il faut donc utiliser une paire de segments, dont une voyelle si le lexème doit former une syllabe indépendante. Du côté de la consonne, la moins employé en espéranto est la fricative vélaire sourde noté ĥ. En se référent au PIV, il apparaît rapidement que ĥa, ĥe, ĥo, ĥi débutent plusieurs mots, voir constituent des mots à part entière. En revanche ĥu n’apparaît qu’au début de ĥuramo, qui se trouve être de plus un terme technique fort rare issue des rituels initiatiques de la franc maçonnerie. La situation est similaire pour ce qui est de préfixer cette consonne d’une voyelle, avec cette fois aucune collision trouvé sur uĥ. Aussi uĥia pourrait sans ambiguïté représenter neuf en utilisant la base quinaire présentée ci-dessus.
Il est également possible d’introduire un élément exogène à l’espéranto. Par exemple utiliser q comme préfixe de quantificateur. Et donc d’avoir qia pour représenter neuf. Une telle proposition demande de définir également la prononciation associé à cette lettre. Traditionnellement l’espéranto la nomme kuo. Cependant ku- débute de nombreux mots, ce qui constituerait donc un choix inadéquat pour les présents objectifs. Une approche moins source de collision lexicale est se prononcer q comme /kw/, deux phonèmes déjà présents dans les compétences des locuteurs espérantophones. Cette combinaison phonique se restitue cependant traditionnellement kŭ en espéranto. Elle débute uniquement deux mots référencés dans le PIV : kŭaks!, onomatopée du cri du crapaud et Kŭanĵuo, adaptation du nom d’une ville coréenne. Il est également possible d’ajouter une phonème distinct, comme l’occlusive dorsale uvulaire orale non voisée [q]. Avec ce système qia pourrait sans ambiguïté représenter neuf en utilisant la base quinaire présentée ci-dessus, quelle que soit la façon retenu pour le prononcer.
Chiffre arabe | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Chiffre syllabique | ab | ad | ed | id | od | ud | af | ef | if | of | uf | ag | eg | ig | og | ug |
Prononciation API | /ab/ | /ad/ | /ed/ | /id/ | /od/ | /ud/ | /af/ | /ef/ | /if/ | /of/ | /uf/ | /ag/ | /eg/ | /ig/ | /og/ | /ug/ |
Le choix des lettres suit une méthodologie exposée en annexe. En résumé la construction suit approximativement l’ordre alphabétique, d’abord des voyelles, puis des consonnes. L’adjonction d’une consonne suffixée permet de dépasser la limitation des cinq voyelles en ne dépassant pas l’emploi de plus d’une seule syllabe. Dans le tableau précédent, la proposition présente le cas des seize premiers chiffres et le processus peut cependant facilement se poursuivre.
Nous allons voir un peu plus loin que cette notation va nous offrir des commodités notationnelles que ne possède pas le système décimal classique. Voici déjà quelques exemples simples pour illustrer ce qui a déjà été exposé :
- Quarante deux : oded
- Six-cent-soixante-six : afafaf
- Mille vingt-quatre : ad-abedod
- Trois milliards : id-ababab-ababab-ababab
Proposition pour le codage des puissances
[modifier | modifier le wikicode]Codage des premières puissances
[modifier | modifier le wikicode]Les exemples en fin de précédente section peuvent donner l’impression que notre codage n’est pas si commode que cela en termes de prononciabilité, particulièrement le dernier (id-ababab-ababab-ababab). Cependant, nous pouvons sans problème user de préfixes pour indiquer des puissances qui vont permettre d’économiser de nombreux ab lorsque le nombre comprend des zéros. Il s’agit tout simplement d’un équivalent à la notation ingénieur où la voyelle et la consonne suffixée jouent le rôle de mantisse et la consonne préfixée joue le rôle d’exposant. Vu le nombre limité de consonnes utilisables, il est préférable d’associer aux premières les exposants les plus courants : unité, dizaine, centaine, millier, million, milliard, billion (voir note pour ce dernier) et de réserver les autres pour l’expression de nombres beaucoup plus grands.
Ordre | unité | dizaine | centaine | millier | myriade | lack | million | milliard | billion | ||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Exposant[4] | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
Consonne associée | b | d | f | g | j | k | l | m | n | p | r | s | t |
Ainsi trois milliards s’exprimera par pid, plutôt que le fastidieux id-ababab-ababab-ababab.
Il apparaît clairement que, sans mécanisme supplémentaire, nous ne saurions exprimer les dizaine de milliers et les centaines de milliers. L’usage français usuel offre justement une solution : par convention, lorsque, quand dans deux ordres de grandeurs qui se suivent, le second est supérieur ou égal au premier, cela indique une multiplication par l’ordre du second de tout ce qui le précède. Ainsi en français dix mille vaut , soit ; ou exprimé encore autrement .
En effet, on peut considérer que, dans l’exemple précédemment donné, pid fait implicitement référence à bab () comme point de repère. Ainsi pid et pidbab font référence au même nombre, tout comme et .
Ainsi on aura :
- dix mille : jad
- cent mille : kad
- mille milliards (un billion) : tad
- neuf billion de billion : toftab (toftabbab)
Une forme plus générique de notre mécanisme peut s’exprimer par , avec
- l’indice de chaque syllabe ;
- le nombre de voyelle ;
- la valeur de la mantisse codée par la voyelle ;
- la base utilisée ;
- la valeur de l’exposant codée par la voyelle ;
- le modificateur contextuel de l’exposant valant :
- , c’est-à-dire la valeur de l’exposant de la voyelle suivante, si celle-ci est définie et que ;
- zéro sinon.
Différencier chiffre, nombre et autres
[modifier | modifier le wikicode]Il est possible d’ajouter au codage un mécanisme qui permet d’explicitement faire référence à un chiffre, c’est-à-dire un élément d’une base, distinct de l’unité qu’il peut servir à coder. Comme c ne fait pas partie des lettres retenues pour coder une base, et qu’il correspond à l’initiale du mot chiffre (cifero en espéranto), nous pouvons l’utiliser à cette fin. Ainsi cab codera le chiffre zéro, tandis que bab code le nombre zéro.
De la même manière, il peut être intéressant de distinguer les valeurs, c'est-à-dire les termes quantités résultat d'une évaluation, d'autres objets mathématiques pour lesquels il est commode de disposer d'une nomenclature : variables, inconnues, noms, paramètres, indéterminées[5]. Ainsi on introduit l’usage de la lettre q, à prononcer /kw/ (comme dans quoi, /kwa/)[6].
Suffixé de a, elle indique un nombre : qabab, zéro. De même avec qe, qi, qo, qu, qy, le préfixe introduira respectivement une variable, une inconnue, un nom, un paramètre, une indéterminée. Ces possibilités seront utiles notamment en algèbre.
Ainsi, plutôt que de parler de des inconnues x et y, on codera qi-ab et qi-ad, tout comme on code parfois . Cependant, dans ce dernier cas, on nomme des inconnues par une série d'indices, ce qui devrait plutôt se transcrire qi-qo-ab, qi-qo-ad, etc. On peut ainsi exprimer des subtilités comme la différence entre (x indexé par i, lui-même indexé par j) et (x indexé par le couple i et j), l’équivalent du premier pouvant s’énoncer qiqoabqoad (qiqoabqoad) et le second qiqoabqoqoad (qi-qo-ab-qo--qo-ad). Dans ce dernier cas, comme le transcrit la césure, le qo suivant ab devrait être suivi d'un nombre nominatif, et l’apparition d’un nouveau marqueur qo introduit l’absence d’un tel terme, ce qui fait en quelque sorte de ab un « nom contextuellement anonymisé ». Pour le dire en faisant un clin d’œil au lambda calcul, le codage indique explicitement que dans l’expression (x indexé par j et i, ce dernier étant lui-même indexé par lambda[7]), le lambda ne fait référence à aucun terme nommé, à la différence près que, dans le codage syllabique proposé, l’absence de nominatif est explicité par l’absence d'un terme dans le contexte explicité.
Il est également possible d’utiliser des préfixes supplémentaires aux précédents pour indiquer d’autres typologies numériques. Par exemple, pour les nombres transfinis, il est possible d’utiliser le préfixe trans-. Ainsi transbab ou transqabab peut-il coder Aleph-zéro.
Nombre négatif
[modifier | modifier le wikicode]L’espéranto comportant déjà le préfixe mal- pour signifier un contraire, il est inutile d’en chercher un autre.
Même dans le cas où on utiliserait une base suffisamment élevée pour qu’elle comprenne le chiffre al :
- il ne devrait y avoir aucune ambiguïté pour le nombre mal seul, puisqu’un indicateur de signe seul n’aurait pas plus de sens qu'un simple - ne préfixant aucun nombre ;
- tout autre nombre dont le chiffre de plus grande puissance est mal peut s’exprimer malqamal… (voir plus loin pour l’usage des préfixes en q) pour éviter toute ambiguïté.
En résumé le codage du contraire peut suivre les règles suivantes :
- si al n’est pas un chiffre dans la base courante, mal peut préfixer directement n’importe quel nombre sans faire usage de préfixe en q : moins trois se codera mal-bid ;
- si le nombre est exprimé avec un préfixe en q, le codage du contraire doit lui être préfixé : -3 peut donc se coder mal-qa-bid, mais pas qa-mal-bid ;
- si al fait partie de la base,
- comme précédemment mal code le signe de négativité lorsqu’il préfixe le préfixe qa ;
- en l’absence de préfixe en q, mal code toujours le chiffre correspondant élevé à la puissance qu’indique son contexte d'apparition, à l’instar des autres syllabes.
Codage des subdivisons
[modifier | modifier le wikicode]Étant donnés les choix effectués à la section précédente, il devient trivial de définir le codage des subdivisions, tel que les nombres à virgule. En effet, si tout les chiffres précédant l’unité sont codé en tant que multiple de la base à un exposant positif, l’idée d’utiliser un exposant négatif pour les chiffres qui lui succède vient sans difficulté. Il ne manque qu’un indicateur spécifiant cette inversion, comme eb.
Il convient simplement de préciser qu’on code alors les exposants modifiés par le contexte relativement à leurs prédécesseurs et non plus à leurs successeurs. Ainsi neuf milliardième de billionième () se codera ebbabmabnof.
Et neuf milliard et neuf milliardième se codera ebmofbabmof.
De façon plus intéressante, le codage de multiples subdivisions, comme pour les sous-unités du degré et également facilement codable. Comme le zéro utilise le b posfixé de manière isolé, l’adjonction de cette consonne aux quatre autres voyelles de l’esparanto (eb, ib, ob, ub) peut être utilisé pour coder un autre mécanisme. Et puisque l’ordre de l’unité, et notamment zéro, sert déjà de marqueur de séparation (avec un autre entier), utiliser ces « autres zéros » comme marqueur de subdivisions successives relève d’une généralisation pourvu d’une certaine cohérence.
Ainsi 27°32′51″ peut-il se coder debbef-ib-didbed-ob-dudbad. Évidemment, rien n’empêche de mélanger cela avec des nombres avec des subdivisions de l’unité utilisant eb, comme précédemment exposé.
Au-delà du réel, les nombres à plusieurs dimensions
[modifier | modifier le wikicode]Les nombres complexes, les quaternions, octonions et autres peuvent également être pris en compte par le présent codage. Pour se faire, il est nécessaire d’introduire une nouvelle voyelle. C’est la lettre y qui est retenu, à prononcer /y/ (comme dans bulle, /byl/).
Cela introduit certes une voyelle extra-espérantophone, mais par laquelle il devient aisément possible d’exprimer des nombres à deux cent cinquante six dimensions. En effet, y seul permet d’indiquer un premier changement de dimension. De yb à yz, puis de by à zy, trente possibilités sont utilisable, auxquels s’ajoutent les deux cent vingt-cinq allant de byb à zyz.
Ainsi 5+3i peut se coder udyid (ud-y-id), où plus explicitement bud-y-bid.
En faisant le choix de respecter un ordre d’énonciation des dimensions, et donc des séparateurs les indiquant, il devient possible d’omettre les dimensions où la valeur est nulle. Ainsi :
- ybib correspond à l’imaginaire pur de valeur trois (3i) ;
- badzyzbid correspond au vecteur de deux cent cinquante six dimensions, toutes nulles, sauf la première et la dernière qui valent respectivement un et trois.
Réflexions sur la graphie
[modifier | modifier le wikicode]Par rapport à l’écriture positionnelle en chiffres arabes la graphie de la numérotation syllabaire exposé ici est beaucoup moins concise. Tout du moins pour des nombres comportant de nombreux chiffres non nuls. Cela n’aide pas nécessairement à la lisibilité. L’utilisation de tirets, comme dans gad-dod, est une première possibilité d’aide à la lecture.
Une seconde possibilité serait d’utiliser un alphabet syllabaire. Une première implémentation envisageable serait d’associer les prononciations des chiffres aux chiffres arabes, en y adjoignant une graphie signalant par quel puissance de la base le chiffre est multiplié. Ceci ne conviendrait cependant pas pour des bases plus grandes que dix. De plus cela ne satisferait pas pleinement la contrainte de facilité de lecture phonétique.
Une autre implémentation envisageable consiste à simplement empiler les composantes de chaque syllabe, plutôt que de les aligner. Ainsi gad-dod deviendrait [8]. Pour obtenir des graphies à la fois plus harmonieuse et lisible, un développement spécifique serait à envisager. Ainsi dans le cadre d'un tel développement il pourrait être envisagé :
- de rapprocher les consonnes de la voyelle, voir de les fusionner en nouveau glyphes facilement reconnaissables depuis les caractères dont ils sont issues[9] ;
- d’adapter taille des symboles résultants de façon à respecter une hauteur de capitale (comme les chiffres Didot), ou exploitant esthétiquement l’espace de la hampe ou du jambage (comme les chiffres elzéviriens).
Dans le cas de glyphes fusionnants, il serait envisageable d’utiliser :
- soit des méthodes de saisie composé, comme il en existe par exemple pour le japonais ;
- soit de les substituer à leur équivalant ASCII dans un langage de composition comme LaTeX.
Une approche plus radicale consisterait à développer un alphabet syllabique dont les composantes principales désignent des voyelles, et des diacritiques désignent les consonnes qui leur précède et succède.
Bilan sur la solution proposée
[modifier | modifier le wikicode]Le codage proposé offre une large souplesse d’expression des nombres, bien plus étendue que celle de la notation positionnelle en chiffres arabes, tout en respectant les contraintes initialement fixés :
- une relative concision avec seule syllabe par chiffre exprimée dans le cas des neuf premiers ordres de puissance de la base ;
- une possibilité de coder dans des bases étendue : facilité d’exprimer les nombres dans des bases allant à plus quatre-vingt ;
- le codage n’utilise pas de phonème étranger à l’espéranto, à une exception près pour coder des nombres multidimensionnels[10] ;
- les valeurs affectées aux consonnes et voyelles sont croissantes avec leur apparition dans l’ordre alphabétique.
Les deux derniers points peuvent être mis en avant sur l’aspect facilité d’apprentissage.
Pour les nombres beaucoup plus grand que le billion, il sera plus pertinent d’utiliser des fonctions permettant de les générer, avec des algorithme capable de générer des valeurs de l’ordre souhaité en peu d’itération.
Algèbre
[modifier | modifier le wikicode]Dans cette partie on s’intéresse aux structures algébriques et à la manière de les énoncer phonétiquement en espéranto.
Expression des polynômes
[modifier | modifier le wikicode]Pour rappel les polynômes sont usuellement représentés par un langage associant des lettres du début de l’alphabet latin aux coefficients (aussi dits paramètres), ceux du fin de l’alphabet aux inconnues, tandis que les termes numériques en exposant correspondent au degré (ou puissance) de l’inconnue.
Par exemple , ou encore avec plusieurs inconnues . Une notation plus générique peut faire usage d’indices : .
Ici en poursuivant logiquement la nomenclature débuté pour les nombre, il est facilement envisageable de transcrire la notation générique des polynômes avec qe- pour désigner les coefficients et qi-- pour les inconnues. Ainsi , soit , devient qebab-obl-qibab, l’affixe -obl- désignant la multiplication. Pour peut qu’un affixe permette de spécifier l’exposant d’une expression numérique, la construction en -obl-/-on-, devient calquable pour les puissances. Faute d’affixe consacré, en utilisant momentanément -um- à cet usage, se transcrit alors qebab-obl-qibab-um-qabed (ou qebab-obl-qibab-um-du).
Les opérations arithmétiques fondamentales
[modifier | modifier le wikicode]L’espéranto possède bien entendu déjà tout le vocabulaire nécessaire pour ces opérations, avec parfois des synonymes originaux très succins.
Nom de l’opération | Verbe décrivant l’opération | Nom de l’opérateur | Nom de l’opérande première | Nom de l’opérande seconde | Nom du résultat premier | Nom du résultat second | |||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
fr | eo | fr | eo | fr | eo | fr | eo | fr | eo | fr | eo | fr | eo |
Négation | negacio | négativer | negativaĵi / negativi / maligi | moins | minus | negaciato* / malato* | N/A | contraire opposé / négatif | negativaĵo / malo | N/A | |||
Addition | adicio / sumigo | additionner / sommer | adicii / sumigi | plus | plus / kaj | cumulande | cumulateur | adiciato / |
somme | sumo | N/A | ||
Soustraction | subtraho | soustraire | subtrahi | moins | minus | diminuende | malpliigato | dimunuteur | subtrahato | différence | diferenco | N/A | |
Multiplication | obligo | multiplier | obligi / multipliki | fois | fojo / -obl- | multiplicande | obligato | multiplicateur | obliganto | produit | oblo / produto | N/A | |
Division (Fraction) | divido / onigo* | diviser | dividi / onigi | divisé par / que divise | -on- | dividende / numérateur | dividato / numeratoro / numeranto / onigato* | diviseur / dénominateur | dividanto / denominatoro / nomanto / oniganto | quotient / rapport | kvociento | reste | resto |
Exponentiation / Antilogarithme / Puissance | potenco / eksponencialo / altigo* | Élever à la puissance | potenci/ altigi | puissance / exposant | alt | base | bazo / potencato / altigato* | exposant / (nombre) facteur | eksponento / potenciganto | exponentielle | N/A | ||
Logarithme | logaritmo / radikigo* | extraire la racine | radiki | log (n) de | (n-a-)radik / (n-a-)malalt* | facteur | faktoro / radikato | base | bazo / (radik)eksponento | racine | radiko | N/A |
Le tableau fait ressortir une forte hétérogénéité des racines lexicales pour les différents termes liés à une même opération, y compris en espéranto. Cependant il est possible de dégager un motif lexical à partir des pratiques espérantophones. Notamment celui-ci autorise à créer des termes adhoc à partir d’une racine relative à une opération en y adjoignant des affixes propres à signifier le rôle des termes dérivés. Les termes ainsi forgé et présent dans le précédent tableau et qui ne font pas partie d’un usage avéré, notamment qu’on ne trouve pas tel quel dans le PIV, sont suffixé d’une astérisque. Ces termes sont cependant corrects du point de vue grammaticale.
Cependant la régularité des constructions n’est pas toujours favorisée par l’usage courant. Pour adici- par exemple, le second argument du prédicat correspondant doit prendre une fonction grammaticale d’objet, et en aucun cas de sujet[11]. Il en découle que le substantif désignant le second argument prends la forme d’un participe présent passif, plutôt qu’un participe présent actif à l’instar de la multiplication, et que le premier argument se retrouve sans substantif générique distinct. Ceci étant, l’espéranto offre une palette d’expressivité suffisamment large pour contourner cette problématique. Plutôt que adici- il est possible d’utiliser sum-, plus-, ou pli-. Ces radicaux ont une sémantique accordable à l’opération d’addition, et ne souffrent pas des mêmes contraintes syntaxiques que adici-. Une autre façon de contourner ce type de contrainte syntaxique fait appel au préfixage d’une préposition au prédicat. Ainsi le verbe peradicii pourrait se traduire (calculer) au moyen de l’addition.
Ainsi, en posant -um- comme racine relative à une opération quelconque, l’usage majoritaire dans les cas de mots composés du tableau précédent permet de dégager une nomenclature générique où :
- umigi désigne le verbe/prédicat de l’opération ;
- umigo désigne le type de l’opération ;
- -um- désigne l’opérateur prenant la première opérande en préfixe et, s’il y a lieu, la seconde opérande en suffixe ;
- umato désigne la première opérande ;
- umanto désigne, le cas échéant, la seconde opérande ;
- umo désigne le résultat de l’opération.
Fonctions usuelles
[modifier | modifier le wikicode]Dans cette partie on liste les fonctions mathématiques les plus courantes et les façon de représenter leurs applications de façon phonétique.
Programmation
[modifier | modifier le wikicode]Dans cette partie on s’intéresse aux outils lexicaux et grammaticaux utiles pour des langages de programmation phonétiques.
Les mécanismes de référence et de spécification de portée
[modifier | modifier le wikicode]Vocabulaire
[modifier | modifier le wikicode]Pour le reste de cette section on fera usage du vocabulaire présenté dans le tableau suivant quand il s’agit de désigner une instruction d’affectation du résultat d’une opération noté •.
Notation succincte usuel | (agent) | a | = | e | • | i |
---|---|---|---|---|---|---|
Notation succincte espérantiste | (aganto) | aĵon | igu | anto | umi | ato |
Terminologie présentement utilisé | opéreur | opéré | synopérateur
/ opérateur d’affectation |
coopérateur | opérateur | opérande |
(opérateur) symposé | (opérateur) composé | |||||
opération | ||||||
opérure |
Nom proposé | Définition | Étymologie |
---|---|---|
opéreur | Agent (ordinateur/personne) qui effectue les instructions. | De opérer, accomplir une œuvre, produire un effet, avec le suffixe nominal -eur désignant une personne ou un appareil impliquée dans une action. |
opéré | Élément auquel est affecté le résultat (ou plus précisément référence à cet élément). | Par analogie au patient d’une opération chirurgicale. |
synopérateur
/ opérateur d’affectation |
Symbole d’affectation. | Avec le préfixe syn-, par analogie avec synchronisateur. |
coopérateur | Élément qui paramètre le facteur de l’opérateur, quand un tel paramètre existe. | Avec le préfixe co- marquant l’adjonction. |
opérateur | Élément qui paramètre le type de l’opération à effectuer. | Usage ordinaire. |
opérande | Élément sur lequel s’applique l’opérateur (tel que paramétré par le coopérateur le cas échéant). | Terme déjà en usage avec un sens généralement plus lâche qui comprend également ce qui est désigné ici par coopérateur et opéré. |
(opérateur) composé | Désigne la paramétrisation d’un opérateur avec un coopérateur. | |
(opérateur) symposé | Désigne la paramétrisation d’un synopérateur avec un opéré. | Terme déjà en usage avec un sens plus restreint réduit à ce qui est désigné ici comme opérème. |
opération | Syntagme opératoire opérant l’opérateur sur l’opérande. | Terme d’usage courant. |
opérure | Congloméra de l’opération et de son affectation à l’opéré. | Avec -ure, comme écriture, gravure, griffure, etc. qui donne l’idée de laisser une marque d’une opération. |
Spécification des mécanismes à dénoter
[modifier | modifier le wikicode]Pour chaque instruction et ensemble d’instructions qu’on veut faire exécuter, il faut pouvoir exprimer lesquels et sous quel modalité.
Toute interprétation de code mécanisé se fait par segmentation. Hors, si élaboré soit-il, un programme peut être interprété par une segmentation purement statique. Il est parfois plus pratique de disposer d’une segmentation dynamique qui permet de spécifier la segmentation à utiliser dans le programme lui-même, ou tout du moins de la moduler.
Un mécanisme extrêmement utile et courant dans les langages de programmation est celui qu’une portion du code est auto-référentielle et permet d’indiquer qu’une portion du discours n’est pas à interpréter, tout au moins pas directement comme le reste du code. Les principales applications de ce type de mécanisme sont :
- le codage de chaînes littérales à manipuler/afficher par le programme ;
- les commentaires permettant d’expliquer le code ou de temporairement en désactiver une partie ;
- la génération dynamique de morceaux de code.
Quelle que soit l’application, un nombre réduit de mise en œuvre est possible :
- utilisation de deux mots clés identiques ou complémentaires ;
- utilisation d’un seul mot clé dont la porté d’action est prédéfini ;
- utilisation d’un mot clé dont la porté est spécifiée dynamiquement :
- dans le code (dynamique structurelle);
- à l’exécution (dynamique performative).
Par exemple, dans le code lua suivant :
--[[
print("10") -- no action (comment)
--]]
---[[
print('10') --> 10
--]]
utilise
- les paires de chaînes distinctes
- -- et -- pour les commentaires multilignes ;
- -- et \n (retour chariot) pour les commentaires monolignes ;
- les paires de mots clés identiques " et ' pour les littéraux.
Au passage on note ici comment des mécanismes de citation peuvent être combinés pour obtenir des résultats ingénieux (ou catastrophiques).
Le code suivant illustre la spécification dynamique des séparateurs à prendre en compte
cat <<FINO
citu vortoj kaj esprimoj
FINO
citu vortoj kaj esprimoj
echo "citu@vortoj@kaj@esprimoj" | awk 'BEGIN { FS = "@" } ; { print $1" "$2" "$3" "$4 }'
citu vortoj kaj esprimoj
echo "citu@vortoj@kaj@esprimoj" | awk 'BEGIN { FS = "o" } ; { print $1" "$2" "$3" "$4 }'
citu@v rt j@kaj@esprim j
Remarquons enfin qu’un même mot clé peut-être utilisé successivement pour terminer des citations imbriqués :
while condition1 do
if condition2 then
block
end -- Fin de l'imbrication if
end -- Fin de l’imbrication while
Pour exprimer ces mécanismes de manière plus espérantiste, on pourrait par exemple utiliser :
- la préposition ekde pour définir dynamiquement l'opérande marquant le début des arguments,
- la préposition ĝis pour définir dynamiquement l'opérande marquant la fin des arguments,
- le suffixe collectif -op- pour indiquer le nombre de termes concerné.
Il faut préciser que les opérandes peuvent être assez varié : il peut s’agir de spécifier « depuis la ligne trois jusqu’à douze », ou « depuis le mot "début" jusqu’au mot "fin" », à quoi il est possible d’ajouter des précisions d’inclusion ou d’exclusion des bornes fournis.
On peut ainsi imaginer que le code
ĝis fino printu ĉi estas la printonta frazo fino
soit interprété comme l'instruction d’affichage de la chaîne de caractère "ĉi estas la printonta frazo" dont la fin est indiqué par le terme fino, définie dynamiquement. Pour être tout à fait complet, il faudrait également préciser comment chaque caractère est pris en compte, notamment les espaces[12] après printu et avant fino, qui servent eux-même à segmenter l’expression à interpréter. On peut prévoir des mots supplémentaires pour indiquer différents comportements notamment :
- négliger les espaces initiale et finale ;
- négliger tous les espaces initiaux et finaux ;
- tenir compte de tous les espaces.
Pour se faire, on peut par exemple envisager de l'indiquer par
- un paramètre ayant la forme d'un adverbe ;
- proposer des variantes affixées de l’opérateur.
Pour le premier cas, on peut par exemple proposer l'adverbe senpintspace (sen-pinto-space, sans les espaces des bouts), ou à l’inverse kunpintspace qui viendrait écraser le comportement par défaut.
Pour le second cas, à défaut d'un affixe idoine ou d'un lexème pertinent à agglutiner, il est toujours possible d’utiliser -um-, soit printumu, citumu…
Backus–Naur Form et prononcebla metalingvo
[modifier | modifier le wikicode]Dans le cadre de cette section il s’agit de décrire des grammaires de langage de programmation. Il est d’usage pour ce faire d’utiliser la Backus–Naur Form.
Cette syntaxe permet par exemple décrire ainsi la syntaxe d'une structure de contrôle conditionnelle :
<structure_if> ::= if "(" <condition> ")" "{" <code> "}"
Il est également possible d’écrire le langage BNF en BNF, comme donné dans l’article Wikipédia anglophone.
<syntax> ::= <rule> | <rule> <syntax>
<rule> ::= <opt-whitespace> "<" <rule-name> ">" <opt-whitespace> "::=" <opt-whitespace> <expression> <line-end>
<opt-whitespace> ::= " " <opt-whitespace> | ""
<expression> ::= <list> | <list> "|" <expression>
<line-end> ::= <opt-whitespace> <EOL> | <line-end> <line-end>
<list> ::= <term> | <term> <opt-whitespace> <list>
<term> ::= <literal> | "<" <rule-name> ">"
<literal> ::= '"' <text> '"' | "'" <text> "'"
Il est évidemment pertinent pour le présent projet de définir une alternative à la BNF qui se débarrasse des symboles non-prononçables. Pour ce faire, il est par exemple possible d’utiliser la lettre q pour débuter les mots du métalangage. Celle-ci ne faisant pas partie de l'alphabet espéranto, elle en fera mieux distinguer ces mots. De façon fortuite, c’est également le symbole qui sert d'opérateur de citation en Perl.
Symbole | équivalent | Description |
---|---|---|
qi mot | <mot> | Indique que mot désigne une catégorie du langage. Dans notre métalangage, par défaut, c’est la prochaine suite de caractères non-blancs qui est à considérer. On peut prévoir des affixes spécifiques pour signaler qu'on veut prendre en compte ou non tous les caractère jusqu'à un mot clé spécifié, avec ou sans les espaces qui suivent le premier et précèdent le second. Par exemple "qiĝisfino l'arbre pousse dans la forêt fino" capturera la chaîne "l'arbre pousse dans la forêt", en omettant l'espace juste après qiĝisfino et celui avant fino. On peut aussi prévoir un affixe qui n'attends pas de blanc pour commencer à capturer et avec un mot clé de fin prédéfini, ainsi avec le suffixe -i on obtient qii et en prenant l’occurrence de ce même mot comme marqueur de fin on aura "qiil'arbre pousse dans la forêtqii" qui capturera la chaîne "l'arbre pousse dans la forêt" et "qii végétation qii" qui capturera " végétation " avec les espaces initiaux et finaux. |
qiĝu | ::= | Associe le mot qui précède l'opérateur à la description qui le suit. |
qo mot | "mot" ou 'mot' | Indique explicitement que mot est un littéral. |
qaŭ | | | Indique une alternative à la forme que peut prendre la structure qu'on décrit. |
EBNF | ||
qe | () | Indique une encapsulation. Cet opérateur n'a évidemment d'intérêt qu'en combinaison avec des affixes qui stipulent plus d'un opérande à prendre en compte. |
qu | [] | Indique un opérande optionnel. |
-ara | * | Indique que l'opérande peut être répété aucune ou plusieurs fois. |
-obla | + | Indique que l'opérande doit être répété au moins une fois. |
-duuma | ? | Indique que l'opérande doit être répété au plus une fois. |
BNF de la BNF | BNF avec des descripteurs syntaxiques espéranto de la BNF |
---|---|
<syntax> ::= <rule> | <rule> <syntax>
<rule> ::= <opt-whitespace> "<" <rule-name> ">" <opt-whitespace> "::=" <opt-whitespace> <expression> <line-end>
<opt-whitespace> ::= " " <opt-whitespace> | ""
<expression> ::= <list> | <list> "|" <expression>
<line-end> ::= <opt-whitespace> <EOL> | <line-end> <line-end>
<list> ::= <term> | <term> <opt-whitespace> <list>
<term> ::= <literal> | "<" <rule-name> ">"
<literal> ::= '"' <text> '"' | "'" <text> "'"
|
<sintakso> ::= <regulo> | <regulo> <sintakso>
<regulo> ::= <fakultativa-blanka-spaco> "<" <regulo-namo> ">" <fakultativa-blanka-spaco> "::=" <fakultativa-blanka-spaco> <esprimo> <linifinilo>
<fakultativa-blanka-spaco> ::= " " <fakultativa-blanka-spaco> | ""
<esprimo> ::= <listo> | <listo> "|" <esprimo>
<linifinilo> ::= <fakultativa-blanka-spaco> <dosierfino> | <linifinilo> <linifinilo>
<listo> ::= <termo> | <termo> <fakultativa-blanka-spaco> <listo>
<termo> ::= <literalo> | "<" <regulo-namo> ">"
<literalo> ::= '"' <teksto> '"' | "'" <teksto> "'"
|
BNF du prononcebla metalingvo | Description du prononcebla metalingvo en prononcebla metalingvo |
<sintakso> ::= <regulo> | <regulo> <sintakso>
<regulo> ::= <blankspaco> "qi" <blankspaco> <regulo-namo> <blankspaco> "qiĝu" <blankspaco> <esprimo> <linifinilo>
<blankspaco> ::= " " <blankspaco> | " "
<esprimo> ::= <listo> | <listo> <blankspaco> "qaŭ" <blankspaco> <esprimo>
<linifinilo> ::= <blankspaco> <dosierfino> | <linifinilo> <linifinilo>
<listo> ::= <termo> | <termo> <blankspaco> <listo>
<termo> ::= <literalo> | "qi" <blankspaco> <regulo-namo> | "qifino" <blankspaco> <regulo-namo> <blankspaco> "fino" | "qii" <regulo-namo> "qii"
<literalo> ::= <literalo> | "qo" <blankspaco> <teksto> | "qofino" <blankspaco> <teksto> <blankspaco> "fino" | "qoi" <teksto> "qoi"
|
qi sintakso qiĝu qi regulo qaŭ qi regulo qi sintakso
qi regulo qiĝu qi blankspaco qofino qi fino qi blankspaco qi regulo-namo qi blankspaco qo qiĝu qi blankspaco qi esprimo qi linifinilo
qi blankspaco qiĝu qoi qoi qi blankspaco qaŭ qoi qoi
qi esprimo qiĝu qi listo qaŭ qi listo qi blankspaco qo qaŭ qi blankspaco qi esprimo
qi linifinilo qiĝu qi blankspaco qi dosierfino qaŭ qi linifinilo qi linifinilo
qi listo qiĝu qi termo qaŭ qi termo qi blankspaco qi listo
qi termo qiĝu qi literalo qaŭ qo qi qi blankspaco qi regulo-namo qaŭ qo qifino qi blankspaco qi regulo-namo qi blankspaco qo fino qaŭ qo qii qi regulo-namo qo qii
qi literalo qiĝu qi literalo qaŭ qofino qo fino qi blankspaco qi teksto qaŭ qo qofino qi blankspaco qi teksto qi blankspaco qo fino qaŭ qofino qoi fino qi teksto qofino qoi fino
|
Définition et affectation
[modifier | modifier le wikicode]Structures de contrôle
[modifier | modifier le wikicode]Annexes
[modifier | modifier le wikicode]Vocabulaire espérantophone pratique pour la programmation
[modifier | modifier le wikicode]Cette section regroupe les lexèmes espérantophones dont l’utilité perçu dans le cadre de la programmation est précisé en même temps que leur traduction. De manière général la brièveté de la plupart des lexèmes présentés à cette section fait partie des caractéristiques jugés avantageux, ce qui n’est pas reprécisé le cas échant.
Lexèmes de la forme voyelle-consonne
[modifier | modifier le wikicode]Le tableau ci-dessous est à lire en construisant la voyelle de la colonne suffixé de la consonne de la ligne. Ainsi la cellule au croisement de la colonne a et de la ligne ĵ correspond au lexème aĵ, qui peut servir dans l’affixe -aĵ- ou le substantif aĵo. Les termes entre parenthèses indique que son emploi est plutôt spécifique à un domaine, la plupart du temps un lexème plus générique existe et devrait être priviligié.
a | e | i | o | u | b | (botanique) ob- indique la forme inverse |
---|
Autres lexèmes brefs
[modifier | modifier le wikicode]Le wiktionary contient des catégories intéressantes à ce sujet :
- https://en.wiktionary.org/wiki/Category:Esperanto_lemmas
- https://en.wiktionary.org/wiki/Category:Esperanto_verbs
- https://en.wiktionary.org/w/index.php?title=Category:Esperanto_prepositions
- voir aussi http://vortoj.wiki-site.com/index.php/Interjections_and_four-letter_words
Il est également possible de faire des recherches avec des expressions rationnelles basiques via la vortaro de lernu.
Ci-dessous les termes entres accolades indiquent le type d’usage possible. Sélection de termes tirés de ces listings :
- bufro : {conteneur} tampon.
- ĉi tio/tio ĉi : ceci
- tio : cela
- ebo : reflux.
- eĥi : faire écho. Comme la commande shell echo.
- emi : avoir tendance à/envie de
- far : (néologisme) par.
- fori : être éloigné
- frui : avancer. Par exemple à la place de l'instruction de saut de continue des boucles tant que. Cependant sekviri (sekv-iri) offre une meilleur approche pour un lexique harmonieux et condensé : eniri, eliri, reiri…
- his : élever (en hauteur).
- ico : circuit intégré.
- igi : faire faire quelque chose. Peut être employer comme opérateur d’affectation, mais avec l’opéré comme objet, comme dans « trois plus quatre font le résultat ».
- iĝi : changement d’état du sujet. Peut être employer comme opérateur d’affectation.
- -ing- : indique un contenant partiel de l’élément suffixé. Ingo signifie étui, gaine, fourreau.
- jam : déjà
- ĵus : à l'instant
- legi : lire. À la place des instructions read.
- ligi : relier. Dans les chaîne de compilation, pour l’opération de linkage/reliure.
- ĵeti : jeter.
- kupli : accoupler, coupler
- lui : louer/réserver.
- nu : peut se traduire « alors, allons! (interjection), eh bien, et bien; soit, or », idéal pour indiquer explicitement et vocalement le début d’une nouvelle proposition, par exemple pour remplacer le point virgule de nombreux langages de programmation
- paro : paire/couple
- peri : jouer un rôle d'intermédiaire
- doni/havigi/liveri : fournir, procurer (faire obtenir), probablement un bonne équivalent au mot clé yield.
- rabi : enlever/dérober
- segi : scier/trancher
- svingi: agiter
- ŝafto : (mécanique) arbre de transmission.
- ŝajni : sembler, paraître
- ŝalti : fermer un circuit électrique, allumer.
- ŝaltilo : interrupteur
- ŝanĝi : (transitif) changer.
- ŝanĝiĝi : (intransitif) changer
- interŝanĝi : échanger
- ŝargi : charger
- ŝedo : {conteneur} hangar
- ŝelo : {conteneur} enveloppe naturelle, écorce, coque, coquille.
- ŝirmi : abriter, protéger
- ŝiri : déchirer
- ŝlosi : fermer à clée.
- ŝovi : fourrer
- ŝovo : Operacio, en kiu oni movas ĉiujn bitojn de komputila vorto dekstren aŭ maldekstren: aritmetika, logika, cikla ŝovo.
- enŝovo : introduire
- ŝpini : filer
- ŝpruci : jaillir
- enŝpruci : injecter
- ŝranko : {conteneur} armoir
- ŝŝ! : chut!
- ŝuti: verser, déverser
- alŝuti : téléverser (client vers serveur)/exporter
- diŝuti : éparpiller (publication distribué).
- elŝuti : télécharger (serveur vers client
- sob : ci-dessous
- sor : ci-dessus
- tabelo : {conteneur} tableau, liste
- tajpi : saisir/dactylographier
- tasko : tâche.
- taski : estimer, définir une tâche.
- taŭgi : convenir, pouvoir servir à. « se stato taŭgas postulon do… »
- taŭgeco : aptitude
- taŭtologio : tautologie
- tavolo : couche (de neige, etc.). eca tavolo, couche d'abstraction
- teko : {conteneur} collection de document
- libroteko : bibliothèque (municipale, etc.)
- programteko : bibliothèque logiciel
- teksto : texte
- teksti : Esti formulita per iuj difinitaj vortoj: la frazo tekstas jene; leĝo tekstis, ke murdiston punos morto. Peut être utilisé pour définir des chaînes de caractère : « trivortope tekstu la tri vortoj », « trisigno tekstu amo »
- tekstilo, tekstoprilaborilo, tekstprogramo : traitement de texte
- hiperteksto : hypertexte
- trudi : contraindre, imposer, obliger.
- tele- : télé-, agir sur quelque chose à distance
- telekonduki : téléguider
- temo : thème sujet, matière
- temi : avoir pour sujet
- teni : tenir, retenir
- tenejo : {contenant} dépôt
- tezo : thèse (affirmation)
- enteni : contenir, inclure
- enteno : teneur (en)
- reteni : retenir
- tensoro : (mathématique/anatomie) tenseur
- termo : (mathématiques) terme
- bitermo : binôme (on trouve également binomo)
- termino : (grammaire) terme
- termaro : nomenclature
- terminalo : (informatique) terminal
- testo : test
- -teto : {contenant} (musique) suffixe numéral, pour un ensemble dont la cardinalité se rapporte normalement à un nombre de voix ou de musicien
- kvarteto : quatuor
- tiam : alors, à vérifier mais peut probablement être remplacé par do
- tiel : aussi, comme cela, comme ça, si, comme ci, comme. Peut servir à marquer le début d’un bloque de définition « difinu umi tiel… »
- ties : de celui-là, de celle-là, dont. Peut servir à marquer la fin d’une sous expression « kvar minus du, ties (valoro) obl(ig)as du »
- tildo : (typographie) tilde
- tiom (da) : tant (de), autant de
- … tiom, kiom… : autant que
- tipo : (mathématiques) (typographie) type.
- laŭtipa : standard
- transtipi : transtyper (cast)
- tiri : tirer, traîner
- tirado :attraction
- tirkesto : {contenant} tiroir
- altiri : attirer
- detiri : retirer, ôter
- eltiri : extraire
- retirer : retirer (en arrière)
- -tom- : (médecine) relatif à un opération chirurgicale incisive
- tomizi : opérer par incision
- tondi : tondre, couper, tailler
- tondilo : ciseau
- eltondi : découper
- pritondi : tailler, élaguer (terme utilisé dans la littérature informatique pour l'opération sur les structures de données arborescentes)
- toro : (mathématiques) tore
- totala : total
- totalo : totalité
- totali : totaliser
- tra : à travers, via. Peut être utilisé comme opérateur de transmission (tube, pipe, noté par la barre verticale (|) dans la plupart des langages de script shell)
- traci : tracer
- trafi : toucher (un but), atteindre
- trako : route, voie, piste.
- tranĉi : couper/découper,
- tranĉo : coupure
- tranĉaĵo : tranche
- detranĉi : découper
- entranĉi : inciser
- fortranĉi : couper
- tranĉilo : couteau
- trans : au-delà de
- tranigi transférer
- transtipi : transtyper
- tansigo : (mathématiques) retenu
- vei : gémir/se plaindre. Pour afficher des erreurs.
- viŝi : effacer/supprimer
- ovri : ouvrir (plus succinct mais lexicalement moins économe que malfermi)
- tuj : puis immédiatement/sitôt. Comme lexème explicite indiquant la terminaison d’une instruction, à l’instar du point virgule dans les langages comme C. Note : ek peut également être retenu pour cet usage.
- vico : rang, file, tour (ordre de passage), tour, rangée.
- zorgi : veiller à.
Détails sur les choix réalisées
[modifier | modifier le wikicode]Choix des voyelles numéraires
[modifier | modifier le wikicode]On détail ici la méthodologie qui a été suivi pour effectuer les choix proposés. Ceux-ci sont guidés par une volonté de faciliter l’apprentissage et l’usage.
Ainsi pour les premiers chiffres de un à cinq, on a tout simplement pris les syllabes dans l’ordre alphabétique de l’espéranto. Ici la prononciation associé est donc tout simplement celles des lettres correspondantes en espéranto.
Choix des consonnes numéraires
[modifier | modifier le wikicode]Le choix qu’on propose actuellement suit tout simplement l’ordre des consonnes de l’alphabet espéranto, à l’exclusion :
- des lettres non-monoconsoniques (c qui se prononce /ts/, etc.) ;
- des lettres avec un accent circonflexes (ĉ, etc.) ;
- de h.
Ordre codé | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Consonne utilisée | b | d | f | g | j | k | l | m | n | p | r | s | t | v | z |
Consonnes exclues | c, ĉ, ĝ, h, ĥ, ĵ. |
Échantillon sonores pour les prononciations proposées
[modifier | modifier le wikicode]Liens utiles à la recherche
[modifier | modifier le wikicode]Chaîne de compilation
[modifier | modifier le wikicode]- http://llvm.org/docs/LangRef.html
- https://www.cis.upenn.edu/~bcpierce/courses/670Fall04/GreatWorksInPL.shtml
Diacritiques arbitraires
[modifier | modifier le wikicode]Typologie linguistique
[modifier | modifier le wikicode]Langues et informatique
[modifier | modifier le wikicode]Sur l’utilisation des couleurs
[modifier | modifier le wikicode]Personnes
[modifier | modifier le wikicode]Dans cette section on liste les personnes qui pourraient être intéressé par le projet une fois une certaine maturité atteinte.
- BtTempleton : hacker et espérantiste
- Ludovic Courtès
Les personnes ayant participé à la liste www-eo-tradukado.
Autres projets liés à l’espéranto et aux langage de programmation
[modifier | modifier le wikicode]Ce projet n’est pas le seul à s’efforcer de faire usage de l’espéranto dans les langages de programmation. Cette section s’efforce de lister les autres projets qui se fixe ce type d’objectif :
- glano
- Simpla - Esperanta Programlingvo
- Recherche des projets avec le mot clé esperanto sur gitorious
- Recherche des projets avec le mot clé esperanto sur github
- Nova projekto: Programlingvo tute en Esperanto - Google Groupes
- Katalogo de Esperanta retenhavo/Programoj kaj programado
- Kurso de Esperanto, propose un logiciel d'apprentissage de l'espéranto, codé en C++ avec le code spécifique au projet rédigé en espéranto (pas les mots clés, pas les appels aux bibliothèques)
D’autres projets de langages de programmation dans d’autre langues que l'anglais :
- https://code.google.com/p/zhpy/
- http://www.reganmian.net/blog/2008/11/21/chinese-python-translating-a-programming-language/
- Lingua::Romana::Perligata -- Perl for the XXI-imum Century un module Perl qui permet d'écrire du code en Latin interprétable par la machine virtuel Perl
- À noter que l’en:Arcaicam Esperantom (fictio-rétro-)introduit le datif avec la terminaison -d, ce qui permettrait de calquer assez simplement le principe de cet implémentation Perligadata
Références diverses à l'espéranto dans les milieux du développement logiciel
[modifier | modifier le wikicode]Dans cette section sont répertoriés des liens vers des références/allusions à la langue espérantiste issues du monde du développement logiciel. Ces références n’ont pas nécessairement d’intérêt direct pour le présent projet, il s’agit plus d’un coin détente, similaire à ce que serait une collection de citations dans la littérature, le cinéma, etc.
- Please set up a mechanism to communicate important announcements (feature freezes, all documentation now to be in esperanto, that kind of thing) to developers. It's been discussed before but nothing ever happened.
- Many on the net saw the bug as a chance to reopen old holy wars. “The stack problems that are endemic in the computer industry today are a direct result of the widespread adoption of English as the language of choice,” said one Dothead. “English is a fine tool for low-level descriptions and expository writing, but it offers too many inconsistencies and is far too unstable to use in production environments. It's time to move to languages like Esperanto that feature built-in stack protection.” When it was pointed out that he had written his comment in English, the poster went into an incoherent rant, finishing with “La cina industrio, kun fama milijara tradicio, pli kaj pli largskale produktas ankau komputilon! Sed kiel aspekta la cina komputil-merkato el la vidpunko de la aplikanto? Mi provos respondi al tiu demando lau personaj spertoj en la plej granda cina urbo, Sanhajo!”
- One "jihad baydoun" just sent me my first Arabic spam. I've now gotten spam in Arabic, Chinese, French, Japanese, Korean, Portuguese, and probably Russian and Spanish (though I can't think of any specific examples). Collect them all! I'm still waiting for the Esperanto and Latin spam.
- Esperanto as free software: David’s presentation at TEDxMadrid
Notes et références
[modifier | modifier le wikicode]- ↑ Pynte et Noizet (1970), utilisant les séries ascendantes de la méthode des limites, mais sans informer les sujets de l'exactitude de leurs réponses, déterminent les seuils d'identification de trigrammes non prononçables, de syllabes et de sigles. Ils montrent ainsi que les seuils d'identification de stimulus significatifs sont inférieurs à ceux des stimulus non significatifs, que ceux des stimulus prononçables sont inférieurs à ceux des non prononçables mais que ceux des stimulus prononçables non significatifs sont inférieurs à ceux des stimulus non prononçables significatifs. Ils confirment donc les résultats de Gibson, Bishop, Chiff et Smith (1964) qui ont montré que le facteur prononciabilité est plus important que le facteur signification. Ce problème sera plus précisément étudié dans le paragraphe 1, chapitre B.
- ↑ , par exemple en nommant i une variable d’indexation de tableau ; et bien qu’on notera qu’au moment de son utilisation comme indice, par exemple dans l’expression tableau[i], on a bien un mot-prononçable en tant que tableau de i ou i-ème élément de tableau, on est cependant fort éloigné de la correspondance univoque entre l’agrégat de symboles et l’agrégat de phonèmes.</quote>
- ↑ (À faire trouver un standard qui spécifie cela)
- ↑ Base utilisée à la puissance :
(par exemple dix puissance… ) - ↑ À ce sujet, voir LE SIGNE MATHEMATIQUE (inconnue,variable, indéterminée, paramètre, nom)
- ↑ La lettre q ne fait pas partie de l’alphabet espéranto. La lettre est nommé kuo en espéranto. L’utilisation de /kw/ reflète des utilisations pré-existantes dans d’autres langues, comme en français, et évite toute ambiguïté phonétique puisqu’il n’existe à priori pas de mot espéranto utilisant cette combinaison de phonème. En effet une rapide recherche sur la chaîne « kŭ » dans des lexiques d’espéranto ne donne pas de résultat. Le codage de multiples consonnes sur une seule lettre n’est pas inédit en espéranto : c devrait s’écrire ts en espéranto si la langue était purement phonétique.
- ↑ Ici on énonce j avant i pour éviter l’ambiguïté si on retournait la phrase…
- ↑ À lire depuis le haut à gauche en partant vers le bas, puis vers la droite au haut de la colonne suivante
- ↑ Verticalement ou horizontalement à l’instar de æ qui fusionne a et e.
- ↑ Rappelons que si q constitue également une adjonction à l’alphabet espérantophone, la prononciation proposée n’introduit pas de nouveau phonème
- ↑ Reta Vortaro [2adici/i]
- ↑ Ou le caractère quelconque utilisé comme délimiteur de mots dans le langage
- http://eo.lernu.net/komunikado/forumo/temo.php?t=9564
- http://eo.lernu.net/komunikado/forumo/temo.php?t=4895
- Adpositional Grammars. A Multilingual Grammar Formalism for NLP.
- Informaĝiko
- Les linguistes et la langue internationale
- L'influence des langues slaves sur le système sémantique de l'espéranto
- Notes sur les langues artificielles au XIXe siècle
- Faka literaturo pri komputado, kibernetiko
- Komputeko prikomputila terminokolekto
- Komputiko kaj Programado
- Literate Programming
- https://gitorious.org/search?q=esperanto
- Système de numération bijectif