為什麼不能用漢字編程?


來,給你們看個傳奇世界自動掛機腳本吧。

觸發器:如果[頭盔]位置的持久=1,那麼跳轉到腳本第[10]行

觸發器:如果[項鏈]位置的持久=1,那麼跳轉到腳本第[10]行

觸發器:如果[左手鐲]位置的持久=0,那麼跳轉到腳本第[10]行

觸發器:如果[右手鐲]位置的持久=0,那麼跳轉到腳本第[10]行

觸發器:如果[左戒指]位置的持久=0,那麼跳轉到腳本第[10]行

觸發器:如果[右戒指]位置的持久=0,那麼跳轉到腳本第[10]行

觸發器:如果HP<=30%,那麼跳轉到腳本第[10]行

觸發器:如果[武器]位置的持久<0,那麼跳轉到腳本第[10]行

10 使用[地牢逃脫卷]

等待[1000]毫秒

走到(熱砂荒漠,203,490)

找到[客棧掌柜](熱砂荒漠,203,490)

與[客棧掌柜]對話

選擇[保管東西]

自動存物

選擇[返回]

選擇[關閉]

走到(熱砂荒漠,254,449)

找到[鐵匠](熱砂荒漠,256,445)

與[鐵匠]對話

選擇[賣武器]

自動賣掉[武器]類別物品

選擇[返回]

卸下[武器]位置的裝備

選擇[修理武器]

修理[修羅]

裝備[修羅]到[武器]

選擇[返回]

選擇[關閉]

結束對話

走到(熱砂荒漠,225,466)

找到[小販](熱砂荒漠,222,465)

與[小販]對話

選擇[買東西]

購買1個地牢逃脫卷

選擇[返回]

選擇[關閉]

走到(熱砂荒漠,212,509)

找到[服裝店掌柜](熱砂荒漠,207,510)

與[服裝店掌柜]對話

選擇[賣衣服]

自動賣掉[衣服]類別物品

選擇[返回]

卸下[衣服]位置的裝備

卸下[頭盔]位置的裝備

選擇[修復衣服]

修理[重盔甲(男)]

裝備[重盔甲(男)]到[衣服]

選擇[返回]

選擇[修理]

修理[骷髏頭盔]

裝備[骷髏頭盔]到[頭盔]

選擇[返回]

選擇[關閉]

走到(熱砂荒漠,152,482)

找到[珠寶店掌柜](熱砂荒漠,147,483)

與[珠寶店掌柜]對話

選擇[賣首飾]

自動賣掉[手鐲]類別物品

自動賣掉[戒指]類別物品

自動賣掉[項鏈]類別物品

選擇[返回]

等待[1000]毫秒

卸下[項鏈]位置的裝備

卸下[右手鐲]位置的裝備

卸下[右戒指]位置的裝備

選擇[修理首飾]

修理[藍翡翠項鏈]

修理[堅固手套]

修理[骷髏戒指]

選擇[返回]

裝備[藍翡翠項鏈]到[項鏈]

裝備[堅固手套]到[右手鐲]

裝備[骷髏戒指]到[右戒指]

等待[1000]毫秒

卸下[左手鐲]位置的裝備

卸下[左戒指]位置的裝備

選擇[修理首飾]

修理[死神手套]

修理[骷髏戒指]

結束對話

裝備[死神手套]到[左手鐲]

裝備[骷髏戒指]到[左戒指]

選擇[返回]

選擇[關閉]

走到(熱砂荒漠,230,473)

找到[藥材商](熱砂荒漠,235,472)

與[藥材商]對話

選擇[賣葯]

自動賣掉[太陽水]

選擇[返回]

選擇[買葯]

買夠10個超級金創葯

買夠4個魔法葯(中)包

選擇[返回]

走到(熱砂荒漠,201,428)

走到門點(熱砂荒漠,201,428)到達地圖(機關道一,46,252)

等待[1000]毫秒

走到(機關道一,263,97)

走到門點(機關道一,263,96)到達地圖(盤道一,55,15)

等待[1000]毫秒

走到(盤道一,36,56)

走到門點(盤道一,36,56)到達地圖(迴旋通道一,92,131)

等待[1000]毫秒

走到(迴旋通道一,122,156)

走到門點(迴旋通道一,122,156)到達地圖(盤道二,52,86)

等待[1000]毫秒

開始戰鬥


其實,任何語言來編程,都不是直接使用人類語言而是使用一種限定的語法句法來編程的,比如在正常的思維中,你肯定不會這麼說:

a=i

i=1

i++

print a

而得到的結果是一個無限增加上去的加一數列。這是在人類語言中絕不會出現的,所以,使用什麼語言為基礎進行編程,根本就沒有任何差別!

為什麼不用漢語編程呢?還是那句話我們編程從來都沒用過英語,只是用了英語中的一些單詞而已,那用漢語又有什麼區別呢?答案是根本沒有。

