日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

我看所谓“汉语编程”

發(fā)布時間:2023/12/8 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 我看所谓“汉语编程” 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

最近看到solidot上有人灌水說又推出了一種漢語編程語言:
http://developers.solidot.org/article.pl?sid=07/09/19/0429258&from=rss

去看了看,沒有任何新意,和中蟒的視覺感受很類似,試想,天天讓一個正常的中國人寫這樣的漢語能不得神經(jīng)病嗎:
載入 系統(tǒng)
文件名 = 系統(tǒng).參數(shù)[1:]

定義 修正行尾(文件):
內(nèi)文 = 打開(文件名).讀入()
內(nèi)文 = 內(nèi)文.替換('/n/r','/n')
傳回 內(nèi)文

取 文件 自 文件名:
寫 修正行尾(文件)

上面這段是中蟒的“漢語代碼”。中蟒在cosoft.org.cn上的統(tǒng)計信息也是沒有繼續(xù)維護了:
注冊日期: 2002-04-29 15:07
活動統(tǒng)計: 0%

這類東西的本質(zhì)基本上就是在所謂“英文編程”的lexing前面加上一步preprocessing,把漢語轉(zhuǎn)換成英文,然后進入傳統(tǒng)的編譯過程。當(dāng)然,如果更高明一點,可以用一個支持unicode的lexer/parser自己寫一個直接支持漢字字符關(guān)鍵字的編譯器,哈哈。不過,都是毫無創(chuàng)意。

用簡單的直譯來模仿英語的編程手法,實在是十分拙劣。單就打字來講,輸入for要比輸入“循環(huán)”要簡單的多。當(dāng)然,打字不是問題,因為不是號稱有打字比賽漢字輸入速度已經(jīng)超過英文了嗎。

這個世界上,簡直沒有什么比毫無創(chuàng)意的發(fā)明更令人惡心和面目可憎的了!

在st. monad看來,這些人都沒有認識到漢語比起英文的不同在什么地方。相比英語來說,漢語不適合、不善于簡單的表達,而是適合凝練的表達。槍手貼[1]雖然通篇都是屁話,但是有一句還是值得在這里提一下的,那就是”漢語編程的原理是建立在漢字的本身優(yōu)勢上,漢字看起來很復(fù)雜,但表達的意義卻很豐富。“可惜的是,用”循環(huán)“代替for卻恰恰是揮刀子宮、完完全全放棄了這一優(yōu)勢。

有破亦當(dāng)有立,到底什么樣的編程語言適合用漢語來表達而英語不善表達呢?如st. monad前面說的,必然應(yīng)該是語法“凝練”而不是“簡單”的語言。

為了更容易學(xué)習(xí)、記憶、輸入,英語編程語言必須拋棄自然語言的冗余表達,轉(zhuǎn)而使用更少的關(guān)鍵字、更簡單的語法,但是同時也意味著編程上的低級和復(fù)雜:為了表達一個邏輯結(jié)構(gòu),往往需要幾十行到上百行代碼。一個極端的例子就是brainfuck這個語言。看看BF寫的hello world吧[2]:
++++++++++ [>+++++++>++++++++++>+++>+<<<<-] >++. >+. +++++++. . +++. >++. <<+++++++++++++++. >. +++. ------. --------. >+. >. 我想人是很難習(xí)慣寫這種語言的。所以這個矛盾和自然語言的發(fā)展是一樣的:說話的人為了省力氣,傾向于用更少的單詞表達更多的意思;聽話的人為了更準(zhǔn)確的理解,傾向于聽到意義唯一的單詞。所以自然語言的單詞的表達意義的數(shù)量是這兩個力互相較勁的結(jié)果。

回到漢語,漢語適合表達凝練的語法。這種語言不是沒有,APL就是[3]。APL連很多Unicode字符都用上了。當(dāng)然,我的意思并不是說把APL拿來用漢字翻譯一下就OK了。而是,我們要使用這種思想,真正設(shè)計出特別凝練的、充分發(fā)揮漢語語言特點的漢語編程語言。

先這么多。

[1] http://www.cnbeta.com/articles/38598.htm
[2] http://en.wikipedia.org/wiki/Brainfuck
[3] http://en.wikipedia.org/wiki/APL_(programming_language)

