國內程序員那麼多,為什麼不開發一個屬於自己的編程語言?

485577965

國內程序員那麼多,為什麼不開發一個屬於自己的編程語言?主要原因是:

中文編程技術上不然,但做生態太難了

先說說純技術上的難度。看到很多回答說操作系統、CPU、芯片、指令集等是英美語系的人發明的,所以中文編程水土不服,開發難度大於英語編程。其實這種說法是完全錯誤的

編程語言分很多類型。第一種是像C、C++、Go這樣的直接編譯成本地機器碼。第二種是像C#、JAVA這樣的依賴虛擬機,編譯成中間語言(字節碼)。第三種是像JavaScript、Python這樣的依賴解釋器,不需要編譯。不論哪一種類型,都不存在制約中文成為優秀編程語言的技術瓶頸。

對於第一種類型,不論中文英文,最終統統編譯成基於特定CPU芯片指令集的指令。在操作系統看來,它們是完全無差別的。性能上沒有任何區別。對於第二種類型,編譯成中間語言,在虛擬機看來,同樣是無差別的。這裡所謂編譯,說通俗點就是“翻譯”,將中文或英文寫成的代碼翻譯成機器指令或中間語言(字節碼)。

對於第三種類型,解釋器作為進程運行於操作系統,由它直接解釋我們寫的程序代碼。比如JavaScript,解釋器就是瀏覽器。離開了瀏覽器,JavaScript是運行不了的(這裡不考慮特殊手段,其本質也是其他解釋器)。很明顯,解釋器既可以解釋英文代碼,也可以解釋中文代碼,甚至未來還可以解釋人類自然語言或語音。比方你用普通話向一個智能家居說“開空調”,然後內置的解釋器就會將空調打開。說明就連中文語音都可以編程了,更不用說中文文字!

總之,技術上看來,中文編程相比英文編程沒有任何更難的地方。這與中文輸入法比英文輸入法難做沒有任何可比性。

下面討論另一個重點,生態問題

正如同工業化一樣,現在越來越提倡合作開發,從輪子造起的汽車廠已經不復存在。編程語言也是如此。現在沒有任何一個流行的編程語言開發團隊可以開發出所有的相關庫函數和框架。早些年,似乎微軟具備這個能力。微軟能開發出從操作系統,編譯器,數據庫,圖形界面框架,顯卡加速動畫,瀏覽器支持庫,web開發框架等等一系列“配套設施”。但是,現在已經明顯力不從心。

怎麼辦?那就需要藉助全世界的力量去共同維護,維護這個生態。

說通俗點,假如用中文開發出一個編程語言,單從編譯器(或解釋器)來說,難度並不大。但是還有很多工作要做。因為還需要開發很多很多的庫函數給其他開發者用。隨便舉一些栗子。XML和json解析,主流數據庫連接,http客戶端和服務器支持,主流加密算法支持,圖形界面支持。這些工作量非常大。它們不是必須的,但是如果支持的太少,該中文編程的使用者就會要什麼沒有什麼,什麼都得自己寫,會很累。比如想解析一個json,居然發現官方不支持,怎麼辦?網上搜,資料又少,也沒有搜索到第三方庫,只好自己寫了。

這就叫生態做的差

我們還可以往大了說,該編程語言是否有現成的2D/3D動畫庫,是否有現成的科學技術、數據挖掘、深度學習庫,是否有現成的web mvc框架,是否可以支持Windows、Linux、安卓等多個操作系統的跨平臺開發。很多很多!這都需要無數的高手共同去開發完善,絕對不是幾十人、幾千人團隊可以搞定的!

總之,生態需要動用全世界的牛人一起去完善!

好了,回到主題,如果開發一箇中文編程語言,那就只有懂中文的人才能完善這個生態,而IT發達的其他國家基本不會過問。不是漲別人威風,就我們這點程序員,真做不成像樣的成熟大型庫。我們就說火的一塌糊塗的Python,它是荷蘭人發明的,荷蘭人說話用荷蘭語。但是如果當初真的限制於用荷蘭語來實現Python,今天就沒有這個地位了。Python的成功得益於它的生態。連Alpha Go這樣的圍棋大師,都是用了Python,底層深度學習是谷歌的tensorflow,其接口是Python。沒有這些大佬的“推波助瀾”,就憑那幫荷蘭人自己玩,會有今天嗎?

