「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > チチェワ語プログラミング言語 Duwa の紹介

チチェワ語プログラミング言語 Duwa の紹介

2024 年 10 月 31 日公開
ブラウズ:401

Introducing Duwa a Chichewa Programming Language

デュワとは何ですか?

ドゥワ ?これは私の愛の結晶であり、伝統的な言語と現代のプログラミングを融合させたシンプルな難解な言語 (esolang) です。チチェワ語のネイティブスピーカーでありプログラマーとして、私は自分の言語的伝統とテクノロジーの世界との間のギャップを埋めるユニークなものを作りたいと考えていました。 Duwa はマラウイで話されているバンツー語であるチチェワ語を中心として使用しており、学習と文化保存の両方のためのユニークなツールとなっています。

ドゥワの目的

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 を使用して、チチェワでのロジックの流れをより自然にすることにしました:

// 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 



実行してプログラムを実行します

duwa -f Kufufuza.duwa

コンソールに 10 のインデックスが出力されます

コードを分解する

  1. ndondomeko kufufuza(arr, x): この関数は線形探索を実行します。 「クフフザ」とはチチェワ語で「探す」という意味です。
  2. za ループは配列を反復処理して、ターゲット値をチェックします。
  3. ngati (arr[i] == x): 要素が見つかった場合、関数はそのインデックスを返します。
  4. 要素が見つからない場合、関数は -1 を返します。
  5. ndondomeko doLinearSearch(): この関数はテスト ケースを設定し、検索関数を呼び出します。
  6. 結果は lembanzr を使用して出力されます。これは「行を書く」という意味で選択しました。

この例では、チチェワ語に忠実でありながら、Duwa がどのようにアルゴリズムを処理するかを垣間見ることができます。

ドゥワの現状

Duwa はまだ進行中の作業であり、まだ完全に Chichewa に翻訳されていない単語や構成要素がいくつかあります。私はこれらの翻訳に積極的に取り組んでおり、Duwa がバージョン 1.0 に達するまでにすべてを準備するつもりです。

Duwa は現状でも十分に機能するので、改良を続けてどのように成長していくのか楽しみです。試してみた際のフィードバックをお待ちしております!


ボーナス: Duwa のサポートを vscode に追加するためのシンプルな vscode 拡張機能を作成しました。今のところ、構文の強調表示のみが可能ですが、さらに機能の追加に取り組んでいます。 vscode 拡張機能タブで Duwa Language を検索するか、ここからダウンロードしてください

今後の展開

将来を見据えて、私はデュワに対していくつかの野心的な計画を立てています:

  • 言語機能を拡張してさらに強力に
  • より複雑なプログラムをサポートするための標準ライブラリの構築
  • 他の人が Duwa を使い始めるのに役立つ学習リソースを作成する
  • 言語とそのエコシステムを豊かにするためにコミュニティへの貢献を奨励する

Duwa は Golang で完全にゼロから構築されており、その強みを活用して高速、効率的、信頼性の高いプログラミング環境を作成します。これは困難ではありますが、やりがいのある旅であり、それがどこにつながるのかを見るのが楽しみです。

結論

あなたがコーディングに興味のあるチチェワ語話者であっても、何か違うものを探しているプログラミング愛好家であっても、Duwa が私にインスピレーションを与えたのと同じように、あなたも Duwa からインスピレーションを得られることを願っています。この旅はまだ始まったばかりです。皆さんとそれを共有できることを嬉しく思います。チチェワをコーディング世界の一部にすることで、デュワは教育、文化保護、創造的表現の新たな可能性を切り開きます。

元の投稿をチェックしてください
github をチェックしてください。
ドキュメントを確認してください (まだ作業中です)

リリースステートメント この記事は次の場所に転載されています: https://dev.to/sevenreup/introducing-duwa-a-chichewa-programming- language-126k?1 侵害がある場合は、[email protected] に連絡して削除してください。
最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3