Maison >développement back-end >Golang >Présentation de Duwa, un langage de programmation chichewa
Duwa ? est mon travail d'amour : un langage ésotérique simple (esolang) qui mélange le langage traditionnel avec la programmation moderne. En tant que locuteur natif du chichewa et programmeur, je voulais créer quelque chose d'unique qui comble le fossé entre mon héritage linguistique et le monde de la technologie. Duwa utilise le chichewa, une langue bantoue parlée au Malawi, comme noyau, ce qui en fait un outil unique en son genre pour l'apprentissage et la préservation culturelle.
La création de Duwa a été motivée par plusieurs objectifs clés :
Duwa est le reflet de ma passion pour la programmation et pour ma langue maternelle, et j'espère qu'il servira de plate-forme accueillante pour les autres membres de la communauté de langue chichewa.
Si vous souhaitez essayer Duwa vous-même, voici comment commencer :
./duwa -f path/to/your/program.duwa
Laissez-moi vous montrer quelques bases de Duwa.
ndondomeko pano() { lemba("Moni Dziko"); } pano();
Dans cet exemple :
Duwa prend en charge une variété de types de variables :
// Numbers nambala yoyamba = 1; nambala yachiwiri = 2; nambala yomaliza = yoyamba + yachiwiri; // Strings mawu dzina = "Maliko"; // Maps mgwirizano munthu = { "dzina": "Soma", "zaka": 3 } // Other types like boolean are not strongly typed
J'ai choisi d'utiliser ngati pour les instructions if et kapena pour else, rendant la logique plus naturelle en chichewa :
// If statement ngati(yoyamba > yachiwiri) { // panga zinthu (do something) } // If-else statement ngati(yoyamba > yachiwiri) { // panga zinthu } kapena { // panga zinthu }
Duwa prend également en charge les boucles while et for :
// While loop pamene(yoyamba > 2) { // panga zinthu yoyamba++ } // For loop za(nambala x = 0; x > 5; x++) { // panga zinthu }
Pour vous donner un avant-goût de ce que Duwa peut faire, voici un simple algorithme de recherche linéaire.
Créez un nouveau fichier appelé Kufufuza.duwa dans votre éditeur préféré
ndondomeko kufufuza(arr, x) { za(nambala i = 0; i < arr.length(); i++) { ngati (arr[i] == x) { bweza i; } } bweza -1; } ndondomeko doLinearSearch() { nambala[] arr = [2, 3, 4, 10, 40]; nambala x = 10; nambala result = kufufuza(arr, x); ngati (result == -1) { lembanzr("Linear Search: Element is not present in array"); } kapena { lembanzr("Linear Search: Element at index " + result); } } doLinearSearch();
Exécutez le programme en exécutant
duwa -f Kufufuza.duwa
Vous obtiendrez l'indice de 10 imprimé sur votre console
Cet exemple donne un aperçu de la façon dont Duwa gère les algorithmes tout en restant fidèle à la langue chichewa.
Duwa est toujours un travail en cours, et certains mots et constructions n'ont pas encore été entièrement traduits en chichewa. Je travaille activement sur ces traductions et je prévois d'avoir tout prêt lorsque Duwa atteindra la version 1.0.
Même dans son état actuel, Duwa est entièrement fonctionnel et j'ai hâte de voir comment il se développe à mesure que je continue de l'affiner. J’aimerais entendre vos commentaires pendant que vous l’expérimentez !
Bonus : J'ai créé une simple extension vscode pour ajouter la prise en charge de Duwa à vscode, pour l'instant, vous n'obtiendrez que la coloration syntaxique mais vous travaillerez sur l'ajout de fonctionnalités supplémentaires. Recherchez Duwa Language dans l'onglet d'extension vscode ou téléchargez-le ici
Pour l'avenir, j'ai des projets ambitieux pour Duwa :
Duwa est entièrement construit à partir de zéro dans Golang, tirant parti de ses atouts pour créer un environnement de programmation rapide, efficace et fiable. Cela a été un voyage difficile mais enrichissant, et j’ai hâte de voir où cela mène.
Que vous soyez un locuteur chichewa curieux de coder ou un passionné de programmation à la recherche de quelque chose de différent, j'espère que Duwa vous inspirera autant qu'il m'a inspiré. Ce voyage ne fait que commencer et je suis ravi de le partager avec vous. En intégrant le Chichewa au monde du codage, Duwa ouvre de nouvelles possibilités en matière d'éducation, de préservation culturelle et d'expression créative.
Consultez le message original
Consultez le github.
Consultez la documentation (encore un travail en cours)
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!