Maison > développement back-end > Golang > le corps du texte

Présentation de Duwa, un langage de programmation chichewa

王林
Libérer: 2024-09-03 17:16:58
original
869 Les gens l'ont consulté

Introducing Duwa a Chichewa Programming Language

Qu’est-ce que Duwa ?

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.

Le but de Duwa

La création de Duwa a été motivée par plusieurs objectifs clés :

  1. Rendre la programmation accessible : je voulais rendre la programmation plus accessible aux locuteurs de chichewa en utilisant des constructions linguistiques familières, les aidant ainsi à voir le codage comme quelque chose à leur portée.
  2. Préserver et promouvoir le chichewa : Dans un domaine dominé par l'anglais, j'ai pensé qu'il était important de ménager une place au chichewa dans le paysage technologique, en veillant à ce que la langue évolue avec le temps.
  3. Créer un outil pédagogique unique : En concevant Duwa, j'avais pour objectif d'offrir une nouvelle façon d'enseigner la programmation, en particulier à ceux qui pourraient se sentir aliénés par les langages de programmation traditionnels.

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.

Configuration et installation

Si vous souhaitez essayer Duwa vous-même, voici comment commencer :

  1. Rendez-vous sur la page des versions de Duwa GitHub : https://github.com/sevenreup/duwa/releases
  2. Téléchargez le binaire qui correspond à votre système d'exploitation à partir de la dernière version.
  3. Exécutez les programmes Duwa en utilisant le binaire (notez que le nom du binaire peut varier) :
   ./duwa -f path/to/your/program.duwa
Copier après la connexion

Syntaxe de base

Laissez-moi vous montrer quelques bases de Duwa.

Bonjour le monde

ndondomeko pano() {
    lemba("Moni Dziko");
}

pano();
Copier après la connexion

Dans cet exemple :

  • ndondomeko, c'est ainsi que j'ai décidé de déclarer une fonction dans Duwa.
  • lemba, qui signifie « écrire » en chichewa, génère du texte.
  • Le programme imprime simplement "Moni Dziko" ("Hello World") à l'écran.

Variables

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
Copier après la connexion

Déclarations conditionnelles

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
}
Copier après la connexion

Boucles

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
}
Copier après la connexion

Codons : exemple de recherche linéaire

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();
Copier après la connexion

Exécutez le programme en exécutant

duwa -f Kufufuza.duwa
Copier après la connexion

Vous obtiendrez l'indice de 10 imprimé sur votre console

Décrypter le code

  1. ndondomeko kufufuza(arr, x) : Cette fonction effectue la recherche linéaire. « Kufufuza » signifie « chercher » en chichewa.
  2. La boucle za parcourt le tableau, vérifiant la valeur cible.
  3. ngati (arr[i] == x) : Si l'élément est trouvé, la fonction renvoie son index.
  4. Si l'élément n'est pas trouvé, la fonction renvoie -1.
  5. ndondomeko doLinearSearch() : Cette fonction configure le scénario de test et appelle la fonction de recherche.
  6. 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 fonctionnalités supplémentaires. 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 :

  • Élargir les fonctionnalités du langage pour le rendre encore plus puissant
  • Créer une bibliothèque standard pour prendre en charge des programmes plus complexes
  • Créer des ressources d'apprentissage pour aider les autres à démarrer avec Duwa
  • Encourager les contributions de la communauté pour enrichir la langue et son écosystème

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.

Conclusion

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!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal