-
1 # 焦慮老爸
-
2 # 程式設計007
沒啥意思,學文言文還不如學英文,類似還有易語言啥的,用來做外掛了,說不好聽點,就是if else 翻譯成如果……就……。
-
3 # 繁星落石
只能作為一個玩具而已。
因為文言文實際上是透過指令碼轉換了一次文言語言和實際程式碼之間的轉換關係,只不過是把我們平時使用的for、if之類的語句透過另外一種方式呈現出來而已,但是程式設計效率明顯降低。
比如for迴圈,在wenyan-lang裡面需要寫成“為是x遍;書之;云云;”,相比三個字母,用文言文寫出來的輸入字母數量明顯增加。另外wenyan-lang裡面沒有對換行有明確的要求,甚至可以不換行,透過句號來分割每一句話。如果所有程式碼內容都寫在一起,顯然並不具有什麼可讀性。
而且還要學習文言文要如何寫,清晰易懂的程式碼需要經過一次翻譯才能工作,無論是在效率上還是可讀性上都沒有實際的意義,只能作為一種興趣,給有空閒時間的人拿來玩玩而已。
-
4 # 小池聊科技
該語言名為“文言(wenyan-lang)”,這是一門採用文言文輸入的程式語言,該語言不包括英文字元,僅包含繁體中文字元,並保留繁體引號「」。
先看看 Helloworld 怎麼寫:
吾有一數。曰三。名之曰「甲」。
為是「甲」遍。
吾有一言。曰「「問天地好在。」」。書之。
云云。
這段程式碼等效於以下 Java 程式碼:
var n = 3;
for (var i = 0; i < n; i++) {
console.log("問天地好在。");
}
輸出:
問天地好在。
問天地好在。
問天地好在。
同時,標點和換行符是完全可選的,與古漢語一致,所以上面的程式碼等效於:
吾有一數曰三名之曰「甲」為是「甲」遍吾有一言曰「「問天地好在」」書之云云
Helloworld 看上去雖然簡單,但是其實作為一門程式語言,這裡的語法都有嚴格的定義:
變數
控制
運算
容器
陣列從 1 開始索引。
函式
但是作者表示上下文無關的語法描述還在構建中。
文言語言採用自然語言處理共享了古典漢語語法,將語言編譯為 Java 或 Python,並且圖靈完備。
同時它不僅提供了一個配套線上 IDE,還提供了大量演算法與資料結構示例,包括快排、漢諾塔問題與斐波那契數列表示等。
-
5 # 我不是大牛
作為一名多年的程式設計師,我認為文言文程式設計,只是一種玩具。首先非常肯定他們的創意,但是這種東西在實際的專案中不可能運用,也不可能被推廣。我個人認為文言文比英文程式設計更加難以理解。而且效率可能會更低。因為他們最終還是要轉換到JAVA或者Python執行。
-
6 # 非著名程式設計師
首先來講,文言文程式語言不具有實際的程式設計能力,僅僅只是一種趣味性的或者一種好玩的嘗試。不可能會被運用在實際的專案中,也不能被大規模的推廣。
原因很簡單,因為就目前來講,作者開源這個文言程式語言的目的也不是為了大家使用它到實際的專案中,僅僅是一種技術的開源和分享,大家可以從他開源的文言文程式語言中來學習一門語言是如何開發的,比如:語法的制定,流程的控制,以及如何寫一個語言的編譯器等。
透過這個開源專案,我們可以學到很多東西,學習到的東西都是程式設計的思維和思想,而不是說一個文言程式語言開源了就能用。
文言程式語言的誕生這門文言文的程式語言,是一位卡內基梅隆大學(CMU)的大四學生開發。利用 NLP 的一些技術,將文言文程式語法轉換到 JavaScript 或 Python 執行,並不是簡單的將程式中的英文字元換成了中文。
看到了麼,這門文言程式語言是來自於一個大學四年級的學生開發的,其大學生開發這哥們語言的目的可能他所學專業就是跟開發語言和編譯原理相關的工作,透過寫一門文言程式語言可以將自己所學知識實踐一下,比如語法的轉換,編譯器等。
從實際應用中來講從實際應用中來講,我們就可以看到,這門語言試講文言程式語法轉換成 JavaScript 和 Python 執行,而js 和 python 的效率也不高,也需要編譯器再編譯解釋到底層的 c 等。所以,從效率上來講,這門語言的效率並不會高。
而寫文言的程式設計語法和實用性也不強,所以從實際的應用和效率上來講,註定不會被在實際工作用應用。
說到底,這僅僅是一個大四學生的畢業設計級別的開源專案,目的不是為了讓大家大規模使用,僅僅就是為了大家學習,參考,樂趣所在。
-
7 # 月眠雲中
作為一個30程式設計年齡的我來說說這個文題,程式設計首先是設計,是創造性思維勞動,不吹噓地說需要天賦,其次是實現,用哪種字元實現表達,應該說英文中文均可,沒有高下之分,但是,但是,但是,目前鍵盤輸入肯定是英文輸入方便,中文目前不佔優勢,你一定要用中文的文言文程式設計,我只能說:一,連英文都解決不了,懷疑你能力水平,不可能有程式設計設計大貢獻,你勉強設計出程式,坑死使用者,我用過低水平人設計的程式,崩潰呀,真想摔了電腦,累死人,那水平簡直是原始人不如。二,不是搞程式的料,就不要勉強了,吵鬧著用中文,用啥文你也設計不出好程式,用文言文設計出來,累死的是程式設計師和使用者。三,你有思想,沒錯,贊你,可你如何實現?你無法實現,就貢獻給有能力的人吧,理想是美好的,現實還得腳踏實地走,有人能實現,有思想,還得有實現手段,秀才談兵顯得窮酸,你既然提倡文言文程式設計,你去實現吧,幹嘛去要求別人?不客氣地說,你能力水平太次,不要瞎炒了,炒不熟。
程式設計,是創造性勞動,以何種形式輸出,讓大眾接受,不是你一家言,不要添亂。文言文容易歧義,bug一大堆,累死的是程式設計師和使用者。悲哀,悲哀,悲哀,一個無頭腦的提出這種思路,害死了一個世界。
-
8 # 意農
不太認同,英國當年因跟歐洲大陸爭誰先建立微積分不使用通用的表情符號和方法,導致其本身數學很長時間裡落後歐洲幾百年。
-
9 # 程式碼搬家
其實完全可以搞中國自己的程式語言。強烈建議使用漢語拼音作為程式語言,一來大大減少寫程式的難度,很容易學,不懂英語也行,小學生就可以熟練參與,這和圖形化程式設計不一樣,是真正的語言。二來與電腦鍵盤無衝突,可以非常熟練的錄入,無需中英文切換。例如關鍵詞guocheng... hanshu... bianliang... changliang....shulie等等,可以減寫,如GC.. HS... BL.. CL.. SL等等。比易語言更容易接受。更重要的是,隨著中國強大,外華人學中文的越來越多,如果這個語言很優秀,完全可以向全世界推廣,外華人也很容易接受,這樣,流行程式語言中又會多一個選擇。
回覆列表
首先,要肯定這個學生的創意!畢竟很多博碩畢業時還沒有搞懂編譯原理。
另外,我們要知道他的價值,它的價值除了趣味性,並沒有任何其他的價值。
但是,我們要知道,語言只是一個工具,程式設計的難易,不在於它使用的語言,而在於程式設計思想,在於程式結構設計,就像任何語言都可以寫出優美的文章一樣,任何需要都可以寫出優秀的程式。
下面引用譚浩強對於易語言的評價,或許可為參考:
易語言引以為傲的中文關鍵字,解決的是沒有一點英文基礎的初學者的入門問題。但這個問題不是行業痛點,因為具備基本英文能力的程式設計師從來就不缺,將來更不可能缺。
因此,沒有一個行業急需“易語言”,來解決沒有英文基礎的初學者入門的問題。“易語言”憑藉這個優勢就沒有任何的“入流”機會。相反,由於面試者普遍看中英文文件、論文的閱讀能力,“易語言”反倒會幫助企業剃掉那些沒有英文基礎的應聘者。
易語言的錯誤在於立志於解決一個不存在的問題,並引以為豪。甚至非程式設計師學習寫寫程式難點也不是英文,不會英語在業界沒有人權,就是這樣。
一個語言的“入流”,和是不是英文關鍵字無關,而是和這種語言進入某一子行業的契機有關。
比如 C 語言的出現解決了系統程式原始碼的可移植性問題,使得更多的小型機可以在更短時間內移植 Unix 作業系統。所以 Unix 選擇用 C 重寫,而 C 成為編寫作業系統和實現 TCP/IP 協議的首選語言。今天眾多裝置上的各類作業系統,TCP/IP 協議實現都要歸功於 C 語言;
比如 C++ 的出現適逢圖形介面的興起,需要面向物件技術對圖形程式設計框架建模,同時又要提供能運行於微型處理器的高效能;
Java 的流行適逢企業的資訊化浪潮,大量的企業級的複雜任務,需要更短的時間內,寫出更大規模的程式。所以 Java 透過更多的許可權關鍵字,垃圾回收等等,帶來的是整個行業生產力的提升;
PHP 的流行是因為行業需要快速的編寫動態 Web 服務端程式。而 Python 進入 Web 開發是因為如今 Web 應用日漸複雜,需要更多的互動技術(比如用於實時的長連結)和使用更多的第三方庫(必須一些自然語言處理、計算機視覺和機器學習任務)。
以上這些語言如果不是在第一時間出現解決了行業急需解決的問題,可能以後再也沒有機會“入流”。
而文言文程式設計呢?它介入了某一個點的趣味化,應該在這個點是成功的,因為它至少讓作者讀懂了編譯原理,也順便帶了一波熱度。