首页 > 后端开发 > Golang > 正文

Duwa 简介,一种 Chichewa 编程语言

王林
发布: 2024-09-03 17:16:58
原创
871 人浏览过

Introducing Duwa a Chichewa Programming Language

杜瓦是什么?

杜瓦?是我热爱的劳动——一种简单深奥的语言(esolang),它将传统语言与现代编程融为一体。作为一个以奇切瓦语为母语的人和一名程序员,我想创造一些独特的东西来弥合我的语言传统和科技世界之间的差距。 Duwa 以马拉维使用的一种班图语言 Chichewa 为核心,使其成为独一无二的学习和文化保护工具。

杜瓦的目的

创建 Duwa 是由几个关键目标驱动的:

  1. 让编程变得触手可及:我希望通过使用熟悉的语言结构,让奇切瓦语使用者更容易上手编程,帮助他们将编码视为触手可及的事情。
  2. 保护和推广奇切瓦语:在一个以英语为主的领域,我觉得在科技领域为奇切瓦语开辟一个空间非常重要,确保该语言与时俱进。
  3. 创建独特的教育工具:通过设计 Duwa,我的目的是提供一种新的编程教学方式,特别是对于那些可能对传统编程语言感到疏远的人。

Duwa 反映了我对编程和母语的热情,我希望它成为奇切瓦语社区中其他人的欢迎平台。

设置和安装

如果您想亲自尝试 Duwa,请按照以下步骤开始:

  1. 前往 Duwa GitHub 发布页面:https://github.com/sevenreup/duwa/releases
  2. 从最新版本下载与您的操作系统匹配的二进制文件。
  3. 使用二进制文件运行 Duwa 程序(请注意,二进制文件名称可能会有所不同):
   ./duwa -f path/to/your/program.duwa
登录后复制

基本语法

让我向您展示 Duwa 的一些基础知识。

你好世界

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

pano();
登录后复制

在此示例中:

  • ndondomeko 是我决定在 Duwa 中声明函数的方式。
  • lemba,在奇切瓦语中的意思是“写”,输出文本。
  • 程序只是将“Moni Dziko”(“Hello World”)打印到屏幕上。

变量

Duwa 支持多种变量类型:

// 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
登录后复制

条件语句

我选择对 if 语句使用 ngati,对 else 使用 kapena,使 Chichewa 中的逻辑流动更加自然:

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

// If-else statement
ngati(yoyamba > yachiwiri) {
    // panga zinthu
} kapena {
    // panga zinthu
}
登录后复制

循环

Duwa 还支持 while 和 for 循环:

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

// For loop
za(nambala x = 0; x > 5; x++) {
    // panga zinthu
}
登录后复制

让我们来编码:线性搜索示例

为了让您体验 Duwa 的功能,这里有一个简单的线性搜索算法。
在您最喜欢的编辑器中创建一个名为 Kufufuza.duwa 的新文件

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();
登录后复制

通过运行来运行程序

duwa -f Kufufuza.duwa
登录后复制

您将在控制台上打印出索引 10

分解代码

  1. ndondomeko kufufuza(arr, x):该函数执行线性搜索。 “Kufufuza”在奇切瓦语中的意思是“搜索”。
  2. za 循环 迭代数组,检查目标值。
  3. ngati (arr[i] == x):如果找到该元素,该函数返回其索引。
  4. 如果未找到该元素,函数返回-1。
  5. ndondomeko doLinearSearch():该函数设置测试用例并调用搜索函数。
  6. 结果使用 lembanzr 打印,我选择它的意思是“写行”。

这个示例让我们了解 Duwa 如何在忠于 Chichewa 语言的同时处理算法。

杜瓦现状

Duwa 仍在进行中,有一些单词和结构尚未完全翻译成 Chichewa。我正在积极进行这些翻译工作,我计划在 Duwa 达到 1.0 版本时准备好一切。

即使在目前的状态下,Duwa 也已完全发挥功能,我很高兴看到它在我不断完善的过程中如何成长。我很想听听您在尝试时的反馈!


奖励:我创建了一个简单的 vscode 扩展,用于向 vscode 添加对 Duwa 的支持,目前,您只会获得语法突出显示,但正在努力添加更多功能。在 vscode 扩展选项卡中搜索 Duwa Language,或者在这里下载

未来发展

展望未来,我对 Duwa 有一些雄心勃勃的计划:

  • 扩展语言功能,使其更加强大
  • 构建标准库以支持更复杂的程序
  • 创建学习资源以帮助其他人开始使用 Duwa
  • 鼓励社区贡献以丰富语言及其生态系统

Duwa 完全使用 Golang 从头开始​​构建,利用其优势创建快速、高效、可靠的编程环境。这是一次充满挑战但收获颇丰的旅程,我很高兴看到它的发展方向。

结论

无论您是对编码感到好奇的奇切瓦语使用者,还是寻求不同事物的编程爱好者,我希望 Duwa 能够像激励我一样激励您。这个旅程才刚刚开始,我很高兴与您分享。通过让 Chichewa 成为编码世界的一部分,Duwa 为教育、文化保护和创意表达开辟了新的可能性。

查看原帖
查看 github。
查看文档(仍在进行中)

以上是Duwa 简介,一种 Chichewa 编程语言的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:dev.to
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板