下一個偉大的JVM語言是什麼?
The Next Big JVM Language
JavaOne 2010大會上,Joda Time開源API專案領導人Bill Venners認為:
首先,我們要看看Java問題出在哪裡?哪裡又是正確的,將來我們的方向在哪裡?
首先我們要看Java問題在哪裡,比如暴露的初始型別 陣列以及檢查出錯等,這些我們肯定不會放入這個新語言(新語言不再有初級型別如int 和array等非物件化型別)
新語言應該向哪個方面發展?較好的方案是模組化,模組化雖然已經引入Java,但我們編譯輸出的不再是class檔案,而是模組,我們可以將模組加入系統,系統能夠檢查所有方法的位元組碼確認版本是否改變。
那麼在現有的候選語言Groovy, Scala, Clojure, 和Fantom,哪個更合適呢?
Clojure是一種Lisp語法,對於Java開發者比較難以掌握,很難成為下一個大語言。
Groovy可以作為填補Java空白的一種指令碼語言,在構建指令碼方面有自己定位。
Scala和Fantom 他們都是靜態型別,但是他們將型別系統帶往相反方向,Scala只是太複雜了點,增加太多東西,它給你太多吊死自己的繩子。相反,Fantom有很多優點易於學習,但因為是一種弱型別,許多額外類也不是太足夠成為下一個大語言。
我們回到問題原點,Java是否可以成為下一個偉大語言,但是問題是我們已經難於加入太多東西,因為它已經滿了。但是如果我們向後實現Java的不相容版本將會如何呢?
我們加入閉包特性,移除檢查出錯checked exceptions,刪除物件是空的出錯,做一些微小調整也許可以實現很大不同。如果我們沿著路線走回去也許真的不一樣。
JavaOne 2010大會上,Joda Time開源API專案領導人Bill Venners認為:
首先,我們要看看Java問題出在哪裡?哪裡又是正確的,將來我們的方向在哪裡?
首先我們要看Java問題在哪裡,比如暴露的初始型別 陣列以及檢查出錯等,這些我們肯定不會放入這個新語言(新語言不再有初級型別如int 和array等非物件化型別)
新語言應該向哪個方面發展?較好的方案是模組化,模組化雖然已經引入Java,但我們編譯輸出的不再是class檔案,而是模組,我們可以將模組加入系統,系統能夠檢查所有方法的位元組碼確認版本是否改變。
那麼在現有的候選語言Groovy, Scala, Clojure, 和Fantom,哪個更合適呢?
Clojure是一種Lisp語法,對於Java開發者比較難以掌握,很難成為下一個大語言。
Groovy可以作為填補Java空白的一種指令碼語言,在構建指令碼方面有自己定位。
Scala和Fantom 他們都是靜態型別,但是他們將型別系統帶往相反方向,Scala只是太複雜了點,增加太多東西,它給你太多吊死自己的繩子。相反,Fantom有很多優點易於學習,但因為是一種弱型別,許多額外類也不是太足夠成為下一個大語言。
我們回到問題原點,Java是否可以成為下一個偉大語言,但是問題是我們已經難於加入太多東西,因為它已經滿了。但是如果我們向後實現Java的不相容版本將會如何呢?
我們加入閉包特性,移除檢查出錯checked exceptions,刪除物件是空的出錯,做一些微小調整也許可以實現很大不同。如果我們沿著路線走回去也許真的不一樣。
相關文章
- 轉享:JVM 是下一個組合語言嗎?不會JVM組合語言
- 什麼是大語言模型(LLM)?模型
- 為什麼程式設計師是一個偉大的職業程式設計師
- 為什麼JavaScript是你應當學習的下一個(或第一個)程式語言JavaScript
- Python是什麼語言?Python底層語言是什麼?Python
- 活在偉大的Scrum團隊是什麼感覺Scrum
- 什麼是r語言R語言
- 什麼是程式語言
- 什麼是Go語言?Go語言有什麼特點?Go
- python語言是什麼Python
- C語言 EOF是什麼?C語言
- Go語言GOPATH是什麼Go
- 組合語言1 - 什麼是組合語言?組合語言
- ChatGPT 爆火背後的大語言模型到底是什麼?ChatGPT模型
- 什麼是程式語言,什麼是Python直譯器Python
- Go是一門什麼樣的語言?Go
- 為什麼自制指令碼語言是程式語言的最高境界?指令碼
- JVM篇-01.什麼是JVMJVM
- 為什麼說物件導向是一次偉大的進步?物件
- 中文程式語言——易語言,到底是用來幹什麼的?易語言值得學習嗎?易語言的優勢有什麼?
- 程式語言成功的秘訣是什麼? -erik
- Python語言的發展背景是什麼?Python
- 最適合初學者的語言是什麼?
- Python是什麼語言?有什麼優劣勢?Python
- 為什麼《七週七語言》選中的是這幾種語言?
- Julia會成為下一個程式設計大語言嗎?程式設計
- 什麼是linux?學習linux需要什麼語言?Linux
- 什麼是linux?Linux需要學習什麼語言?Linux
- 什麼是完美的教學語言 - Garth
- 什麼是臨床質量語言(CQL)?
- 乾貨!什麼是自然語言分析(NLA)
- 資料是什麼——資料與語言
- 什麼是函數語言程式設計函數程式設計
- 九款程式語言以及締造它們的偉大女性
- python和c語言的區別是什麼PythonC語言
- 什麼是自然語言分析NLA,它是如何工作的?
- python和C語言哪個難?它們的區別是什麼?PythonC語言
- 開放出版:為什麼我們需要一門新語言?許式偉《Go語言程式設計》序Go程式設計