Clojure/C#/Scala 回去 Java 的原因猜測大多是工作因素。
Scala 退回去 Java 特別高,原因很好猜 -- Scala 太複雜,Java8 做太好。
Scala 不會死啦,只是會越來越少人用,因為不會有新血加入,最後變成一群死忠派在繼續撐。
我跟你說,如果有統計 Kotlin 的話,用 Kotlin 後退回用 Java 的比例一定是 0 !哈哈哈!
至於 Objective C 和 Swift… 看這報告的統計好慘,居然有不少人放棄回去 ObjC
我們的經驗是這樣的:我們有老舊的 ObjC 專案,然後龜到 Swift3 才轉換,幾個月後的結論是混合 ObjC 和 Swift 的專案很難寫,很痛苦。寧可回去用 ObjC 寫那又臭又長的語法。
而另一頭有一個新專案用 Swift 從頭開始,那這就沒問題了,還寫的挺爽的。比較大的缺點是 Swift 改版程式有爛掉的風險。
有這一輪的經驗,可以理解為什麼有人會放棄 Swift 回 ObjC
我也曾經醉心於 python 一陣子, 專門做些 devops 的事, 不過後來沒機會寫就放掉了.
python 的 django 看了一下能做的事和 java spring 差不多, 就不想浪費時間學兩套一樣的東西.
然後 type 現在變顯學, python 變得更沒吸引力.
注意這是針對 github, 去掉 js 後, 對 open source project 分析的結果
open source 以外的世界, 就是
php, java, c
用到死都不會換
以下截錄:
Developers coding in one of the 5 most popular languages (Java, C, C++, PHP, Ruby) are most likely to switch to Python with approx. 22% chance on average.
Besides, according to Erik’s matrix, people switch from Ojective-C to Swift and back with greater probabilities - 24% and 19% accordingly.
Similarly, a Visual Basic developer has more chance (24%) to move to C# while Erik’s is almost sure in this transition with 92% chance.
Users of Clojure, C# and, above all, Scala would rather switch to Java with respectively 22, 29 and 40% chance.
People using numerical and statistical environments such as Fortran (36 %), Matlab (33 %) or R (40 %) are most likely to switch to Python in contrast to Erik’s matrix which predicts C as their future language.
One common point I found with Erik’s results about Go is that it attracts people who gave up studying Rust.
看一看 spring application 就是一堆 annotation 堆起來的,不管是什麼 JVM 語言。 所以這比較變得有點沒意義 (比哪個語言 annotation 怎麼擺嗎?)
annotation annotation
web --------------> model ---------------> database
只要 model 夾在中間,上下的連接處都還是要處理,以前是 xml,現在是 annotation,有些 functional 語言會用 function 接,但其實只是不同寫法而已。
語言本身真正能使上力的,還是 model 本身的撰寫,這裡才是能較量的所在。
請自行想像。
不過我最爽的是身體年齡的變化。我騎車前的身體年齡是 46 歲,比實際年齡 41 歲還老,根本是個病人。現在體脂計上面顯示的身體年齡變成 28 歲了。爽歪歪。
rm -rf / tmp/qollie
drop database qollie
curl -XDELETE 'localhost:9200/qollie'
其實 scala 就有了,現在 kotlin 語法一大半源也是自於它。前幾年 Java 開發者也是峰湧到 scala 去,那時的開發者就有差不多的經驗吧。
但是 Scala 難寫難懂,紅沒多久又被大家放掉了。語言功能多又強,但找不到合適的平衡,沒有有力的後盾,沒有 commitment,最終那些功能都是白作功,沒人用。
這個設計還是會發生像下面的呼叫:
messenger.send(Topic("foo"), Text("secret"), OneToOneOption(secret=true))
然後 runtime 時就爆了