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-unes des 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, ce qui rend 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; iExécutez le programme en exécutant
duwa -f Kufufuza.duwaVous obtiendrez l'index de 10 imprimé sur votre console
Décrypter le code
- ndondomeko kufufuza(arr, x) : Cette fonction effectue la recherche linéaire. « Kufufuza » signifie « chercher » en chichewa.
- La boucle za parcourt le tableau, vérifiant la valeur cible.
- ngati (arr[i] == x) : Si l'élément est trouvé, la fonction renvoie son index.
- Si l'élément n'est pas trouvé, la fonction renvoie -1.
- ndondomeko doLinearSearch() : Cette fonction configure le scénario de test et appelle la fonction de recherche.
- Le résultat est imprimé en utilisant lembanzr, que j'ai choisi pour signifier « ligne d'écriture ».
Cet exemple donne un aperçu de la façon dont Duwa gère les algorithmes tout en restant fidèle à la langue chichewa.
État actuel de Duwa
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 plus de fonctionnalités. Recherchez Duwa Language dans l'onglet d'extension vscode ou téléchargez-le ici
Développement futur
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 nous mènera.
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 en cours de travail)
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3