«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Представляем Duwa — язык программирования Chichewa

Представляем Duwa — язык программирования Chichewa

Опубликовано 31 октября 2024 г.
Просматривать:356

Introducing Duwa a Chichewa Programming Language

Что такое Дува?

Дува ? это мой любимый труд — простой эзотерический язык (эсоланг), сочетающий традиционный язык с современным программированием. Как носитель языка Чичева и программист, я хотел создать что-то уникальное, что устранило бы разрыв между моим лингвистическим наследием и миром технологий. В качестве основы Дува использует язык чичева, язык банту, на котором говорят в Малави, что делает его единственным в своем роде инструментом как для обучения, так и для сохранения культуры.

Цель Дувы

Создание Duwa преследовало несколько ключевых целей:

  1. Сделать программирование доступным: я хотел сделать программирование более доступным для носителей языка чичева, используя знакомые языковые конструкции, помогая им воспринимать программирование как что-то доступное.
  2. Сохранение и продвижение чичева: В сфере, где доминирует английский язык, я чувствовал, что важно найти место для чичева в технологическом ландшафте, гарантируя, что язык развивается в ногу со временем.
  3. Создание уникального образовательного инструмента: Создавая Duwa, я стремился предложить новый способ обучения программированию, особенно тем, кого традиционные языки программирования могут оттолкнуть.

Дува — это отражение моей страсти к программированию и родному языку, и я надеюсь, что он послужит радушной платформой для других членов сообщества, говорящего на языке чичева.

Настройка и установка

Если вы хотите попробовать Дува самостоятельно, вот как начать:

  1. Перейдите на страницу выпусков Duwa GitHub: https://github.com/sevenreup/duwa/releases
  2. Загрузите двоичный файл последней версии, соответствующий вашей операционной системе.
  3. Запускайте программы Duwa, используя двоичный файл (обратите внимание, что имя двоичного файла может отличаться):
   ./duwa -f path/to/your/program.duwa

Основной синтаксис

Позвольте мне показать вам некоторые основы Дувы.

Привет, мир

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

pano();

В этом примере:

  • ндондомеко — это то, как я решил объявить функцию в Duwa.
  • lemba, что на языке чичева означает «писать», выводит текст.
  • Программа просто выводит на экран «Мони Дзико» («Привет, мир»).

Переменные

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 и капену для else, что сделало логику более естественной в Чичеве:

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

Давайте напишем код: пример линейного поиска

Чтобы дать вам представление о том, на что способен Дува, вот простой алгоритм линейного поиска.
Создайте новый файл 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, которое я выбрал для обозначения «записать строку».

Этот пример дает представление о том, как Дува обрабатывает алгоритмы, оставаясь верным языку Чичева.

Текущее состояние Дувы

Дува все еще находится в стадии разработки, и некоторые слова и конструкции еще не полностью переведены на язык Чичева. Я активно работаю над этими переводами и планирую все подготовить к тому времени, когда Дува достигнет версии 1.0.

Даже в своем нынешнем состоянии Duwa полностью функционален, и я рад видеть, как он растет по мере того, как я продолжаю его совершенствовать. Мне бы хотелось услышать ваши отзывы о ваших экспериментах!


Бонус: Я создал простое расширение vscode для добавления поддержки Duwa в vscode, на данный момент вы получите только подсветку синтаксиса, но работаете над добавлением дополнительных функций. Найдите язык Дува на вкладке расширения vscode или загрузите его здесь

Будущее развитие

Забегая вперед, у меня есть несколько амбициозных планов относительно Дувы:

  • Расширение возможностей языка, чтобы сделать его еще более мощным
  • Создание стандартной библиотеки для поддержки более сложных программ
  • Создание учебных ресурсов, которые помогут другим начать работу с Duwa
  • Поощрение вклада сообщества в обогащение языка и его экосистемы

Duwa создан полностью с нуля на Golang, используя его сильные стороны для создания быстрой, эффективной и надежной среды программирования. Это был трудный, но полезный путь, и мне не терпится увидеть, к чему он приведет.

Заключение

Независимо от того, являетесь ли вы носителем языка Чичева, интересующимся программированием, или энтузиастом программирования, ищущим что-то новое, я надеюсь, что Дува вдохновит вас так же, как вдохновил меня. Это путешествие только начинается, и я рад поделиться им с вами. Сделав Чичеву частью мира программирования, Дува открывает новые возможности для образования, сохранения культуры и творческого самовыражения.

Ознакомьтесь с исходным сообщением
Посетите github.
Ознакомьтесь с документацией (работа все еще продолжается)

Заявление о выпуске Эта статья воспроизведена по адресу: https://dev.to/sevenreup/introducing-duwa-a-chichewa-programming-language-126k?1 Если есть какие-либо нарушения, пожалуйста, свяжитесь с [email protected], чтобы удалить ее.
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3