為什麼基於漢字的編程語言沒有流行?

原問題:為什麼不能用漢語來編程?

原問題詳情:如果那些發明計算機地人出生在中國,他們能否開發出針對計算機軟體開發的漢語語言,從而直接編譯為機器語言。

修改原因:提問者沒有對編程語言、編譯過程的總體把握和認知,提出的問題包括提問的原因,都是錯誤的。



能啊


如果發明計算機的人在中國的話,他們一定會像減字譜那樣發明一套符號來記錄程序的


產品經理就是使用一種叫「程序員」的計算機語言直接編程。——評論補充:並通過漢語與之交互。


編程語言不是英語!!!

編程語言不是英語!!!

編程語言不是英語!!!

你可以把它改成漢字。

但那不是漢語!!!!


編程的核心是邏輯而不是指令使用的語言本身。

你自己寫個IDE,讓所有需要「MOV」的地方都用「移動」是完全可行的,編程語言本身以什麼自然語言為基礎,和編程語言本身的邏輯實際上沒什麼關係。

實際上你可能想表達的是自然語言編程,這個很久沒關注,印象中現在好像還沒什麼突破的樣子。

但是不管怎麼樣,現在的計算機鍵盤設計來說是更適合輸入英文的,在輸入方式和自然語言編程有突破之前漢字應該沒什麼進入這個領域的機會。


補充說明下,雙引號的部分是原問題描述的原文,不知道是誰看不下去給刪了。怎麼有種民科進入IT界的即視感。。。

——————————————————

"我們知道一個漢字是兩個位元組,分別是xy軸,漢語是點陣式語言"

誰告訴你的,瞎扯淡。


謝邀,當然可以用漢語來編程,這裡引用一個quora上的回答

以下是用中蟒語言(http://www.chinesepython.org/),也就是某種中文化的python寫出來的程序:

看起來好像也沒什麼問題, 而且用這種鍵盤來寫效果更佳:

原答案鏈接: Henry Zhu"s answer to Which is the most difficult programming language to learn and why?


因為計算機不能理解自然語言,所以目前所有的自然語言都不能用來編程,這也就包括漢語。

使用漢字的語言和漢語是倆東西(譬如說易語言)。

準確的說目前主流的編程語言是一種使用拉丁字母和少數ASCII常用符號的形式語言


請注意區分編程和翻譯的區別。

你用c編譯器然後用一堆typedef也可以用漢語寫代碼啊。但這叫翻譯,不叫編程。

編程要和編譯器配套。


我幻想過如果lisp誕生在天朝會不會是這樣的:

(兩個 (黃鸝 鳴 翠柳))
(一行 (白鷺 上 青天))
(窗 含 (西嶺 千秋雪))
(門 泊 (東吳 萬里船))

和英文變數名相比,起碼中文變數名對齊容易一些。

『快速排序』、『紅黑樹』這樣的演算法,能不能以詩歌的形式表現出來呢?


英語也不能編程啊


為什麼不能用德語編程為什麼不能用日語編程為什麼不能用法語編程為什麼不能用義大利語編程為什麼不能用西班牙語編程

既然科技界的統治語言是英語,還是認了吧。

話說pscal裡面的關鍵字procedure是法語


知乎有一句名言送給你:先問是不是再問為什麼。


如果(你小於八十歲){做我媳婦;變老}

當(你小於八十歲){做我媳婦;變老}

{做我媳婦;變老}當(你小於八十歲)

若(你出生;你小於八十歲;變老){做我媳婦}


一張鍵盤裝得下所有的字母,裝不下所有的漢字。

拿最少都六七千的一套字元去跟只有二三十個字母的西文去比,簡直是螳臂當車。

漢字在電腦上通常需要藉助五筆、拼音、區位等等輸入法才能輸入,一個漢字的外碼對應了不止一個按鍵,不像西文,根本不需要輸入法,直接按就可以了。輸入一個漢字的工夫都夠輸入好幾個字母了,效率實在太低。更何況有時候會重碼,用拼音輸入法還得挑半天,不然容易出錯。如果把這一點也考慮進去,那麼用漢字來編程更沒什麼效率可言了。

有的人可能會想到,專門生產一種漢字鍵盤,上面的按鍵比普通鍵盤多,就可以解決這個問題了。其實這種做法可行性太低。先不說這種硬體增加了編程的成本,用戶們用慣了普通鍵盤以後,還要專門去學這種特製的鍵盤,這個習慣能不能變過來都很難講,就算能學會,也肯定只是一小部分人。能用普通鍵盤打字打得很快的人本來就不算多,能熟練用這種鍵盤的人就更少了。

有一種可能行得通的方案,是在編程用到的術語中選取幾十個用得最多的漢字,然後印在普通鍵盤的按鍵上,或者做成貼紙或透明鍵盤膜等等。再在鍵盤上增設一個特別的按鍵,輸入的時候按住這個按鍵,再按下印有漢字的鍵即可輸入對應的漢字,就像那種80年代的四通打字機一樣。這種辦法實現起來應該不會太難,但還是會遇到一些問題,比如程序裡面很有可能會出現西文字母,輸入的時候要考慮怎樣才能快速地切換,再有就是編程語言的種類很多,未來還不斷會有新特性加入,怎樣才能選好這幾十個漢字,以後還會不會要增加,這些都是非常棘手的難題。

另外還要考慮到外在的因素,比如漢字的編碼比較複雜,不像英文那樣簡單,七個比特就夠了;各國家或地區都有自己的一套方案,互相之間交流還需要轉換,存在兼容性問題。還有就是編程起源是在西方,不會是我們,用自己的一套文字去描述這種外國傳來的技術,實在不如直接用外國的文字方便直接。


易語言被吃了


  1. 點陣字體太丑了,為什麼不用矢量字體。
  2. 而且宋體黑體楷體幼圓雅黑思源這麼多亂七八糟的字體,也不好規定一個統一的編碼,更何況還有簡體繁體異體手寫體之分。

所以,結論是,但是會很麻煩。

另外,不要覺得計算機這種東西是外國人原創的,二進位明明是抄襲的易經好嘛。如果漢字能夠照著八卦這種規範的符號發展的話,拿做設計計算機是理所當然的啦。

就是這樣。

=========

題目被改成了一坨屎了。

我最初看到的時候是這個樣子的:

為什麼不能用漢語來編程?

我們知道一個漢字是兩個位元組,分別是xy軸,漢語是點陣式語言,但如果那些發明計算機地人出生在中國,他們能否開發出針對計算機軟體開發的漢語語言,從而直接編譯為機器語言。

不過下面這個還是關鍵的:

就是這樣。


我總是說: 你們要再用德語做變數名我以後就用拼音!!


#define 其他 else
#define 列印 printf
#define 整形 int
#define 主函數 main
#define 包含 include
#define 無 void
#define 換行 printf("
")

#include&

整形 主函數(無){
列印("中文");
換行;
}

#include 我真的不知道怎麼弄了。。


推薦閱讀:

化學領域的民科是不是較其他領域(物理數學)少?如果是,為什麼?
范盛金的三次方程求根公式是真的嗎?
知乎上好多人都在提醒大家不要做一個閉門造車的民科,為什麼?
π 等無理數的存在能否說明人類從自然數起步發展的數學存在缺陷?
民科哪兒得罪大家了?

TAG:編程語言 | 計算機 | 民間科學家 |