抛弃java
Java 11的总体功能集现已冻结,因此我们知道下一版[下个月到期]会有什么期望。 但是,我们仍然习惯于每年有两个版本的想法,我们想知道是否我们是唯一拥有这种奇怪(但还不错!)感觉的版本。
但是在开始做生意之前,我们想向今年的Java影响者大声疾呼。
实力榜:2018年Java最具影响力的20名
谁对Twitter影响最大? JAX团队已经搜寻了数千个技术帐户,以查找每个Java开发人员的Twitter流中都包含的20个Twitter个人资料。 如果您想听听他们对Java 11的看法,他们想在Java 12中看到什么,以及他们对新发布节奏的看法,那么您真幸运!
请查看JAX London博客以获取详细分数。
在本系列访谈的第一部分中,我们邀请了7位Java影响者讨论新的六个月节奏以及释放疲劳的危险。
毕竟,Java 10是Java已有23年历史的最快版本,现在距Java 11已有一个月的时间了。
认识有影响力的人
Markus Eisele: 与上次Java访谈系列相比,我的看法没有太大变化。 对于围绕模块化发布的所有材料,我们已经看到了很大的吸引力,并且开发人员正在尝试尽可能多地了解现在可用的所有新功能。 距离Java 8的生命周期只有大约150天的时间,我相信对于大多数公司来说,这还不足以切换生产系统。 这非常适合Oracle的新许可模式,并为企业提供了更多的迁移空间。 关于如何使您的项目进入Java 11的必要步骤的大量文章和经验已经发表,对于较小的Java来说应该不是很大的麻烦。 但是,较大的程序将需要更多的步骤,而不仅仅是三步过程来进行编译,运行和模块化。
我在想快速发布节奏是否可以从经验中获得足够的反馈。 而且我相信,我们将在第一个LTS版本问世后发现它的真正稳定性。
杰西卡·科尔(Jessica Kerr): 我全心全意地进行小而频繁的更改。 软件行业发现,这使得功能交付既更快又更安全,Java也不例外。 “确定日期,范围会有所不同。”
我认为我们可以作为一个社区更快地前进。 但是我们还没有。
Guillaume Laforge: 太快了! 作为Java开发人员,我真的很高兴能更定期地获得新功能,而不必等待2-3年就可以谈论很多新功能。
另一方面,作为开源开发人员,它对我的项目的JDK版本支持使事情变得更加复杂。
特别是模块系统在这方面提出了一些挑战,并且我们需要为开源项目的一个版本或分支容纳不同的JDK版本。
但是,除了JPMS的影响之外,我认为这是一个可喜的变化,无论如何,我们也只能将LTS(长期支持)版本作为主要版本来应对。
卢卡斯·埃德(Lukas Eder): 我觉得这很令人兴奋。 作为图书馆开发人员,很高兴能早日访问新的非LTS版本及其包含的功能,而早于大多数社区都愿意使用新版本。
不幸的是,不幸的是,“社区”目前仍包括许多Maven插件,其他库和IDE,这意味着在Java 9发行一年后,IDE仍然在拼图方面存在很多缺陷。 在多个JDK版本中,依赖JAXB仍然是一个主要麻烦。
我希望社区中的每个人最终都能适应这种新节奏。 我认为我们可以作为一个社区更快地前进。 但是我们还没有。
Josh Long: 我喜欢! Java在那里是最复杂的开源(或其他方式)软件项目之一。 它提供给我们的是一个虚拟操作系统。 它为最大的应用程序社区之一和其他十二个卫星工业提供动力。 COBOL就是其中一种语言,它是大多数使组织能够交付价值和利润的语言之一。
Java是一套了不起的工具包,即使它不是每六个月发布一次,我也将不胜感激。 毕竟,Java是其他语言(例如Groovy,Scala,Clojure,JRuby和Kotlin)的宿主。 因此,如果Java没有您最喜欢的语言功能,那么肯定会是其中一种(或许多其他)语言。 也就是说,尽早发布软件通常可以带来更好的软件。 这是整合反馈,保持敏捷的好方法。 (谢谢Java!)
还请参见: 您实际上如何理解Java中的注释?
埃伯哈德·沃尔夫(Eberhard Wolff): 我认为这是一个巨大的变化。 它可以加快创新速度。 同时 ,它为Java走向 未来 提供了清晰可靠的途径 。 此外,这意味着我们不必为新 功能 等待太久 。 完成一项功能后,可以将其放在 距离您只有几个月时间 的下一个版本中 。
马丁·汤普森(Martin Thompson): 我觉得拥有定期发布的火车是非常好的举动。 由于Jigsaw / Modules引入的延迟,许多有用的功能被推迟了。 新的时间表意味着较小的功能可以发布下一个版本,而更复杂的功能可以与发布时间表并行开发,直到准备就绪为止。
我们现在看到的是,事实证明值类型比预期的要复杂,但随着在Valhalla项目下开发值类型,它们并没有承受其他事情。
尽早发布软件,通常会带来更好的软件。 这是整合反馈,保持敏捷的好方法。
昆汀·亚当(Quentin Adam): 这个新的发布周期正在增强Java社区的实力。 作为一个平台,它表明它是有生命的,可以快速响应市场需求,并证明该项目还很年轻,还在继续发展和变化。 作为一种语言,它使用所有JVM语言作为实验室,仅集成经过验证的内容,从而使Java能够在整个语言生态系统中保持新鲜和发展。
新的发布周期还将打破通常持续数年的大型组织集成窗口,并减缓创新速度,并迫使他们在Java平台上采用新的迭代周期。 对于他们的开发人员,发行商,顾问以及最终对于平台而言,这是个好消息。 它迫使他们遵循创新和更新。 几年前,这种发布周期在Firefox上被证明是有价值的。
您是否认为新的发布节奏会导致疲劳,还是只是让开发人员保持警惕?
Markus Eisele:现在很难说。 当然,它需要每个参与人员更多的学习。 有朝一日,甚至可能感觉与生活在最前沿的其他快速发展的语言没有太大区别。 我不确定Java和生态系统是否会通过加速这样的事情而失去其最大的优势之一。
最终,我们将看到开发人员的判断:如果他们仍然认为值得保持领先地位是值得的,或者他们在快速解决方案方面更容易考虑其他语言。 我的看法是,开发人员今天可以选择的语言,工具和框架“多样性”已经变得越来越疯狂,而Java是中间的众所周知的孤岛。 我一直相信非洲人说过的话要稍作改动,如果你想快点走就必须一个人走。 但是,如果您想走得更远,则需要在拥有众多声音的强大社区中做到这一点,让您有机会吸收他们的经验。 这自然会减慢速度。 很好。
杰西卡·科尔(Jessica Kerr): 如果导致疲劳,那么我希望疲劳会导致自动化。 世界围绕着我们的应用程序而变化,我们的应用程序和基础架构也需要跟上发展。 JVM团队正在使我们的运行时保持最新状态,我们要做的就是安装它并进行测试–因此可以自动化安装和测试! 现代软件基础结构可以快速替换,而JDK的步伐可增加价值并加以利用。
删除过时的功能表明Java团队对未来很认真。
删除CORBA以及增强HTTP和TLS就是Java与时俱进,并通过减少自身的维护负担来保持自身的变更能力的示例。 删除过时的功能表明Java团队对未来很认真。 针对编译器作者的各种增强功能(例如181和309)可实现更多改进。 Java为现在和将来的严肃应用程序奠定了坚实的基础。
纪尧姆·拉福格(Guillaume Laforge): 目前,这还为时过早。 至少,它表明Java还活着并且在踢,所以我们不会听到Java死了的那些咆哮! 此外,每六个月学习一项新功能要比每三年学习六项新的重要功能要容易得多。 采用具有更常规议程的新颖性会更容易。
卢卡斯·埃德(Lukas Eder): 它将首先充当过滤器。 那些无法跟上进度的库和产品可能会被留下,并由最终用户取代。 特别是免费的Java 8支持结束后。 人们将要升级到Java 11,但是许多库尚未准备好使用Java 11。 我们将看看人们是否会删除这些库或坚持使用Java 8。
一旦应用了上述过滤器,我肯定社区不会感到疲倦,而是会接受新的节奏。 Oracle在与社区联系并获得早期采用者反馈方面一直做得很出色,因此我认为Java将以这种新方式大大改善。
我无法评论最终用户将如何使用它,因为我已经有一段时间没有在最终用户系统上工作了。
还请参见: JAX Magazine发行了:Java的发展趋势
Josh Long: 新的发布周期分为两层。 有一些长期发行版,例如Java 8和Java 11,在这些发行版中,对不稳定感到厌倦的组织可以将其应用程序停放几年并享受稳定性和支持。 对于我们其余的人,我们可以自由地升级到最新和最伟大的版本,并享受不断增加的新功能。
Eberhard Wolff: 开发人员通常渴望尝试新功能。 因此,我认为 新版本的节奏 不会 对开发人员造成 太大 的问题。 但是,并非每个组织都会 每六个月 推出一个新的Java版本 。 甚至现在 ,生产 中经常有过时的Java 版本不再受支持。 即使 在生产环境中运行过时的Java版本会带来风险, 也会发生这种情况 。 有甚至没有安全修补程序。
更频繁的Java版本发布 背后的商业议程可能 是增加 生产 中过时的JVM的数量 。 这些将需要包括在支持合同中。 我们将了解这对Oracle的影响。 似乎 已经有很多人习惯于运行过时的Java版本。
马丁·汤普森(Martin Thompson): 我希望节奏不会推动采用率。 根据过去三十年来我在软件开发中所见,推动交付的功能是推动采用的因素。 Java的重要性比发布版本的频率重要。 我一直在讨论的大型组织认为LTS发行版与旧的发行节奏相似,并且可能更容易预测。
更大的问题是,将来的发行版是否更难升级。 当事情破裂时,企业中的许多人都在努力升级。 这是一个复杂的问题,远远超出了组织自身的代码库。 由于缺乏CI和自动化测试套件,企业代码通常难以更改,而且作者经常转移。 考虑到Java对开源库生态系统的依赖程度,这种情况变得更加复杂。
并非每个组织都会每六个月推出一个新的Java版本。
这些库中有许多是由发烧友开发的,几乎没有商业支持。 作为开源开发人员,很难支持许多版本,尤其是在没有自然支持多版本构建和预处理器的情况下。 在Java的发展中需要考虑这一点,否则它可能会自毁。 模块使这变得更加困难。
昆汀·亚当(Quentin Adam): 开发者世界建立在比以前更快的周期上,更重要的是,生产世界也在加速发展。 DevOps,软件工厂和持续部署可加快代码以及我们用作开发人员或DevOps的所有工具的上市时间。
新的发布周期将把Java和JVM包含到这个充满活力的生态系统中,从而使其不被视为过时的东西。 因此,这种频率将使开发人员保持警惕并使其停留在Java上,而不是继续使用不断发展的语言(例如Go,Kotlin或任何其他流行的语言),这将为Java作为语言和库生态系统提供更多创新。
访谈系列的第二部分全部关于Java 11:我们剖析了影响者最喜欢的功能,并讨论了剩下的东西。
如果您想与Java推动者和摇动者见面,请于10月在伦敦加入我们。
翻译自: https://jaxenter.com/java-influencers-series-part-1-148058.html
抛弃java