至於為什麼不用漢語為基礎,主要原因是,中國在計算機底層的研究上還是存在短板的,起步也更晚,當我們開始研究計算機的時候,人家都已經慢慢步入PC時代了。而同時期,我們的漢字,都還不能錄入計算機,也因為此,中國曾有一個思潮,就是取締漢字,因為大家都明白,未來的世界時計算機的世界,而漢字無法錄入,也就是中國也許將永遠無法進入計算機時代!當然事實證明,漢字錄入的效率已經慢慢超過英文錄入了,我們也該慶幸當初沒有取締漢字!

因為這種更高的錄入效率,漢字在未來成為計算機語言基礎的概率還是非常高的,這也需要我們的計算機研究者更向底層走,向核心走。

此外,說到漢語存在的歧義性,這個說法一直存在於各種網路小說中,說漢語存在歧義,所以也許未來會成為人工智慧的基礎語言,或者說,因為漢語的歧義性,所以現在不可能成為計算機語言的基礎符碼,這是非常可笑的說法,未來能不能因為歧義成為ai的基礎語言我不清楚,但是可以很負責任地說,現在不用漢語做基礎符碼,絕不是因為歧義。

我看其他人的回答里,有人舉例:我親妹妹被打了,指的是我被打了還是妹妹被打了。

關鍵是,計算機不需要這種語言,計算機也不會去分析這種問題,人類在設計底層語言時,這種問題是已經想清楚的,假如這句真的用來控制計算機,那麼在設計語言時,設計師與計算機會有一個確定的約定,約定這一句是指我被打了還是妹妹被打了。或者直接讓這種類似的語句直接返回運行失敗!

真的會英語,你會明白,英語也有大量的歧義語句。

舉例來說:

she went to the bank

是指她去銀行了

還是指她去河邊了?

又如:

we saw the Indian dance

是說我們看過印第安人跳舞

還是說我們看過印第安舞蹈?

又如:

I know the gril next to the teacher watching TV

是說這個女孩看電視,還是女孩和老師一起看電視?

又如:

he likes his father better than his mother

是說他喜歡爸爸勝過喜歡媽媽,還是說他比他媽媽更喜歡他爸爸?

真的會編程,你會明白,這種歧義語句,對編程根本沒某任何影響。因為這些歧義早就在底層設計時就已經被排除了!!!

明白了嗎?


按現在計算機架構,使用漢字編程的難度是很大的,也沒什麼必要,

自計算機在美國誕生之初,採用的是二進位,計算邏輯、存儲方式、指令編寫等等,到現在都沒有什麼改變,只是處理速度大幅提升。

為了更方便計算機的編程學習,從彙編、Basic、Pascal、C、C++、Java、Python等編程語言不斷的發展,但編程的核心思想並沒有太大的變化美國的二進位計算機標準一統全球後,世界上就很少人去做些基礎研究了,包括操作系統、高級語言等。大學的計算機課程:操作系統、計算機結構,還是用二十年前的教材。

漢字不是不能編程,只要把漢字片語變成一個一個標準的命令集,即使這樣,也不會比現有的編程語言方便,代碼效率也不會太高。對於編程語言來講,越高級越抽象,學習起來可能更方便,但代碼執行效率可能就越低。比如:python學習容易,平台適應性好,但代碼效率卻是低的。

漢字編程有沒有未來呢?當然有,什麼情況下才能顯示其優勢?

可以當聊天,作些假設及預想

1、利用漢語的語音識別優勢:解放程序員的手,通過語音來編程。

2、有統一、標準、高效、共享的代碼庫,通過接收語音指令,給出最優代碼模塊,實現所要功能

3、拋棄二進位架構,採用三進位計算機(前蘇聯有過樣機),對於計算速度大幅提升、存儲空間擴展、增加邏輯判斷選項等有極大的好處,這種架構更適合中文漢字的思考方式

漢字編程不是不行,是條件還不成熟。

我是漢字谷主,【專註說文解字、識字啟蒙、K12語文教育、海外漢語等漢字產業,古汀漢字谷 獨創的《人字學習體系》(人字學習法、快速識字、漢字創新思維、漢字國學、古詩文理解等)】讓小學生也能讀懂國學經典!歡迎關注交流!


程序員試著來回答一下,不喜勿噴。

首先闡明事實,目前是存在漢字編程的,只是英文編程佔據了我們的主流而已。

所謂編程,百度百科的解釋是讓計算機代為解決某個問題,對某個計算體系規定一定的運算方式,是計算體系按照該計算方式運行,並最終得到相應結果的過程。

所謂編程語言,也就是為了解決編寫應用程序所帶來的一系列問題而使用的一種助記符號。而計算機並不認識人類語言,無論是中文還是英文,最終都要轉化為二進位來執行代碼指令,所以從理論上來講,用漢字編程是可行的。

那麼,為什麼會造成普遍用英文來編程而不是中文呢,那是因為諸多原因啦。

首先,中文太博大精深啦,而且一般而言除正式場合之外很少會嚴格按照語法來說話的,什麼倒裝啦,省略,還有方言,多音字,語調,語氣,很複雜,電腦是搞明白很難或者需要付出很大的代價。

其次,一個漢字佔兩個字元呀,會很佔位置,而且平常我們編碼或者計數常用的也是字元或者數字吧,「a「只需打一個」a「就出來了,但」一「卻要打」yi「兩個啊,從速度和空間和習慣上來講也會是英文更佔優勢。

再者,計算機是美國出的吧,當時肯定用英文啊,先入為主。

謝謝閱讀。


目前是有用漢字編程的語言的:比如易語言

易語言簡單易學對系統環境的適應性和控制能力更強。

總體來說,所有的編程語言最終的結果還是要能讓機器運行的機器語言(一般是二進位編碼),關鍵在於用什麼樣的符號體系效率高,可讀性強,便於研究。

其實編程的難點並不是編程語言,而是用邏輯將自然語言表達出來,

比如數字排序,用中文寫:將數字排序,他就能自己排序了

而實際上還是要通過一定的演算法寫排序的方法。

用漢字編程,漢字有重意,我估計程序員連他自己寫的代碼都看不懂。

1、首先目前的英文編碼確實有它方便之處,我們知道,漢字有很多,不像英文只有26個字母,怎麼組合也就那麼多個,映射到計算機的二進位代碼也就那麼幾個,而漢字的話需要更複雜的解碼設備,導致成本的增加。

2、漢字存在一字多義,一詞多義,多詞同義等諸多情況(要不怎麼說漢語難學呢?呵呵),編譯器需要處理這些情況,需要一些全新的演算法思想,不過我相信中國必須有這些人才在,不然要像我這樣的創新性人才幹什麼呢?呵呵~~有點裝那個什麼了,哈哈。

3、使用英文很容易進行跨平台操作,現在的系統暫時還沒有支持漢字編程的支持程序,所以即使你設計出這樣一款漢字編碼軟體也需要做很多的後期處理。

4、在進行網路傳輸,因為所需的存儲量小,使用英文編寫程序便於信息交換,使用中文編碼確實有存儲量大的問題,不過相信再不久的將來這些都不是問題了。


誰說不能用的,編程運行本身就分為編譯和解釋。意思就是,一邊翻譯一邊運行,和一邊解釋一邊運行。

任何編程語言,都可以用(純文本)記錄。但是如果想把它作為程序,就需要配套的「語言翻譯程序」。比如寫了c對過程程序,就需要turbo c這個語言翻譯程序來翻譯成二進位機器語言。

也就是1和0的組合。就像電報一樣。只用兩種區別的聲音,來製造信息。

但是假如你對計算機硬體十分了解,比如很清楚cpu是怎麼進行計算的,一次計算,這個cpu有多大的123級緩存,又十分清楚硬碟和內存都是如何儲存信息的。那麼你可以學習機器語言,也就是二進位代碼了。

理論上越是基礎的語言,所能實現的程序越複雜。但是所能產生的bug也越多。因為雖然可以實現任何計算機機制,但是由於只用0和1對於工作人員來說,工作太多了。

而將機器語言概括成漢語,又有漢語的編譯器,就可以實現漢語編程。

我們甚至完全可以把if翻譯成如果,也完全可以把邏輯上的1看成開0看成閉。

只是做一個漢語的編譯器很難有市場,「易語言」。人們有思維慣性,認為從歷史上的彙編語言開始,就都是英語了。用漢語可能不好。又或者鍵盤本身就是英文的,我們用輸入法寫成漢語,再翻譯成機器語言。這種情況是在os健全下的,假如開機只存在類似於dos的語言操作系統,就很尷尬。

編程語言需要,通用性,邏輯性,普遍性。


漢字怎麼不能編程?易語言就是漢字編程的。問題是,為什麼不用漢字來做數學題?字母和數字在編程時效率很高,就象阿拉伯數字用於計算一樣。

漢語編程,其實需要的不是漢字編程,而是拼音編程。各種函數、代碼什麼的轉成拼音,才符合國人習慣,又能高效作業。但是,這些都不是主要問題。

編程的生態才是主要問題。你要編程,總不能拿個記事本就編,你如果水平那麼高,我們就不會在這兒討論這個!

編程需要工具,大多國人最習慣的漢語,在工具里有很大的問題。比如,微軟office里的Access,窗體上有個屬性叫數據輸入,但是它並不能控制你是否能夠輸入,只代表能不能顯示。我說,你改成數據顯示不就好了么?類似的問題很多!

