為何沒有國產的 廣泛流行的編程語言?
不要說易語言
不是指中文編程
你像swift 也是很年輕的語言
國產大廠就沒點改變世界的野心?
是因為發展太晚?
是能力問題還是眼界問題?或市場?語言問題?亦或歷史問題。
如果說沒必要,那麼必須基於一個前提,就是以後不會出現新的 廣泛流行的編程語言。如果會出現,為何不能由中國人主導呢?
GacUI的腳本算嗎?
在開源世界這個最接近共產主義的地方,題主還能糾結國界,說明題主政治覺悟很低。
因為中國人比較聰明,我們不幹費力不討好的傻事,我們擅長拿來主義,擅長模仿改造,我們擅長發明還沒有人發明的東西,而編程語言,已經夠多了,咱不給世界添亂了。
你出錢我就給你做一個(
只是你不知道而已。推薦你一個毀天滅地的通用編程語言,reference resolving策略接近Julia,語法有點Ruby和C++的味道,標準庫豐富(命令行繪圖,SQLite,網路訪問,文件),可以調用C++寫的東西:
covscript.orgcovscript.org是一個半人開發完成的,那一個人( @Michael Lee )和半個人都是中國人。
這個語言還有一個 IntelliJ IDEA 插件(實際上和全部JB IDE兼容),可以運行代碼、重命名變數、跳轉到定義、簡單地查錯(比如循環外面的break和continue,函數外面的return等)、根據上下文的變數和關鍵字進行補全。
給你看看效果圖:
以後能不能不要再拿編程語言的國籍扯了。Ruby就真的可以算是日本人開發的嗎?
插件可以在 JetBrains 的插件倉庫里下載到。
知乎真垃圾,我複製來的Gif變成靜態圖片了
主要是缺乏自信,不敢提出 優秀的程序語言是不用括弧和空格的
我來地圖炮
高校計算機系教學水平低下,都是正規科班出來的。寫parser的winter能和寫type inference的王垠互相看不起。竟然沒人想起來這兩個從原理上是一回事。那麼問題來了,那門課為什麼叫編譯原理?
還有很多人喜歡捧什麼LINQ的臭腳。LINQ能寫出相加除以項數的效果?
提起函數式只知道Haskell。可是知不知道Haskell里函數式的代碼大約長這樣 (.) . (.) 啊?
現在的知乎用戶在提問之前都不先百度一下嗎?易語言,習語言。
GitHub可以搜到一些國人寫的編程語言,只是不流行,畢竟一門語言的發展還是要靠推廣和生態的。
http://latte-lang.org這是國產的
因為沒有需求
觀察最近出現的或最近開始變火的語言:
1、Python:顯然是被一波DL的潮流帶到了大眾眼前。非常易於入門,開發時間成本低,可擴展性強。同時也具備極強的數據處理能力。2、Go:Google大法加持的語言。設計簡潔而且安全可靠,沒有歷史包袱。對web端的開發非常友好,同時有Google證明其穩定性和可靠性。
3、Swift:從入門到再入門……有Apple家加持且比obj-c要好用,而且由於Apple系列平台的特點,具有一定的壟斷性質。
4、Kotlin:近似於Java乾兒子,而且版權沒有啥問題。對Android移動方面的開發非常友好,同時背後的jetbrains還加持了Android和Java開發。
5、rust:設計精良,技術角度看十分優秀。是一種安全的語言(而且人家編譯器太友好了),Mozilla加持而且在Firefox 57上證明了自己,正式版已經推出,算是一種安全高效的語言,且偏底層。
傳統流行語言:
1、C/C++:底層開發以及高效率開發的經典,幾乎無法替代。2、C#:Windows家絕配不解釋
3、PHP:web上幾乎滿足一切的語言,雖然可以用python來替代,但是統治地位依然難以撼動。自PHP7以來效率提高,問題減少。
4、Java:開發和運行效率都得到了不錯的兼顧,安全而強大。
5、Javascript:其實js是在不斷變火的。js幾乎可以滿足前端的所有需求,而且今年來發展愈加完善。
綜上,底層、移動端、web、pc、dl等方面都有不錯的選擇,那麼為什麼要浪費時間和精力去滿足一些tan90度的需求呢?搞個國產超算是必要的,編程語言這個東西又不是關鍵技術,沒必要堅持國產啊…
這個問題最開始叫「為何沒有國產的編程語言? 」還是那句話,先問是不是再問為什麼。我可以明確的告訴你,不僅有,而且有很多。
接著題主又補充了「不要說易語言」,我不知道為什麼你要否認易語言,相信在座的各位噴易語言的人,很多都沒有真正用過易語言吧,先不提易語言到底怎麼樣,但易語言確實是地地道道的國產的編程語言。
OK,題主要求不談易語言,其實吳濤還搞了易語言.飛揚(和易語言不是同一種語言),現在又搞了火山平台,再說國內還有一些(我承認可能確實不怎麼樣)翻譯其他語言的編程語言,比如蟒蛇語言,習語言。就算拋開這些也不說,樓主知道aardio嗎?這種也是國內的編程語言中被應用的比較多的語言,有自己的圈子和社區。再說國內程序員自己開發的語言也數不勝數,其他回答已經列舉出好幾種了。
接著樓主又加了「流行廣泛」這個要求,我不知道題主到底是想問什麼,但我想告訴你,易語言確實是一門「國產的」「流行廣泛的」編程語言。這種問題其實是一種缺乏自信心的表現,而且通過問題日誌可以看得出來題主在問這個問題之前根本沒有做過足夠的調查,而是突然想到了就跑上來問一發,接著有了一些了解之後不斷的修改問題,尷尬的想要自圓其說,好像自己很關心國產語言的圈子一樣,我真的覺得你應該再多學習一個。
等什麼時候中國公司市場競爭不靠996的時候,就有希望了。
因為中國人寫的代碼少呀!外國人隨便寫上億萬行代碼,如操作系統、飛行模擬器、文字處理器、無人機人工智慧、F-35、以及數不清的系統。代碼寫得多,問題就發現得多,想一勞永逸解決問題的慾望就越高。如何一勞永逸地解決代碼問題呢?發明新語言啊!其次,中國人智商高,寫代碼輕鬆,不想發明新語言。再來,中國人刻苦耐勞,能忍受舊語言的問題和包袱,還沒痛苦到想發明。
我也在設計自己的語言,但不知道啥時候完成,大家慢慢等吧。現在所有的系統,都是在 Stack 上跑函數,所以碰上 I/O 等待時,即使換線程,也會燒掉好幾微秒的時間,再加上多線程管理,應用代碼的時間被吃了不少。我的想法很簡單,就是換 Heap 跑函數,能隨斷隨接,自由無比,就是比較不適合當前 CPU 的 Cache 作業。I/O 完全不用等,但計算慢了些,好像也不十分划算。再看看唄,反正不急。
補充:若 I/O 完全不必等,就可以順便把整個硬碟當虛擬內存用,但如果計算需求高,這招還是不行的。不過呢,大部分軟體都是吃數據為主,數據量夠大,用 Heap 跑函數很划算的。
再補充:有人認為內存 Cache Miss 能解決,那 CPU Cache Miss 不是也就解決了嗎?內存 Cache 是存數據的,CPU Cache 是跑代碼的。數據在硬碟都是整理過的,甚至 Seek 次數都會減到最少,而代碼是亂跳的,每次呼叫都不知道跑哪兒去的,間距至少好幾兆遠,上上下下 CPU Cache 簡直家常便飯。數據上 TB、PB、EB 級別都很正常,但代碼絕對擠進內存的。有可能有能力解決 CPU Cache 問題的,全球沒幾個,一定是億萬人之上的天才,就別找我啦!如果只是內存級別,大家反而可以切磋切磋。
同一個人,發布了幾個國產的問題。
你是想打著國產的旗幟騙錢呢?還是一種狹隘的民族自尊心在作祟?
科學無國界,你真想替國人出臉,爭取在某個語言里,提出自己的提案,並使之成為語言標準。如果你不屑於這麼做,恐怕你得從根本上推翻現有的科技樹,自己發明一套全新的科技樹才有國產成就感。否則,你現在做的99.9%的工作,都是基於西方人的科技基礎來的。
編程語言這種東西又不是文化,立於世界民族之林需要歷史悠久的獨特的東西。
正如現代醫學和中醫,一定拿出個彰顯民族自豪的學派,完全沒有必要。殊不知中國醫學近年對於現代醫學的貢獻已經超過西方。從功能上說,編程語言是為了實現邏輯,所有工程人員在同一邏輯下進行分工協作。與其多糾結這些,那麼要不要廢除阿拉伯數字,創造自己的計數呢?要不要廢除各種計量單位,用尺斤畝斗呢?
從代價上說,編程語言經過幾十年的發展,已經日趨完善。一套安卓7.0的release代碼,有十幾個G之多,這都是代碼文件的容量哦。我們平常開發的改動不到1%,完全顛覆重新造輪子既不划算也沒哪家公司能給出這樣的人力成本。
從核心來說,即使有一套中國人自己的編程語言,表面好像是那麼回事,可是里子的編解碼器還不是遵循馮諾依曼,哈夫曼,圖靈的思維嗎?