JetBrains 不能在 JSR376
原始投票中投票,因为他们在执行委员会的任期是从2017 年5 月15 日开始的。但是他们能够在
复议投票中投票,这
有助于这一提案的通过。
Gee 接受 InfoQ 采访,讲述了 JetBrains 这一里程碑事件和他们计划完成的目标、表达了对近期的 JSR376 投票的看法以及未来的开发计划等
InfoQ:为什么这个执行委员会的席位对 JetBrains 来说很重要?
Trisha Gee: 这感觉非常棒,不仅仅是因为可以目睹 Java 的变化,更因为我们自己就可以影响 Java 的发展。多亏了包括 EC 的用户组在内的 JCP 成员,尤其是 oracle,他们发现 JCP 需要具有比以往更加透明和开放的流程,而且着力推动使之成为现实。但是能检查规范并且给专家组做出反馈是一回事,能够通过投票的方式影响规范的发展又是另外一回事。如你在 JSR376 进展中看到的一样,如果执行委员会关注一个 JSR 中的某些问题,那么这些问题就需要在议案完成之前得到解决。但是 JetBrains 不仅仅想把重心向我们自己倾斜,当最终用户对这些 Java 规范有疑问时,我们更希望成为一个可以倾听他们心声的 EC 代表。
InfoQ:JetBrains 是如何入围执行委员会候选人的?
Trisha Gee:EC 有三种席位,即批准席位,标准席位,联合席位。作为 Java 大管家,由 Oracle确定批准席位候选人资格,最后他们决定由 ARM 和 JetBrains 接替空出的席位。你可以找个 Oracle 的代表问问他们为什么选择 JetBrains,我个人认为原因不外乎以下几点:JetBrains 之前已经涉足了 JCP,我们已经是专家组成员之一,贡献了不少的 JSR;JetBrains 不止是为 Java 和 JVM 开发者制作工具,也开发我们自己的 JVM 语言 (Kotlin), 我们对 Java 语言和 Java 平台的发展有着浓厚的兴趣;我们拥有一个和 Java 使用者沟通的双工通道,用户告诉我们他们对平台和工具的需求,我们则和 Java 社区不断沟通这些产自社区的技术的使用方法,这让我们能够传授使用者们关于 JCP 和能促使 Java 演进过程的知识;最后,我自己则在作为伦敦 Java 社区成员时就已经是一名 EC 代表,所以我清楚整体流程,社区也已经对我有所了解了。
InfoQ:JetBrains 不能在 2017 年 4 月 8 日初始 JSR376 投票中投票。如果你们能在那时投票,你们将如何基于 JSR376 状态进行投票呢,原因是什么?
Trisha Gee:我们能接受我们那时不能投票的事实,虽然这让人很沮丧。从我个人来说,我会投“同意”票,这是因为从一个 Java 开发者的角度来说,我们很希望 Java9 能尽快发布。我自己也在新项目中使用新的 Java 平台系统 (JPMS),并且还在把之前的模块迁移到 JPMS 上。去年一年我目睹了 Java 的多项改进,开发者能够更明确的使用模块化、封装、关注点分离等技术并从中获益。JPMS 不完美,有瑕疵,但我还是倾向于投“同意”票。
JetBrains 中的其他人指出我的“赶快发布”的方法,是让某些环节很快被打通的主因。像 JPMS 影响力这么大的事件,不仅仅要需要精巧的设计和思考,同时也需要能够被社区所接受,只有这样才能达到最初的目标。考虑到我们在 JetBrains 没有使用 JPMS(虽然我们在 Intellij IDEA 中对其有支持),我们对其在使用上还没有足够的经验,所以还无法判断它是否符合预期。我想我们也可能会投弃权票,这意味着我们不会阻碍事件的进展,但是我们时刻保持着对 JSR 的关注,尤其是对现有库、框架以及工具的影响。
InfoQ:你们将在 2018 年结束执行委员会的任期,任期结束后你们有何打算?
Trisha Gee:我希望我们可以再次当选。我们的目标是给 EC 带来价值,这样我们不仅仅可以获得批准席位,也可以再次当选执行委员会委员。
InfoQ:在任期内,你们希望达成什么目标?
Trisha Gee: 我们的目标是协助建立对全世界 Java 开发者都有价值的规范,助力 Java 语言以一种让开发者更高效的方式演进。我们希望通过判断一个 JSR 能否有助于开发者完成特定任务的方式来评判其优劣。
当然,作为一个 IDE 供应商,为开发者提供符合 Java 规范的库和框架是我们的职责,如果我们做不到这一点,开发者使用起来就会非常困难。我们也从用户那里得到了很多反馈,例如他们希望 Java 可以帮助他们解决日常工作中的痛点 (可以阅读我的这篇关于 JCP 选举公告的博客)。这让我们认清楚了开发任务的优先级,并着力推动我们认为重要的项目。
我很希望看到 JCP 中更多的开发者参与进来,伦敦 Java 社区这样的用户组就在这方面起了表率作用。但是有些开发者可能不知道有可以使用JSR 和 OpenJDK 这回事,我们希望能够接触到他们,他们可以通过阅读我们的博客、关注我们的 Twitter 和新闻来了解 Java 在开发社区中的进展,而且他们也可以参与到其中,作为个体为 Java 的发展做出贡献。
InfoQ:JetBrains 正在酝酿些什么,尤其是 IntelliJ IDEA?
Trisha Gee:最近我们在为最新版的 IntelliJ IDEA 加班加点,计划发布 2017.2 版本。让我最高兴的是新版本针对 Java9 有很多更新,尤其是其中有些特性还是我提出的!除了 IntelliJ IDEA,在 Kotlin 上我们也有诸多计划:
增强 Java 的交互操作能力,使诸多场景(包括在 Spring 和 Android)中的使用更加便捷。
Gradle Script Kotlin(新的 Kotlin Gradle DSL) 具有更好的 IDE 支持。
我们正在优化 Kotlin 协程工具和库的支持,包括一些很方便的调试器特性。关于未来,Kotlin 侧重于寻找和 Valhalla 并行的价值点。
InfoQ:你在 JetBrains 工作多少年了?目前在公司的主要职责是什么?
Trisha Gee:我在 JetBrains 工作了两年半。我是一个 Java 倡导者,主要投入在 IntelliJ IDEA(JVM/polyglot IDE)以及 Upsource (代码检查工具) 上。作为一个面向开发人员的倡导者,我的工作不是使用和售卖我们的工具,而是帮助开发者更加高效的完成工作,而如果他们在工作中使用的是 IntelliJ IDEA,那就太棒了!但我其实更着重于帮助开发者“升级”,比如讨论 Java 8 的常用技巧或者给开发者展示 Java 9 的新特性等。
InfoQ:成为了 JetBrains 在执行委员会的代表,这对你目前的岗位有哪些影响?
Trisha Gee:这需要投入更多!但是其实委员会的代表工作和我目前的工作有很多交叉。例如,我需要站在 Java 演进的最前沿,这样我才能知道我的工作材料(演讲稿、博客、录屏以及每月的 Java 新闻稿) 是新鲜的和有相关性的,最好有很多先于开发者当前工作内容的话题,这些都会让今年 Java9 的发布备受关注。在执行委员会工作,确保我可以知晓 Java 的最新发展,当然不止 Java 这个语言本身(例如,最近的 Jigsaw 投票),还包括整个生态(例如 Java EE)。所以作为 EC 的代表,并不会产生非常多额外的工作内容。具体工作的形式包括参与 EC 成员会议、研究当前的 JSR,搞清楚怎么投票等,但是这些事情和我把最新的 Java 咨询带给开发者的初衷十分吻合。
但这些并非只有我一个人在做,在 Java 生态中不可能在所有领域都成为专家。在 JetBrains 内部,我们拥有一个具有不同领域背景,负责不同任务,具有不同经历的工作组,我们每个人都搜集我们擅长领域的 JSR 信息。这样的配备让我们能更好的服务于 Java 平台上的开发者。
InfoQ:IntelliJ 非常成功,像 Eclipse 和 NetBeans 这些功能强大的工具都是免费的,这就让 IntelliJ 的发展更加困难。你们成功的秘密是什么呢?
Trisha Gee:对于很多 Java 开发人员来说,IntelliJ 依然是免费的,这非常重要。在 LMAX 工作时,我自己用的就是社区版,该免费版仍然提供很多杀手级特性,例如重构、导航以及代码分析等。Ultimate 这个付费版呢,则额外支持 Java EE 开发、Spring、UML 图表以及多语种编程等。正因如此,常常是企业付费使用而不是个人,路子往往是这样:企业客户看到他们的开发者使用免费版可以更高效的工作,所以他们就会很乐意付费购买额外特性来支持企业发展。
在 LMAX,我自己在和高级用户切磋后,从 Eclipse 转到了 IntelliJ IDEA。之前我同时使用这两个 IDE(职业生涯早期我也使用过 Netbeans),对这两个 IDE 没有特殊偏好,因为所有 IDE 都符合我写代码的习惯。但是当我看到 IntelliJ 的重构工具的演示后,发现这款 IDE 可以在不发生编译错误的情况下重构我的代码,我被这个特性迷住了。其他 IDE 也有这项功能,但是从我个人与 Eclipse 和 IntelliJ 的高级用户共事的经历来看,IntelliJ IDEA 可以做的更多,而且更加省事。工作中我和很多开发者交流时,发现他们有着和我类似的感受:当他们发现 IntelliJ IDEA 让工作更高效时,当他们发现 IntelliJ IDEA 是如何让他们立于不败之地时,他们就再也转不回其他 IDE 了。
查看英文原文: JetBrains Elected to the JCP Executive Committee
感谢张卫滨对本文的审校。
给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ , @丁晓昀),微信(微信号: InfoQChina )关注我们。
评论