為什麼沒有中文的編程?
為什麼代碼都是用英文書寫的呢
有啊,井陌漢編。。。
圖片是我山寨的井陌漢編。。正版更炫酷。。
事實上有的, 不僅有中文的, 還有日文的, 這還僅僅是我所了解到的, 可能也有德語, 韓語, 法語等等, 我們就說中文吧, 我就知道有兩個.
第一個是每次提到都大家批判的易語言, 易語言, 我覺得它之所以被批判是因為設計的太簡單通俗, 用白話文, 當然被批, 一點美感都沒有.
我們來看看台灣友人唐鳳的作品: perlyuyan, 這裡我們奉上其中的一段代碼:# The Sieve of Eratosthenes - 埃拉托斯芬篩法
use Lingua::Sinica::PerlYuYan;
用籌兮用嚴。井涸兮無礙
。印曰最高矣 又道數然哉。
。截起吾純風 賦小入大合。
。習予吾陣地 並二至純風。
。當起段賦取 加陣地合始。
。陣地賦篩始 繫繫此雜段。
。終陣地兮印 正道次標哉。
。輸空接段點 列終註泰來。
怎麼樣, 高大上了吧, 除了名字起的俗了點, 寫起代碼來立馬變身李太白(太白: 找我啥事, 我當年寫的代碼, 你們怎麼當詩念了? 唐朝都有代碼, 領先西方這麼多年, 都被你們這幫孫子毀了).
當然, 除了中文編程, 日文編程, 還有空格編程 brainfuck等等一系列奇葩的語言.程序員是一個閑不下來的群體, 創造力又居高不下, 於是就蛋疼的搞了無數BT雷人的程序語言(大全).我忘記在哪看過一個很好的答案了:
不要以為用英文字母和單詞寫程序就是在用英文編程。
解釋一下:可以認為程序是一門和英語、漢語等語言平行的語言,有獨立的語法和用法,只不過借用了英文字母而已。就像日語借用了漢字,但和中文基本沒有關係。之所以借用英文字母,是因為用英語的人最先發明了鍵盤和電腦,然後就習慣性的用下來了。目前除了易語言以及國人做的其他中文編程之外,最近又有一個中文編程工具,是法國人做的WinDev。
另外關於中文編程的意義和效率問題,可以看我寫的一篇文章:http://www.hystudio.net/726.html
其實有。
如果有人突(xián)發(dě)奇(dàn)想(téng),甚至可以弄個火星文的編程語言。程序員吃青春飯嘛,肥豬流的程序員快上崗了。
編程是一門嚴謹的活,生產力是關鍵。
我猜想題主想要的不是中文編程語言,而是自己說一句話,然後計算機自動幫你完成工作,而那個工作的產品就是程序。
事實上,計算機語言用英語有別的語言無可比擬的優勢
比如中文表達非常容易出現歧義,主要由於分詞斷句問題,當然我們可以通過約定來限制這一點,但是這完全沒有意義,還不如約定用英文。
其次英文字母是ASCII編碼內的,這是全世界最通用的計算機標準之一,普適性更強。
中文編程沒什麼大不了,僅僅是改改編譯器什麼的,設計思想還是用的現代程序語言的思想。
樓上的哥們列舉了很多奇葩語言,這種實現根本不是難事兒,把一個C的編譯器改成中文編譯器即可,等價代換沒什麼難度。但是代碼的可讀性你也看到了,娛樂夠了,生產效率不行。中文編程 github討論組已建立. 歡迎對用中文編寫代碼感興趣的各位前來拜訪.
很多高級編程語言支持中文命名,鏈接有示例代碼: Java 8, JavaScript, C#, PHP, Python 3, Go, Scala, FASM, Perl6, Common Lisp, CoffeeScript
下面在Java中用中文編寫代碼, 摘自實驗性彙編編譯器的開源項目zhishi/assembler-in-chinese-v0 - 碼雲 - 開源中國:
不少中文編程語言都是創造者一時熱情。覺得發明很偉大,想當然的認為一定有需求。實際與之不符。簡單說,就是因為發明的太多了,所以死的比例非常高。
市場策略或操作失敗是最主要的原因。
至少可以說明,有很大一部分人認為,中國人是需要中文編程的。
一些現象:
有些中文編程語言只是做了某編程語言的關鍵字翻譯,就認為很牛了。覺得自己是某某語言之父了。這是非常錯誤的。語言的內涵不是幾個關鍵字就能表達的。
一些程序員主導的中文編程項目,寫一個中文語言翻譯器就結束了。
真正大投入做中文編程的項目非常少。可能只有易語言了。
中文編程語言的內涵至少包括下面幾個方面:
語法設計,關鍵字的替換是沒有技術含量與貢獻度的。
豐富的類庫,類庫沒有漢化,對中文編程沒有任何意義。
商業價值內涵,與其他編程語言對比有什麼特色?中文只是很多的特點之一。例如,擅長操作系統開發,擅長資料庫開發,擅長網站開發,擅長手機應用開發。
生態圈支持,要有很多人願意參與,特別是高端人才願意參與。
進一步分析。
一個新的編程語言要有市場,無倫是不是中文編程,都需要高水平的技術功底支持。中國目前軟體技術水平還是比國外差一些。要想中文編程語言領先還是很難的。
一個中文編程語言的社區培養起來是需要很長時間很大投入才行的,沒有大公司或政府的支持是很難成功的。
專業的軟體工程師已經習慣了現有的編程工具,是沒有興趣學習或支持中文編程的。而且不少軟體項目都是為國外人服務的,包括注釋都需要使用英文。現有的習慣,如果某程序員用中文編程會被同行鄙視的。
不是沒有,也不是不能做,而是沒必要做
所有編程語言的基礎都是數學結構,各種命令的名稱都只是助記詞,當然我們也可以本地化將助記詞改為漢字(或漢語拼音),但沒什麼必要,
編程的難點不在記憶助記詞上,而是它複雜的邏輯結構,助記詞反倒最簡單,它與英語雖有一點關係,但關係微弱,命令脫胎於英語辭彙但往往更加簡化,最常用的命令多為常用詞,不難掌握;由於相似性和容易疏漏,非文字的標點符號反而更難掌握,英語如果你只記單詞是寫不出文章的,因為還有語法,編程只記命令也是編不了的,因為編程也有編程的語法,它與英語語法毫無關係,同樣,假如採用漢語命令,倒是能跟漢語有點微弱關係,但編程的語法是獨立的,漢語語法幫不上忙,優點很小,不同語言的命令兼容性會有問題,缺點很大實際上是有的,台灣那邊貌似有挺多科學家就是因實現中文編程而出名的吧。朱邦復(英語:Chu Bong-Foo,1937年10月12日-),湖北省黃岡縣人。為中文終端機、倉頡輸入法、漢卡的發明人。由於其對中文電腦發展的眾多貢獻,台灣及香港地區的華人譽其為「中文電腦之父」
[1]
。亦因其個性獨具、天馬行空,被人稱為「中文電腦瘋子」
[2]
[3]
。
朱邦復除了從事中文電腦研究,也致力於研究中國文化哲理,著作等身,其中以漢字基因理論最為顯著。
中文編程軟體有:
- 蟬語
- 朱邦復 曾設計過一些中文語言,如 中文培基 與 中文cobol
- 易語言
- 唐宗漢 曾經設計過能以文言文寫作的 perl 模塊PerlYuYan
- 中蟒
- ZhPy(周蟒)
- O語言 中文彙編語言
- 習語言 支持中文的C語言 (習語言的專欄)
- 中文小海龜,漢化的Logo語言。
- 夥計培基
額。。打一個中文字要輸入數個英文來完成拼音還要選字。。效率馬上就輸了。。。看不懂英文的程序員就不要做程序員了吧會被市場淘汰的
沒有編程的人,不要jjyy
定義 一個 中文變數,大部分 編程工具 都可以實現。
編程語言,確實 以一種約定,類似 一種新語言,所以才會有 語法!
是不是 新語言,要看他們的語法,關鍵字的約定,還有編譯的方法(實現代碼執行的過程),絕大多數語言都是使用英文,你能說他們是英語編程嗎?
你們覺得 英語母語的人看 程序 會是神馬感覺?
中文編程 和 英文編程 實際是同一個概念,不是新語言。說下自己的理解
1、只要你能把寫出來的東西翻譯成最終能讓機器運行的機器語言(指揮機器的一般是二進位0101),同樣的腦洞寫出來的不同高級語言程序從運行結果上看應該是一樣的。
2、你只需要把東西事先約定好,例如頭文件、編譯器,就像其他高級語言一樣做就行了,技術上基本沒難度,只難在推廣兼容框架優化,【搞半天程序就是要讓別人(攻城獅)也看得懂】才有意義不是么,不然像以前直接寫0101卡紙輸入機器它也會轉的很歡。
3、你特么用的是美式鍵盤(滑稽),不是所有擼代碼的都在其他文職做過碼字的工作,基本要重新訓練一批擼中文代碼的碼農,並且入職使用這種中文編程語言的單位,這不是一時半會就能實現的,更別說搞個中文輸入設備了。
知名度最高的中文編程應該是易語言吧,我也是正版用戶,主要就是用來替代VB,偶爾寫個小工具或者幫客戶做個簡單的軟體的話效率很高,其實很多淘寶自動收發軟體、遊戲外掛都是用它寫的。編程的關鍵不在於你用什麼文字,因為計算機只認識0和1,主要看你能不能寫出好的東西來。另外現在已經有中文安卓(E4A和火山)開發工具,中文PHP(火鳥)和中文前端(藍鳥)了,只要用得好完全可以做出不錯的應用來。
少年,聽說過丙正正么?
這種問題不應該先Google么?
因為人們希望敲代碼的時候不需要爭論哪個輸入法是最好的
我想說的是:以英語為母語的人寫代碼時是什麼感覺?
編程,其實就是一堆符號在做運算而已,你用英文字母,漢語拼音,漢字,日文,韓文做符號,都沒有影響。
最終還是要翻譯成機器語言才能運行。
關鍵在於,用什麼樣的符號體系效率高,可讀 性強,便於傳播。。。。。。。。有的,還不少,中文編程軟體有:
- 蟬語
- 朱邦復 曾設計過一些中文語言,如 中文培基 與 中文cobol
- 易語言
- 唐宗漢 曾經設計過能以文言文寫作的 perl 模組 PerlYuYan
- 中蟒
- ZhPy(周蟒)
- O語言 中文組合語言
- 習語言 支持中文的C語言 (習語言的專欄)
- 中文小海龜,中文化的Logo語言。
- 伙計培基
推薦閱讀:
※除了 Go、Rust、Nim,還有哪些新編程語言更靠譜?
※作為程序員的你是在什麼時候「突然開竅」的?
※為什麼C++語法這麼複雜?
※程序員都是怎麼記代碼和編程語言的?
※樹莓派為什麼採用python語言為主要開發語言?
TAG:編程語言 |