wenyan README

The project's README from github.com/wenyan-lang/wenyan. As one markdown file: README.md.

文言 wenyan-lang

npm build Netlify Status

wy-lang.org | Wiki | The Book

English | 简体中文 | 繁體中文

文言文編程語言。A programming language for the ancient Chinese. Try it online.

CHANGELOG

序

夫唐、虞之世,結繩而足治,屈指而足算。是時豈料百代之後,計算機械之巧,精於公輸之木鳶,善於武侯之流馬;程式語言之多,繁若《天官》之星宿,奇勝《山經》之走獸。鼠、蟹、鑽、魚,或以速稱。蛇、象、駱、犀,各爭文采。方知鬼之所以夜哭,天之所以雨粟。然以文言編程者 ,似所未有。此誠非文脈之所以傳,文心之所以保。嗟予小子,遂有斯志。然則數寸之烏絲猶覆於頭,萬卷之素書未破於手;一身長羈於遠邦,兩耳久曠于雅言。然夫文章者吾之所宿好,程式者偶承時人之謬譽。故希孟不慚年少,莊生不望無涯。乃作斯言。誠未能嘔瀝長吉之心血,亦庶幾免於義山之流沫。既成之後,復學干將鑄劍而自飼,越王嚐糞而當先。自謂偶追《十書》之筆意,但恨少八家之淋漓。此子山所謂士衡撫掌而甘心,平子見陋而固宜。然則雖實覆甕之質,尚存斧正之望;雖乏呂相之金,易字之渴蓋同。此亦開源之大義,吾輩之所以勉勵也。一笑。

Helloworld

Wenyan:

吾有一數。曰三。名之曰「甲」。
為是「甲」遍。
	吾有一言。曰「「問天地好在。」」。書之。
云云。

Equivalent JavaScript:

var n = 3;
for (var i = 0; i < n; i++) {
	console.log("問天地好在。");
}

Output:

問天地好在。
問天地好在。
問天地好在。

Punctuations and newlines are completely optional (just like they are in Classical Chinese), so the above code is equivalent to:

吾有一數曰三名之曰「甲」為是「甲」遍吾有一言曰「「問天地好在」」書之云云

More sophisticated examples, such as the Sieve of Eratosthenes, Quicksort, Mandelbrot set, and Tower of Hanoi, can be found in the ./examples folder.

Features

Try it out

The Online IDE

Text Editor Plugins

Command Line Compiler

Install the compiler by

npm install -g @wenyan/cli

Try run the included examples, e.g.:

wenyan examples/helloworld.wy
# will output: 問天地好在。

The Decompiler

You can now translate JavaScript to wenyan-lang using the wenyanizer by zxch3n.

3rd Party Compilers

Documentation

Check out our Wiki pages

Contributors

Code Contributors

This project exists thanks to all the people who contribute. [Contribute].

Financial Contributors

Become a financial contributor and help us sustain our community. [Contribute]

Individuals

Organizations

Support this project with your organization. Your logo will show up here with a link to your website. [Contribute]

wenyan (wenyan-lang/wenyan)

Searching Database…

20.3K ·GitHub
Что это такое?wenyan-lang (文言) — это язык программирования, синтаксис которого построен на вэньяне, классическом китайском языке: программы пишутся как литературный китайский текст. Язык Тьюринг-полный, и к нему прилагаются компилятор, онлайн-IDE и менеджер пакетов.
Это полноценный самостоятельный язык — во что компилируется код на wenyan?Он компилируется в JavaScript, Python или Ruby. Есть ещё декомпилятор wenyanizer, который переводит JavaScript обратно в wenyan, а также сторонний компилятор для JVM.
Как мне это попробовать — нужно ли что-то устанавливать заранее?Для начала ничего устанавливать не нужно: есть онлайн-IDE, которой можно пользоваться прямо в браузере. Для локальной работы в README описан консольный компилятор, который нужно установить, после чего можно запустить входящие в комплект примеры.
Что должно быть у меня на компьютере для консольного компилятора?Компилятор — это проект на TypeScript/npm, поэтому для CLI практически необходим Node.js. Если ограничиться онлайн-IDE, достаточно браузера.
Мне правда нужно знать классический китайский, чтобы писать программы?Да — программы пишутся по грамматике классического китайского языка, так что умение читать литературный китайский — это и есть главный порог входа. Сам синтаксис задокументирован в шпаргалке Syntax Cheatsheet в Wiki.
Он только для браузера или заработает в моей операционной системе?Работают оба варианта: онлайн-IDE и задокументированный Browser Runtime запускаются в любом браузере, а CLI-компилятор на базе Node работает везде, где есть Node, — на Windows, macOS и Linux.
Обязательно ли ставить знаки препинания в коде на wenyan?Нет — знаки препинания и переносы строк совершенно необязательны, как и в классическом китайском, поэтому одну и ту же программу можно записать сплошной строкой текста.
Зачем вообще делать язык программирования из классического китайского?В авторском предисловии, которое само написано на вэньяне, отмечается, что до этого никто не программировал на wenyan, и язык подаётся как способ сохранить живую литературную традицию (文脈).
Может ли wenyan работать на веб-страницах, а не только в IDE?Да — в Wiki описан Browser Runtime, так что программы на wenyan могут выполняться в браузере на стороне клиента.
Есть ли книга для изучения wenyan?Да — на сайте проекта есть ссылка на 'The Book' по wenyan, которая доступна на английском, упрощённом и традиционном китайском, в дополнение к документации в Wiki.
Size
46.3 MB
Stars
20.3K
Age
6y
Commits · 90 Days