IngramChen 積分 0

文字編輯器好好學一個來用是對的.

但寫程式還是用個真正的 IDE 吧, 要用 Jetbrains 這種等級的

IngramChen 積分 0

真應該用用繼承的。因為在 kotlin 裡常用 ADT (sealed class),免不了會在資料庫做繼承,自己手動做好麻煩…

IngramChen 積分 0

所以每台電腦都裝個 WASI VM 這樣?

haocheng 積分 0 編輯於

今年的 JCConf 時間在 Java 13 Release 後不到一個月 XD

RDP1: Jul 8, 2019 (aka “feature freeze”)
RDP2: Aug 5, 2019 
Freeze: Aug 26, 2019 
GA: September 10, 2019
haocheng 積分 0

比較大的功能就是 Theme customization 和 Recent Locations Popup 吧,不過還在嘗試什麼時候會想用 Recent Locations...

caterpillar 積分 2 編輯於

JEP 12: Preview Language and VM Features1

看來是會變動,要開 --enable-preview 才能用的語法。

koji 積分 0 編輯於

個人也對 preview 這件事還沒搞懂 然後原本的 string multiline literal 也從 preview 先拔掉了XD

Switch expressions is a preview language feature. This essentially means that even though it is complete, it has a possibility of not being confirmed as a permanent feature in a future Java release. This happens for a reason. Java 12 and IntelliJ IDEA1

IngramChen 積分 0

怎麼 preview 法?難不成之後再改一次語法嗎?

haocheng 積分 0

Switch expression 很不錯耶,不過這一版還是 Preview 而已

koji 積分 0

真快,我們大概還要一陣子...

haocheng 積分 0

還沒耶,不過我們剛把 Spring Boot 升級到 2.1,下一步就打算升級 JDK 11

IngramChen 積分 0

我在想這是不是和 parser 比較好寫比較有關?尤其是在需要支援 type inference 的條件下

寫久了都會習慣的,可以順順的切換,不要小看人的適應能力啊!這也比說多國語言簡單許多。

IngramChen 積分 0

memory 現在太便宜了,大家還是比較在意起動時間的啦,尤其是開發時

IngramChen 積分 5 編輯於

kotlin 因為要和 java 互通所以選擇了捷徑 untagged unions

Swift 雖然要和 objective c 互通但仍然選擇了 taggged union

結果是?

Swift 超難用

T?? 這種兩層的處理起來很煩,不好 debug,compiler 和 IDE 都笨笨的也不會顯示清楚一點。試試處理 json 就知道了 (json 通常會有好幾層 Dictionary,每一層都會遇到一次 nil)

Kotlin 的做法實用多了,遇到 optional 你就很直覺解 ? 就好了,管他是幾層。 Kotlin 寫起來會有一種順暢的感覺,就是在這種小地方比較 務實。每個小角落都處理的很順,整體累積下來就是寫得爽,你不會有花時間跟它的 type 在對抗的感覺。

koji 積分 0

看起來是 class 本身的 static init 才會有問題。

IngramChen 積分 0

kotlin 的 by lazy 不知有沒有限影響

caterpillar 積分 4 編輯於

Java 9 廢棄了 finalize 方法,FileInputStream 等也清空了 finalize 方法的實作,改用 PhantomReference 的機制,JVM 有個執行緒會監控 Reference,在實例不再被參考時,呼叫 close 方法。

至於相容性的部份,若有 FileInputStream 的子類,且自定義了 close 方法,實例化時會有個 AltFinalizer 產生,AltFinalizer 建立時會包裹 FileInputStream,AltFinalizer 的作用就是等著被回收時,呼叫自定義的 finalize 方法(被加了 @SuppressWarnings("deprecation")),其中呼叫了 FileInputStream 的 close 方法。

繞來繞去的 ...