Java社群對Kotlin有什麼看法? - reddit
從 Kotlin 使用 Java,也許更重要的是從 Java 呼叫 Kotlin,幾乎在每個用例中都是完全無縫的。
語言以相同的模式“思考”,因此您不會試圖強迫 Java 成為純粹的函式式或其他東西。如果我用 Kotlin 編寫一個庫,其他開發人員可以在 Java 領域使用它,而無需考慮翻譯它。
JetBrains 在設計互操作性方面做得非常非常好,特別是當您認為它還支援與 Javascript 的良好互操作性時。
Kotlin 在後端很受歡迎。在您可以在 Android 上輕鬆使用之前,它很容易與 Spring 一起使用。曾經它是 Java 的替代品(就像 Groovy 一樣)。
誠然,如今它是 Android 唯一真正的選擇,但伺服器端 Java 不斷改進,因此差距沒有那麼大。
Kotlin 是一種更具表現力的語言,有好有壞。好是因為它可以讓你真正按照自己的方式做事,壞是因為兩個 Kotlin 開發人員可能正在編寫看起來完全不同的程式碼。
Kotlin 協程與基於反應式程式設計的 Java 庫一起使用,可提供令人印象深刻的後端效能,而無需擔心反應式程式設計,這真的非常棒。
Java 正在通過 Project Loom 獲得綠色執行緒,它應該比協程更容易使用。
Loom 的好處是它自動知道要做什麼,而 Kotlin 需要suspend修飾符。
正如 Brian Goetz 曾經說過的:Kotlin就像 Java,但有漸進式的優點和缺點。
我所在的團隊大約在兩年前切換到 Kotlin。起初我們遇到了一些問題,但很快就形成了一種共同的風格。我們在程式碼審查方面有很好的文化,我認為這確實有助於在我們的團隊中找到一種共同的風格。
我將 Kotlin 視為一種更好的 Java 語言語法。API、JVM、工具、庫生態系統,對我來說仍然是 Java。因此,我對 Kotlin/Native、Kotlin/JS 或協程沒什麼興趣,儘管我偶爾會使用它們。例如,我寧願使用 Loom 而不是 Kotlin 協程。我從來沒有在Android上使用過它。始終是後端、CLI 和桌面。
我對 Kotlin 最大的不滿之一是你不能用它來製作 100% 原生的 Java 庫.
當我編寫庫時,我希望它們實際上是隻是依賴於 Kotlin 標準庫的 Java 庫,因為這是通用語,也是獲得使用的最佳方式。出於這個原因,有時我會在 Java 中重寫介面,但將 impl 保留在 Kotlin 中。
所以在我看來,Kotlin 對 Java 社群來說絕對是好事。尤其是它讓我對 .NET/C# 的興趣大打折扣。.NET 的論點始終是(對我而言)C# 是一種比 Java 更現代、更方便的語言,但生態系統更小,VM 更差……但你得到了適當的屬性等。
不過,Kotlin 超越了 C#,所以現在我明白了什麼是更好的語言、最好的 VM、stdlib 和庫、最好的可移植性和多供應商 VM 環境。這是一個非常棒的組合,我用它編寫的程式碼可供 Java 使用者輕鬆使用。
我喜歡 Kotlin,寫起來感覺更自然,並“解決”了 Java 的許多煩惱。但我也發現 Kotlin 更難閱讀,這可能有點諷刺。
我在專業和業餘專案中每天駕駛 Kotlin 幾年後得出的結論。它比 Java 更容易編寫,但更難閱讀。
編寫程式碼確實比閱讀更容易,但是反過來不是,所以我又回到了 Java。
Kotlin 也沒有解決我在使用 Java 時遇到的任何問題;Kotlin 以犧牲清晰度和可讀性為代價來優化編寫程式碼。
Kotlin 是新的 Scala。它最終將成為今天的 Scala。只是因為Java最終會“趕上”。
我們不需要 kotlin,Java沒問題。Kotlin 幾乎沒有存在的理由。它有一些有趣的特性,但 Java 會做到這一點。這並不是說 kotlin 是“錯誤的”,但我永遠不會使用它。
我覺得 kotlin 已經跑到了它希望替代Java的地步,但卻失去 jvm 和 jdk 團隊為發展語言所付出的關心。例如,kotlin 有 continuations,iirc,但它們與 jvm 中的內容不相容,這意味著要麼現在結束使用,要麼半途而廢,已經不能利用 jvm 本身中的某些東西。
Kotlin 感覺就像是一種語言,人們更感興趣的是製作一種適合當時流行關鍵字的語言,而不是一種語言實際需要的語言。
顯然,這只是我的意見,你的可能會有所不同。
我只是沒有看到 kotlin 的優勢。如果 kotlin 是一種獨立的語言,而 Java 不存在,我相信它會很好。但現在我只是看不到好處。他們將 Java 生態系統支離破碎,收效甚微。
我已經將幾個專案重寫為 kotlin,然後返回並將它們重寫為 java。可悲的是,這是一種時尚。
可以在VSCode等編輯器中使用Kotlin 語言:
https://github.com/fwcd/kotlin-language-server
當然,kotlin-language-server 體驗無法與JetBrains jdtls 相比。
相關文章
- 人們對Java最不滿的是什麼? - RedditJava
- 你有自己做過外包嗎?你對外包有什麼看法?
- 從一個罕見案例聊聊我對社群的看法
- 從不感到壓力的人有什麼習慣? - Reddit
- 什麼是 CI/CD? - reddit
- Kotlin 與 Java 對比KotlinJava
- 4.0體驗站|我對OceanBase 4.0社群版的體驗與看法
- Java swing是什麼?有什麼作用?Java
- Java serialVersionUID 有什麼作用?JavaUI
- 為什麼我如此討厭scrums? - RedditScrum
- 為什麼Scrum沒有幫助我反而增加了工作量? - RedditScrum
- 是什麼妨礙了人們升級到Java 8以上版本? - RedditJava
- Firecracker開源對無伺服器社群意味什麼?伺服器
- 瑣碎的想法(三)對Java的批評的看法Java
- Linux系統有什麼特性?與Windows對比有什麼不同?LinuxWindows
- Kotlin和Java的簡單對比KotlinJava
- Java和Python是什麼?有什麼區別?JavaPython
- 為什麼Java後端在創業企業中並不流行? -redditJava後端創業
- 學Java優勢有什麼?Java
- 什麼是WHQL?WHQL對驅動有什麼好處?
- 為什麼後端使用Java在創業企業中並不流行? -reddit後端Java創業
- 為什麼“敏捷”會浪費這麼多時間? - Reddit敏捷
- Reddit網友:辯證法到底是什麼?
- 為什麼擴散diffution模型如此強大? - Reddit模型
- MySQL Connectors為什麼沒有javaMySqlJava
- java和c++有什麼不同JavaC++
- Java語言有什麼特點Java
- Java 中的Exception 有什麼用?JavaException
- 為什麼有許多人學java?Java
- Java 介面和抽象類是什麼,有什麼區別Java抽象
- CRM對業務有什麼幫助?
- 對於Lumen和Laravel的看法Laravel
- java的學習方法有哪些?Java學什麼?Java
- Java 17 與 Java 11 相比有什麼變化?Java
- Kotlin對決Java:Android開發的選擇?KotlinJavaAndroid
- Dive Into Kotlin(四):為什麼 Kotlin 的根型別是「Any?」Kotlin型別
- 為什麼 Reddit 如此緩慢和不可靠? | HackerNews
- Kotlin 什麼是幕後欄位?Kotlin