最近看到solidot上有人灌水說又推出了一種漢語編程語言:
http://developers.solidot.org/article.pl?sid=07/09/19/0429258&amp;from=rss

去看了看,沒有任何新意,和中蟒的視覺感受很類似,試想,天天讓一個正常的中國人寫這樣的漢語能不得神經(jīng)病嗎:
載入 系統(tǒng)
文件名 = 系統(tǒng).參數(shù)[1:]

定義 修正行尾(文件):
內(nèi)文 = 打開(文件名).讀入()
內(nèi)文 = 內(nèi)文.替換('/n/r','/n')
傳回 內(nèi)文

取 文件 自 文件名:
寫 修正行尾(文件)

上面這段是中蟒的“漢語代碼”。中蟒在cosoft.org.cn上的統(tǒng)計信息也是沒有繼續(xù)維護了:
注冊日期: 2002-04-29 15:07
活動統(tǒng)計: 0%

這類東西的本質(zhì)基本上就是在所謂“英文編程”的lexing前面加上一步preprocessing,把漢語轉(zhuǎn)換成英文,然后進入傳統(tǒng)的編譯過程。當(dāng)然,如果更高明一點,可以用一個支持unicode的lexer/parser自己寫一個直接支持漢字字符關(guān)鍵字的編譯器,哈哈。不過,都是毫無創(chuàng)意。

用簡單的直譯來模仿英語的編程手法,實在是十分拙劣。單就打字來講,輸入for要比輸入“循環(huán)”要簡單的多。當(dāng)然,打字不是問題,因為不是號稱有打字比賽漢字輸入速度已經(jīng)超過英文了嗎。

這個世界上,簡直沒有什么比毫無創(chuàng)意的發(fā)明更令人惡心和面目可憎的了!

在st. monad看來,這些人都沒有認識到漢語比起英文的不同在什么地方。相比英語來說,漢語不適合、不善于簡單的表達,而是適合凝練的表達。槍手貼[1]雖然通篇都是屁話,但是有一句還是值得在這里提一下的,那就是”漢語編程的原理是建立在漢字的本身優(yōu)勢上,漢字看起來很復(fù)雜,但表達的意義卻很豐富。“可惜的是,用”循環(huán)“代替for卻恰恰是揮刀子宮、完完全全放棄了這一優(yōu)勢。

有破亦當(dāng)有立,到底什么樣的編程語言適合用漢語來表達而英語不善表達呢?如st. monad前面說的,必然應(yīng)該是語法“凝練”而不是“簡單”的語言。

為了更容易學(xué)習(xí)、記憶、輸入,英語編程語言必須拋棄自然語言的冗余表達,轉(zhuǎn)而使用更少的關(guān)鍵字、更簡單的語法,但是同時也意味著編程上的低級和復(fù)雜:為了表達一個邏輯結(jié)構(gòu),往往需要幾十行到上百行代碼。一個極端的例子就是brainfuck這個語言。看看BF寫的hello world吧[2]:
++++++++++ [>+++++++>++++++++++>+++>+<<<<-] >++. >+. +++++++. . +++. >++. <<+++++++++++++++. >. +++. ------. --------. >+. >. 我想人是很難習(xí)慣寫這種語言的。所以這個矛盾和自然語言的發(fā)展是一樣的:說話的人為了省力氣,傾向于用更少的單詞表達更多的意思;聽話的人為了更準(zhǔn)確的理解,傾向于聽到意義唯一的單詞。所以自然語言的單詞的表達意義的數(shù)量是這兩個力互相較勁的結(jié)果。

回到漢語,漢語適合表達凝練的語法。這種語言不是沒有,APL就是[3]。APL連很多Unicode字符都用上了。當(dāng)然,我的意思并不是說把APL拿來用漢字翻譯一下就OK了。而是,我們要使用這種思想,真正設(shè)計出特別凝練的、充分發(fā)揮漢語語言特點的漢語編程語言。

先這么多。

[1] http://www.cnbeta.com/articles/38598.htm
[2] http://en.wikipedia.org/wiki/Brainfuck
[3] http://en.wikipedia.org/wiki/APL_(programming_language)

總結(jié)

以上是生活随笔為你收集整理的我看所谓“汉语编程”的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。