首次独家呈现 OPPO 四大创新技术实践,尽在 QCon 上海 OPPO 技术专场! 了解详情
写点什么

JetBrains 当选 JCP 执行委员会委员

2017 年 8 月 08 日

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 )关注我们。

2017 年 8 月 08 日 19:006084

评论

发布
暂无评论
发现更多内容

极客大学 - 架构师训练营 第八周

9527

第六周课后练习

balsamspear

极客大学架构师训练营

C++多元组tuple使用方法?你熟悉吗?快来看看吧

良知犹存

c++

什么?还不懂c++vector的用法,你凭什么勇气来的!

良知犹存

c++

利用下班时间,我两星期完成了redis入门与进阶

小松漫步

数据库 redis

链表交集问题与DataNode宕机HDFS处理时序

garlic

极客大学架构师训练营

Oracle、NoSQL和NewSQL 数据库技术对比

VoltDB

数据库 大数据 数据分析 物联网

[Pulsar 社区周报] 2020-10-31 ~ 2020-11-06

Apache Pulsar

大数据 开源

基于Fabric的性能测试与调优实践

华为云开发者社区

区块链 算法 测试 fabric 华为云

我就是增发、健身、养猫、社交通通拥有的锦鲤本鲤

脑极体

高交会第一天,高新技术成焦点

13530558032

三千字轻松入门TensorFlow 2

计算机与AI

tensorflow 学习

曾陷“数据风暴”危机的赛默飞世尔如何化险为夷的?

华为云开发者社区

数据库 大数据 云服务 华为云 RDS

【Mycat】作为Mycat核心开发者,怎能不来一波Mycat系列文章?

冰河

分布式事务 分布式数据库 系统架构 分布式存储 mycat

Serverless 是一种思想状态

donghui

Serverless

第六周总结

balsamspear

极客大学架构师训练营

再拔头筹,FusionInsight为华为云大数据打造硬实力

华为云开发者社区

大数据 数据仓库 数据湖 FusionInsight 华为云

护航11.11,如何筑牢安全防御系统?

京东科技开发者

云计算 云安全 DDoS

2020双11:看阿里背后的黑科技!

阿里云情报局

人工智能 云计算 大数据 运维 黑科技

面试,到底在考察什么?

程序员架构进阶

面试 方法论

LAXCUS 大数据集群操作系统:一个分布式分时共享 E 级系统软件(七)

陈泽云

人工智能 大数据 算法

秋风到,ModelArts“ AI市场算法Fast-SCNN指南”秋膘贴起来

华为云开发者社区

AI 算法 开发 OBS modelarts

Pulsar Summit Asia 2020 | 场景案例论坛(上):多行业,多场景

Apache Pulsar

大数据 开源 Apache Pulsar

甲方日常 49

句子

工作 随笔杂谈 日常

mongodb 源码实现系列 - 网络传输层模块实现四

杨亚洲(专注mongodb及高性能中间件)

MySQL 数据库 mongodb 高性能 分布式数据库mongodb

WE大会上,科学家们是怎样治愈“小破球”的?

脑极体

mPaaS 客户端问题排查之漫长的 3s 等待之谜

阿里云金融线TAM SRE专家服务团队

mPaaS

架构师Week4作业

lggl

作业

LAXCUS 大数据集群操作系统:一个分布式分时共享 E 级系统软件(六)

陈泽云

人工智能 大数据 算法

面经手册 · 第17篇《码农会锁,ReentrantLock之AQS原理分析和实践使用》

小傅哥

Java AQS CAS unsafe CLH

架构师Week4总结

lggl

作业

JetBrains当选JCP执行委员会委员-InfoQ