我們現有的中文編程語言,像易語言,習語言,為什麼沒有成功?毫無疑問嘛,生態差!如果用的人多,就會開發出很多開源的庫,同時也會有很多人提出修改建議,有了建議,易語言習語言就會不斷版本迭代,不斷完善。怕的不是技術,怕的是沒有人提意見建議,沒有人幫著一起改(假設開源)。

總結一下,國人沒有開發中文編程語言,不是因為技術上難以實現,而是生態太難做了。


犍為真人

首先想說一句,你能想到的問題其實程序員早就已經想到了。國內程序員那麼多,為什麼不開發一個屬於自己的編程語言,其實中文的編程語言也有,只不過不普及,現在國內的大部分的編程語言已經被JAVA、Python、HTML、PHP等編程語言佔領了99.9%以上,只不過很少人去用而已。

首先來說一說編程不用中文的原因?

眾所周知,開始計算機技術的國家是美國,美國不僅僅佔有大量的計算機資源,就連編程語言也被美國統治,我們現在使用的操作系統都是國外的,比如Windows、iOS、Linux等等,編程軟件大多數是基於他們的操作系統,而且字節編碼採用的都是國外的標準,要想做到使用中文編程,必須要做到自己開發出一個操作系統,這才是關鍵,才能做到計算機軟硬件結合,有一個屬於自己的知識產權。

中文編程語言有哪些?

(1)易語言

易語言是一門以中文編程的計算機編程語言,以“易”著稱,其創始人問吳濤,起初,易語言名字稱為E語言,最早的版本是在2000年9月11日發佈,創造易語言的初衷也是未來讓國內程序員不再跟隨國外的思想走,有一套屬於中國人自己的編程語言。十八年的時間告訴我們,這並沒有成功。

(2)習語言

習語言被稱為國內的“C語言”,它擁有一套完備的編程語言和與其相配套的工具組成,主要初衷是將編程大眾化、普及化、中文化,至少可以減少初學者因為語言障礙而被阻礙,習語言完全支持彙編和c語言,並且向Windows圖形化界面發展,但是也並沒有成為世界上最好的語言。


總之,作為一名JAVA程序員,也很想希望有一天國內人擁有一套屬於自己的全套中文編程語言,而且被國外程序員爭論為世界上最好的語言,能夠推廣到全世界,希望這一天快點到來。




(默默問一下,現在有人用習語言或者易語言嗎做開發編程語言嗎?)我準備去看看。


首先需要明確什麼是屬於自己的編程語言,如果只是界定程序員自己用,我相信肯定有很多,至於這個語言有多大用處那就看程序員自身能力和想法了;如果界定於工業級通用編程語言,那首先就不是一個程序員可以辦到的,需要一個團隊,第二,編譯系統一般都是服務於某種體系而存在,想通過單純的商業方式盈利而存在幾乎是不可能的,所以一個公司開發某種編程語言實質上是服務於這個公司開發的某種系統體系的工具。在我天朝具備這樣實力的公司幾乎沒有,有點實力和苗頭的像華為,小米,阿里恐怕還沒完全系統化標準化自己的體系,這種體系另一方面也受到整個IT生態鏈的影響,比如這次的中興事件。


無處不在2

中文編程,這是一個偽命題!

參考一下(大時代)這個電視,中國不缺人才,更不缺時代的精英,但是,嚴重缺乏上層關心的土壤,這是最要命的! 各位,可以算一下,一個普通程序員,月工資按1萬算,1000個員工,一個月就幹掉1000萬,更別說國稅房租之類的,試問下,在短期內無法贏利的前提下,有幾個私營企業能生存?比如當下的WPS中文辦公軟件(不比外國的差),被逼的在首頁做廣告,為什麼?生存逼的!如果,政府部門將採購外國OFFICE的資金全給WPS,wps對個人全免費,wps就一定會走得更好……

故而,中國的CPU、芯片、中文視窗平臺、中文編程語言、中文應用軟件、電子硬件等等,這是一條龍產業,必須由政府出面並出臺一系列的扶持政策,中國獨立強大之路不可能不實現的!


金融紅纓

早就開發了啊。

碼農大多對開發語言有著宗教般的信仰,不是膜拜就是抵制。國內碼農也一樣。我們也有易語言。但是這個易語言的使用體驗著實有點兒一言難盡。一方面可讀性太差,一方面在兼容性和創新性上都不夠,現在幾乎已經淪為了寫網遊外掛的專門語言。

