Kotlin 的优势与最大误解——Marcin Moskala 访谈

2025-06-08

Kotlin 的优势与最大误解——Marcin Moskala 访谈

有人邀请我参加本月 9 月 23 日至 24 日举行的DevFest Siberia。听起来很有趣,但组织起来却有点困难。不过,出于对活动的好奇,我申请采访了一位演讲嘉宾。Marcin Moskala 是《Android Development with Kotlin》一书的合著者。

Kotlin 是一个真正的语言成功案例。它于 2011 年由 Jetbrains 首次发布,最近在 Java 生态系统中被证明是一个可行且广受欢迎的选择,并得到了 Google 的青睐。希望您喜欢与 Marcin 的聊天。

您最初为什么选择使用 Kotlin?

我在 JetBrains 网站上发现了 Kotlin,它解决常见 Java 问题的方法让我着迷。我厌倦了诸如空断言之类的操作。Kotlin 就像一股清流,让我可以摆脱 Java 编程的束缚。我经常在课余时间学习它。我使用 Kotlin 的时间越长,就越兴奋。这就是我决定使用 Kotlin 的原因。就这样,我接触到了 Docplanner,并开始在日常工作中使用 Kotlin。

Kotlin 哪些方面令你感到兴奋?

我使用 Kotlin 已经三年多了。过去两年,我几乎每天都在用。至今我仍然能从中感受到乐趣,这真是太棒了。但我对核心功能已经不再感到兴奋了。我感兴趣的是协程,因为它们巧妙地隐藏了并发的复杂性。不得不承认,自从上次更新以来,我对 Kotlin Android 扩展也感到兴奋不已。它们为一些常见的 Android 任务的统一带来了希望。我对 Kotlin 全栈和 Kotlin/Native 非常兴奋,它们允许我们为 Android 和 iOS 编写通用模块,或者用 Kotlin 进行高效的数据科学研究。我认为这些都是一种突破——我拭目以待,看看它们将为编程的未来带来什么。

关于 Kotlin 语言有哪些误解?

最大的误解是它与 Java 的互操作性。人们简直不敢相信在 Java 中使用 Kotlin 库就能一切顺利。当我告诉他们只需将项目中的单个文件转换为 Kotlin 格式,一切就能顺利运行时,他们总是感到惊讶。他们认为这种合作更像是 Scala 或 Groovy——它们可以协同工作,但存在一些问题。不,事实并非如此。它们拥有良好的互操作性,仿佛 Kotlin 会成为下一个更好的 Java。

另一件大多数人难以理解的事情是,我们可以创建一个模块,并将其编译成多种语言(Java、JavaScript、C 等等)。我认为这对于那些使用脚本语言(这些语言不会被编译成字节码)进行编程的人来说是有问题的。他们看待代码的方式就像是正在运行的东西,而不是被编译成其他东西的东西。

是什么启发您写这本书的?

在我学习 Kotlin 编程的时候,我找不到任何书籍或其他资源来介绍如何实际使用 Kotlin 特性来提升 Android 开发水平。我一直在寻找一本不仅能展示该特性,还能提供实际用例的书籍——能够解释该特性的意义所在。但我找不到这样的资源,所以只能自己摸索。我希望让其他学习 Kotlin 的程序员更容易上手——所以我萌生了在书中分享我的知识和经验的想法。

您有什么建议可以跟上开源的步伐并保持领先地位?

保持领先地位需要花费大量时间。如果没有对编程的热情,很难做到这一点。当你对某个主题感兴趣时,你自然会有动力去了解最新动态。你不需要刻意去探索新事物——你只是因为好奇而去做。

有个好消息——你可以让你的热情更加强烈。如果你探索新技术,学习新东西,你就能发现新的有趣特性,编程也会变得更有趣,你会更热爱它。

使用有助于保持最新状态的工具也很重要。如今,大多数公告和新想法都发布在博客上。你几乎可以在那里找到编程界的所有新闻,但如果你想保持联系,你就必须追踪数百条新闻。这就是为什么你应该配置好RSS,以便及时了解这些更新。我正在使用Feedly——它有一个Chrome扩展程序,允许你只需单击一下即可将你阅读的博客添加到你的订阅中。我相信还有其他选择——你可以去看看,找到最适合你的。

它是个很棒的工具,但它仍然无法取代与其他对编程感兴趣的人的交流。阅读新闻时,为了找到感兴趣的信息,你必须浏览所有不必要的内容。与早午餐会上的人交谈可以让你更轻松地获取这些信息。更重要的是,你们可以交流想法和经验。了解新闻的最佳场所是聚会或会议。每次参加会议,我都能听到大量的新闻和想法,以至于接下来的几天我除了浏览这些内容之外什么都不做。我迫不及待地想参加 DevFest Siberia 大会了——这是一个非常有前途的会议。

最后的关键要素是书籍和课程。它们不会帮助你跟上时代,但能让你获得博客或会议无法提供的扎实知识。书籍和课程提供了深入了解该主题所需的结构。如果你想在某个领域真正精通,这些是必需的。

鏂囩珷鏉ユ簮锛�https://dev.to/ben/the-strengths-and-biggest-misconceptions-of-kotlininterview-with-marcin-moskala
PREV
“这可能无法解决你的问题”——S1:E3 中难以接受的真相——软件开发中不受欢迎的观点
NEXT
随着时间的推移,正确的想法会变成错误的想法 AWS 安全 LIVE!