"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Presentamos Duwa, un lenguaje de programación chichewa

Presentamos Duwa, un lenguaje de programación chichewa

Publicado el 2024-10-31
Navegar:236

Introducing Duwa a Chichewa Programming Language

¿Qué es Duwa?

¿Duwa? es mi trabajo de amor: un lenguaje esotérico simple (esolang) que combina el lenguaje tradicional con la programación moderna. Como hablante nativo de chichewa y programador, quería crear algo único que cerrara la brecha entre mi herencia lingüística y el mundo tecnológico. Duwa utiliza el chichewa, un idioma bantú hablado en Malawi, como núcleo, lo que lo convierte en una herramienta única tanto para el aprendizaje como para la preservación cultural.

El propósito de Duwa

La creación de Duwa ha estado impulsada por varios objetivos clave:

  1. Hacer la programación accesible: Quería hacer que la programación fuera más accesible para los hablantes de chichewa mediante el uso de construcciones de lenguaje familiares, ayudándoles a ver la codificación como algo a su alcance.
  2. Preservar y promover el chichewa: En un campo dominado por el inglés, sentí que era importante crear un espacio para el chichewa en el panorama tecnológico, asegurando que el idioma evolucione con los tiempos.
  3. Creación de una herramienta educativa única: Al diseñar Duwa, mi objetivo era ofrecer una nueva forma de enseñar programación, particularmente a aquellos que podrían sentirse alienados por los lenguajes de programación tradicionales.

Duwa es un reflejo de mi pasión tanto por la programación como por mi lengua materna, y espero que sirva como una plataforma acogedora para otros miembros de la comunidad de habla chichewa.

Configuración e instalación

Si quieres probar Duwa tú mismo, aquí te explicamos cómo empezar:

  1. Dirígete a la página de lanzamientos de Duwa GitHub: https://github.com/sevenreup/duwa/releases
  2. Descarga el binario que coincida con tu sistema operativo desde la última versión.
  3. Ejecute programas Duwa usando el binario (tenga en cuenta que el nombre binario puede variar):
   ./duwa -f path/to/your/program.duwa

Sintaxis básica

Déjame mostrarte algunos de los conceptos básicos de Duwa.

Hola Mundo

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

pano();

En este ejemplo:

  • ndondomeko es como decidí declarar una función en Duwa.
  • lemba, que significa "escribir" en chichewa, genera texto.
  • El programa simplemente imprime "Moni Dziko" ("Hola mundo") en la pantalla.

variables

Duwa admite una variedad de tipos 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

Declaraciones condicionales

Elegí usar ngati para declaraciones if y kapena para else, haciendo que la lógica fluya más naturalmente en chichewa:

// If statement
ngati(yoyamba > yachiwiri) {
    // panga zinthu (do something)
}

// If-else statement
ngati(yoyamba > yachiwiri) {
    // panga zinthu
} kapena {
    // panga zinthu
}

Bucles

Duwa también admite bucles while y for:

// While loop
pamene(yoyamba > 2) {
    // panga zinthu
    yoyamba  
}

// For loop
za(nambala x = 0; x > 5; x  ) {
    // panga zinthu
}

Codifiquemos: ejemplo de búsqueda lineal

Para darte una idea de lo que Duwa puede hacer, aquí tienes un algoritmo de búsqueda lineal simple.
Crea un nuevo archivo llamado Kufufuza.duwa en tu editor favorito

ndondomeko kufufuza(arr, x) {
    za(nambala i = 0; i 



Ejecute el programa ejecutando

duwa -f Kufufuza.duwa

Obtendrás el índice de 10 impreso en tu consola

Rompiendo el código

  1. ndondomeko kufufuza(arr, x): Esta función realiza la búsqueda lineal. "Kufufuza" significa "buscar" en chichewa.
  2. El bucle za recorre en iteración la matriz, comprobando el valor objetivo.
  3. ngati (arr[i] == x): Si se encuentra el elemento, la función devuelve su índice.
  4. Si no se encuentra el elemento, la función devuelve -1.
  5. ndondomeko doLinearSearch(): Esta función configura el caso de prueba y llama a la función de búsqueda.
  6. El resultado se imprime usando lembanzr, que elegí para significar "línea de escritura".

Este ejemplo da una idea de cómo Duwa maneja los algoritmos sin dejar de ser fiel al idioma chichewa.

Estado actual de Duwa

Duwa todavía es un trabajo en progreso, y hay algunas palabras y construcciones que aún no se han traducido completamente al chichewa. Estoy trabajando activamente en estas traducciones y planeo tener todo listo para cuando Duwa llegue a la versión 1.0.

Incluso en su estado actual, Duwa es completamente funcional y estoy emocionado de ver cómo crece a medida que sigo perfeccionándolo. ¡Me encantaría escuchar tus comentarios mientras experimentas con él!


Bonificación: Creé una extensión vscode simple para agregar soporte para Duwa a vscode; por ahora, solo obtendrás resaltado de sintaxis, pero trabajarás para agregar más funciones. Busque Duwa Language en la pestaña de extensión vscode o descárguelo aquí

Desarrollo futuro

De cara al futuro, tengo algunos planes ambiciosos para Duwa:

  • Ampliar las funciones del idioma para hacerlo aún más potente
  • Creación de una biblioteca estándar para admitir programas más complejos
  • Crear recursos de aprendizaje para ayudar a otros a comenzar con Duwa
  • Fomentar las contribuciones de la comunidad para enriquecer la lengua y su ecosistema

Duwa está construido completamente desde cero en Golang, aprovechando sus fortalezas para crear un entorno de programación rápido, eficiente y confiable. Este ha sido un viaje desafiante pero gratificante, y estoy emocionado de ver adónde me lleva.

Conclusión

Si eres un hablante de chichewa y tienes curiosidad por la codificación o un entusiasta de la programación que busca algo diferente, espero que Duwa te inspire tanto como a mí. Este viaje apenas comienza y estoy encantado de compartirlo con ustedes. Al hacer del chichewa parte del mundo de la codificación, Duwa abre nuevas posibilidades para la educación, la preservación cultural y la expresión creativa.

Mira la publicación original
Echa un vistazo a github.
Consulte los documentos (aún es un trabajo en progreso)

Declaración de liberación Este artículo se reproduce en: https://dev.to/sevenreup/introtaining-duwa-a-chichewa-programming-language-126k?1 Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3