工具是實踐,理論方面的問題更大!隨便找本書翻一翻,或者到網上搜一搜,沒有誰是先告訴你怎麼去做軟體、怎麼去做遊戲。都是幾句話一略而過,然後大談特談各種語言!所以,很多人學了一肚子編程語言,卻不會用。

而且,人家工具都升級好多版了,那教編程的講的還是十幾甚至是幾十年前的東西。

其實,編程並不難學,只不過因為各種原因,大家都在走彎路!這一點,從我國各級教育都在教孩子們走彎路開始,一直到民間的各種教學都在走彎路。明明在實踐中,很多東西不需要記得,只要會查會找,學校里偏偏要你死記硬背。只講方法,不剖解問題,只講怎麼做,不講為什麼這麼做!

歪題了!漢字編程常需要切換輸入法,僅此一點,就讓我非常討厭在編程時輸入漢字,但是拼音的可行性非常高!除了英文非常好的,以及習慣了英文編程的人之外,有誰不願意用拼音而一定要用英文的呢?


硬體可是不會認中文還是英文 硬體只認識0 1因為電路只有正負極剛好代表0 1 為啥沒有漢子語言 因為中國人壓根沒考慮搞過 這玩意真的不難就是麻煩而已!有中國人出的中文指令集嗎 電腦有中文系統嗎 並沒有 中國人全是拿來主義 有幾個linux系統也是拿人家開源的加個殼子美工然後圈點項目費 根本沒人搞實際玩意 國家也沒說扶持這個項目 這玩意要從底層開始麻煩的一筆而且沒實用效果 世界上已經有那麼多優秀的語言給你用難道功能不夠你用?你還搞中文編程幹嗎 我說的這個是大眾程序員的普遍心理 搞中文編程其實不難 但是巨麻煩耗時 要從最底層搞起 硬體 指令集 系統等等等誰會花那麼多時間搞出來個東西還發現是人家都能實現的東西? 目前沒有中文編程語言 別講什麼易語言 你要說易語言是中文編程語言 請你打開根目錄link連接器看下調用什麼編譯器在說話 一個漢化版小工具而已 吳濤都不拿這個項目圈錢了 x64都沒打算搞 一切庫都是vc封裝的 想完全自主漢字編程語言 下輩子吧


其實是可以用漢語編程的,比如易語言。

但是計算機技術發展到今天,任何高級語言的編程結構基本都大同小異。如果有本好的教材,學習難度也差別不大。

現在很少使用漢語編程,並不是因為計算機只認0和1。任何編程語言都需要經過編譯器編譯後,才能被計算機識別;確實計算機只能識別0和1,但編譯器是可以編譯漢語的,編譯器可以將漢語編譯成計算機可識別的0和1。只要宏定義完整,任何編程語言都可以漢化。

很少看到漢語編程,很大的一個原因在於缺乏國產編程語言,好不容易有了個易語言,可是易語言的使用範圍並不廣泛,缺乏嵌入式平台的支持。易語言入門容易,但也缺乏進階的學習資料,而向高級進階依然要使用英文。而且個人覺得易語言代碼可讀性並不好。

現在有部分的國產IDE開始在漢化c語言、c++語言等高級語言。但也只是簡單漢化,入門還可以,如果需要深入依然需要接觸到英語。

最後,對於所有的編程語言來講,不管是英語還是漢語,裡面任何一個單詞都只是一個符號。我們只需要弄明白裡面標識符的意思,以及函數的作用即可。所有編程語言的編程思路基本大同小異,與其漢化編程語言,遠不如漢化該語言的幫助文件來的實在。


我是計算機專業的,來說兩句。

漢字編程絕對是可以的,我想題主的意思應該是既然可以編程,那為什麼不用漢字編呢。舉個簡單的例子,漢字編程肯定要輸入漢字,而我們現在漢字輸入的最低單位就是26個英文字母,那麼是不是要先改變這一方式呢,如果這樣,就要顛覆整個it行業最基礎的架構,所有彙編語言都要改,這等於將全世界翻個底朝天。就算中文更優,但代價也沒人承擔得起。

再舉個例子,有一天某人發現了設計更合理的螺絲組件,如果全世界的已使用的螺絲都更換成他的,就可以收穫到非常客觀的收益,但就算如此,把全世界的螺絲都換掉可能嗎,這意味著所有的標準都要變,甚至涉及到很多社會準則、法律。想想就是不可能。

英文和中文對於機器而言就是0和1,高電平和低電平,中文和英文本質上沒有區別,只是誰先誰早。筆畫就可以輸入中文,文字的基本單元更少,鍵盤可能只要二十幾個鍵就可以了,比現在的至少小一半。從這裡看中文更優。


推薦閱讀:

TAG:語言 | 編程語言 | 文化 | 計算機行業 | 科技 |