重新設計一門編程語言有沒有意義?
我這2年一直在構思設計一門新的編程語言,並不是從學術角度出發。
主要想支持以下幾點:
1. 類似java的語法,簡化它讓代碼更加簡潔
2. 全面擁抱 async await
3.arc自動內存管理,debug模式下會提供gc演算法來幫助程序員判定循環引用
4.明確的析構時機(析構函數)
5.基於llvm編譯,不需要虛擬機
6.可以翻譯成javascript 或者 c++11 或者 jvm位元組碼,用於局部替換現有項目的部分模塊
那我跟風推薦clojure吧,
到jvm和js都沒問題,翻譯到llvm, clr和c代碼也可以,還能到很多其他語言
async/await手到擒來
析構函數是個問題,如果在jvm下,我想不出有什麼辦法。但沒事就搞析構函數是不推薦的。不知道你的特殊需要是啥?
請問下,Scala-native那兒差了?如果Scala-native和Scala-js不能滿足你的需求,你也可以嘗試Rust。如果Rust你不喜歡,還有Elixir。
現在不缺語言,缺乏的是生態。一己之力能夠成嗎?學術水平跟得上嗎?設計個DSL能否設計好?如果DSL都成問題,何談設計語言。
do it.
一門新編程語言的意義在哪裡?它在能夠解決多數編程語言都能解決的問題的基礎上,還能解決其他編程語言所不能解決的某一方面問題。這就是意義。
所以你問重新設計一門編程語言有沒有意義?當然有,前提是你要實現上面的那個意義。
想做就做好了。先寫出來再說,寫不出來都是扯淡。
能不能推廣是看你市場能力怎麼樣,跟產品有關但有限。
但不管怎樣,只要你去做了得到的提高和體會都是你自己的,不用管這裡冷嘲熱諷的那些答案。
怎麼說呢,有需求就有意義。如果沒需求,純你自己做,那意義不大。
建議設計中文語法並在實現中使用中文命名:
吳烜:國人創造中文編程語言的優勢?zhuanlan.zhihu.com小二童鞋,支持你,我只是暫時缺乏能力.快!talks cheap.認為可以就做,直到完成.
只說「重新設計一門編程語言有沒有意義」,不說 java、llvm 或其他,把編程當成一門技藝的人說「沒有意義,……」,將編程視為一種愛好者曰「開篇總有益」
推薦閱讀: