>  기사  >  백엔드 개발  >  Chichewa 프로그래밍 언어 Duwa 소개

Chichewa 프로그래밍 언어 Duwa 소개

王林
王林원래의
2024-09-03 17:16:58849검색

Introducing Duwa a Chichewa Programming Language

두와(Duwa)란 무엇인가?

두와 ? 전통적인 언어와 현대 프로그래밍을 혼합한 단순하고 난해한 언어(에솔랑)입니다. 저는 치체와어 원어민이자 프로그래머로서 저의 언어적 유산과 기술 세계 사이의 격차를 해소하는 독특한 것을 만들고 싶었습니다. Duwa는 말라위에서 사용되는 반투어인 치체와어를 핵심으로 사용하여 학습과 문화 보존을 위한 독특한 도구입니다.

두와(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 < 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): 이 함수는 선형 검색을 수행합니다. "쿠후후자"는 치체와어로 "검색하다"라는 뜻입니다.
  2. za 루프는 배열을 반복하면서 목표 값을 확인합니다.
  3. ngati (arr[i] == x): 요소가 발견되면 함수는 해당 인덱스를 반환합니다.
  4. 요소를 찾을 수 없으면 함수는 -1을 반환합니다.
  5. ndondomeko doLinearSearch(): 이 함수는 테스트 케이스를 설정하고 검색 함수를 호출합니다.
  6. 결과는 lembanzr을 사용하여 인쇄되는데, 이는 "줄 쓰기"를 의미하기로 선택했습니다.

이 예에서는 Duwa가 치체와어에 충실하면서 어떻게 알고리즘을 처리하는지 엿볼 수 있습니다.

두와(Duwa)현황

Duwa는 아직 작업 중이며 아직 치체와어로 완전히 번역되지 않은 단어와 구문이 있습니다. 저는 이 번역 작업에 적극적으로 참여하고 있으며 Duwa가 버전 1.0에 도달할 때까지 모든 것을 준비할 계획입니다.

현재 상태에서도 Duwa는 완벽하게 작동하며, 계속해서 개선하면서 어떻게 성장할지 기대됩니다. 실험하면서 피드백을 듣고 싶습니다!


보너스: Duwa에 대한 지원을 vscode에 추가하기 위해 간단한 vscode 확장을 만들었습니다. 지금은 구문 강조만 표시되지만 더 많은 기능을 추가하는 작업을 수행하게 됩니다. vscode 확장 탭에서 Duwa Language를 검색하거나 여기에서 다운로드하세요

미래 개발

앞으로 Duwa에 대한 야심 찬 계획이 있습니다.

  • 언어 기능을 확장하여 더욱 강력하게
  • 더 복잡한 프로그램을 지원하기 위한 표준 라이브러리 구축
  • 다른 사람들이 Duwa를 시작하는 데 도움이 되는 학습 리소스 만들기
  • 언어와 언어 생태계를 풍요롭게 하기 위한 지역사회 기여 장려

Duwa는 빠르고 효율적이며 안정적인 프로그래밍 환경을 만들기 위해 Golang의 장점을 활용하여 완전히 처음부터 Golang으로 구축되었습니다. 이는 힘들었지만 보람 있는 여정이었으며, 그것이 어디로 이어질지 기대됩니다.

결론

코딩에 관심이 있는 치체와어 사용자이시든, 뭔가 다른 것을 찾고 있는 프로그래밍 매니아이시든, Duwa가 저에게 영감을 준 만큼 여러분에게도 영감을 주셨으면 좋겠습니다. 이 여정은 이제 막 시작되었습니다. 여러분과 공유하게 되어 기쁩니다. Chichewa를 코딩 세계의 일부로 만들어 Duwa는 교육, 문화 보존 및 창의적 표현을 위한 새로운 가능성을 열어줍니다.

원본 게시물 확인하기
Github을 확인해 보세요.
문서를 확인하세요(아직 작업이 진행 중입니다)

위 내용은 Chichewa 프로그래밍 언어 Duwa 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.