前面有很多人提到我們沒有頂尖程序員,沒有研發費用,沒有技術積累等等等等客觀理由,那麼我也問一句,先放下我們到底是不是真的缺乏條件這個問題,我們真的有必要開發屬於自己的編程語言麼?

編程就是人和計算體系之間交流的過程。實際上一個編程語言自帶的部分也不過就是那一批關鍵詞:if then else class struct auto var while ......就算做一個自己的編程語言,關鍵詞編程中文,無非也就是:如果 、那麼、 不然 、類 、結構體、 自動、 變量 、當而要寫程序,真正最重要的邏輯思維、數據結構等等,用哪個語言表達不都一樣?

現在世界上九種主流編程語言:Python、Java、C、C++、JavaScript、C#、Ruby、PHP以及Objective-C。對於每種編程語言大家都能夠看到由其打造的頂級應用成果,幾乎涵蓋了現在以及未來可能出現的一切需要編程的領域,並且每一種語言都是全球碼農共享,只要願意學,沒有任何一種語言能對我們構成壟斷,這種情況下為什麼我們要開發一門新的語言?


歐界測評

這是一個系統性問題。編程語言的開發和操作系統是一個完整的生態,我國在這方面已經失去了先發優勢,編程和操作系統的開發都是基礎性的工作。投入資本大開發週期長,人力資源耗費太大,見效不明顯,甚至顆粒無收。國內對知識產權的保護不是很重視,產品有可能被別人竊了勞動成果。操作系統,彙編,編譯,編程軟件,應用軟件。比如微軟認為掙錢的是basic,vb。不是操作系統。微軟辦公套件是基於basic,或者vb開發的,為了增加套件的擴展性和應用性,微軟專門給辦公套件開發了簡易的編程vba。有人就開玩笑說,微軟賣的辦公套件,操作系統免費送。


alex郭亞軍

安全可以有,目前也有。但為什麼沒有普及,原因很簡單。就像我們為什麼要說普通話一樣,其目的是便於交流。就像我們可以說普通話一樣,其原因是我們有很好的學習平臺和應用平臺。

要想開發自己的語言,就要有自己的指令集,自己的編譯器,自己的硬件,自己的忠實粉絲,自己的開發和維護團隊……還要有和別人溝通的藉口,這些工作的完成,有點出力不討好的感覺。


秦人在行動

其實發明一門語言並不難,畢竟已經有那麼多的參考案例,現在都有用了十幾年的易語言,還有按鍵精靈等的編程也可以是中文的,對普通人來說很容易接受。一門需要最難的是積累,就像我們的文字,有悠久的歷史,唐詩宋詞什麼的都是我們五千年來老祖宗積累下來的,所以現實就是中文編程語言不缺,缺的是語言建立起來的各種基礎設施和應用。


白鯨路宋木頭

第一:自創漢語編程語言最基本需要從芯片架構,指令集,彙編轉換數據庫。這樣才成立軟體編程基礎。

第二:硬件層次國內上下游產業很原始,有設計,造不出來或精度,能耗,費用等都達不到要求。

第三:國內專業人才太少,我說的人才是全局設計人才,軟硬都懂一些。有技術人才:政治訴求過高,沒人敢用。

第四:認知問題,國內基礎科研資料太少,有些科普資料還在掃盲階段,或者斷更階段。

總結:電腦數據的本質就是模擬數字化現實世界,可是現實世界有多少被模擬數字化?又有多少是漢語基礎上認知世界的模擬數字化?


VNova

熟悉編譯原理的工程師,很容易開發出一門屬於自己的編程語言。但是實用性強不強這個就得待市場驗證了。我曾針對工控環境,開發過一門腳本語言。我用過易語言,但是不好用。用中文編程,不如用符號編程,用符號編,如int i;完全可以寫@ i;類似這樣。只是取決於編譯器或解釋器怎麼處理這句話而已。要想開發出一門多人用的語言,必須合乎多人的語言習慣。像中文編程的語言,本人覺得必須得從編譯器底層搞起,指令集跟中文語法適配,且兼容cisc,risc指令集。像這樣的工作,一般公司不會搞,不盈利難以持久開發,且可能紕漏很多。我們還是繼續用c,c++,java吧……


分享到:


相關文章: