时间行至 2020 年,关于编程言语的未来开展,很多人会更多的等候。因此,我们向多位编程专家咨询了他们对抢手编程言语的看法。
Python往年 Python 最大的旧事是,其发明者和“终身残忍专制者(BDFL)”Guido van Rossum 退休了,将 Python 交给了 Python 指点委员会(Python Steering Council)。到目前为止,权利转移还算顺利,正如《Python 编程从入门到实际》(Python Crash Course)的作者 Eric Matthes 所以为的那样,这并不足以为奇,由于“长久以来,Guido 不断都能在他本人和在社区中的角色之间保持平衡。”2020 年也将 终止对 Python 2.7 的支持,这很能够会让 其支持者感到头疼。同时,Python 依然是数据迷信的首选言语。
关于 Matthes 而言,Python 令人兴奋的一个方面是“在一个长期以来刻意构建其多样性的社区中,出现了各种幽默而关键的项目。”Python 指点委员会的成员、CPython 的中心开发人员 Carol Willing 也对这些项目表示了赞赏,比如 Binder 效劳,它经过我们的 Jupyter Notebooks 创立一个可执行的环境来促进可重复的研讨,尤其是当它们超出最后的目的时。她指出,Binder“去年被普遍用于许多 Python 会议的教学研讨班和教程”,Willing 还对 CircuitPython 和 Mu 项目大声疾呼,问到:“谁不喜欢硬件、闪烁的 LED、传感器,运用 Mu,一个老少咸宜、用户友好的编辑器?”
Java这主要是 Java 方面的好音讯。Java Champion Ben Evans 解释道,“关于 Java 消亡的谣言再一次被证明不过是平台批判者的一厢情愿而已。”但这也并非坏事多磨。正如我们去年所留意到的那样,2018 年 9 月 发布的 Java 11 带来了少量的新特性,其中许多特性为容器的运用提供了清楚且清楚的优势。但是,JetBrains 的调查显示,这个最新版本 并没有被普遍采用,超过 80% 的开发人员依然运用 Java 8。Evans 想知道,“这能否意味着人们并没有像我们所说的那样在容器中运转 Java 呢?还是人们基本不知道 Java 11 在容器方面的优势呢?”
虽然采用速度很慢,但 Java每六个月发布一次的节拍 不断在不断延续:Java 12 于 2019 年 3 月发布,Java 13 于 9 月发布。据 Java Champion Trisha Gee 所说,它曾经末尾显示出它的价值了:
每个版本都很小,但都是可预测的。虽然它们并没有令人兴奋的新言语变化,但我们可以看到该言语正在稳步向前开展。此外,它还支持了预览特性的想法,我以为正如我们所看到的那样,它对 switch 表达式十分有效,开发人员应该尝试该特性,并依据运用的状况给出真正的反应,而不是对笼统的概念性的想法停止反应。作为回应,对 switch 表达式的语法停止了大批地更改,这是有能够的,由于它是 Java 13 中的一个预览特性,而不是原封不动的。如今,方案将这个更新后的语法作为一个可用于消费的特性在 JDK 14 中发布。
当甲骨文将 Java SE 迁移到基于订阅的形式时,2019 年又带来了另一个惊喜。但是,正如 《Learning Java,第五版》(现已发布的早期版本)的合著者 Marc Loy 所指出的那样,“整个 Java 社区 对 OpenJDK 的热情越来越高,它曾经末尾着手处置这个不幸的变化了。”
至于来年,Evans 建议 2020 年需关注 2019 年的趋向开展:
Project Valhalla 的消费版本还有多久才能发布?提供形式婚配和代数数据类型(Project Amber)的增量策略能否有效?Quarkus 能兑现它的承诺并支撑早期粉丝的信心吗?2020 年会成为 Kotlin 超越 Android 成为重要排头兵的一年吗?这是一个令人兴奋的时辰,我们正处于向新事物过渡的阶段,而且还有很多事情可以做。
Kotlin谷歌在 2019 年 5 月宣布,Kotlin 如今是 Android 运用顺序开发人员的首选言语,这促进了该言语的普遍采用。虽然许多 Android 开发人员仍处于向 Kotlin 迁移的进程中,但那些曾经过渡过去的人都知道它能提供的益处了。《Head First Kotlin》 的作者 Dawn 和 David Griffiths 分享了 Kotlin 崛起背后的几个缘由:
关于由 IDE 公司创立的言语,Kotlin 能拥有良好的工具支持也就不足为奇了。用于代码契约的实验性 DSL 使开发人员可以为代码的行为方式提供保证。你的函数有反作用吗?它能否能保证前往一个非空值?代码契约允许我们做出这些承诺,而编译器可以运用它们来放宽编译时反省。如今,不同 Kotlin 平台之间的屏障也正在被打破。“expect”/”actual”限定符使开发人员可以更轻松地编写跨 Java/Native/JS 环境的兼容代码。如今,序列化支持意味着可以更容易地将 JSON 数据转换为 Kotlin 对象,反之亦然。
希望 Kotlin 能继续保持其惊人高速增长,而不只仅是在 Android 上。JetBrains 的开发者权益团队担任人 Hadi Hariri 指出 Kotlin/Everywhere(一系列社区主导的活动,在这些活动中,我们可以在 Android、谷歌云平台和多平台开发中学习 Kotlin 的基本知识和最佳实际)的成功,就是最好的证明:“从 5 月到 11 月,我们曾经成功地掩盖了 86 个国度的近 30000 人。2019 年,KotlinConf 延续三年售罄,吸引了 1700 多名与会者。这尤其表明,人们对这门言语的兴味和接受水平正在增长。”
Go当 Go 顺序员(Gopher)回忆 2019 年时,他们很能够会记得“try”提案的传奇故事。Go 的开发者兼作者 Jon Bodner 解释道:
关于 Go 最常见的抱怨之一是错误处置过于冗长。因此在 6 月初,Go 的中心开发人员们提议 添加一个新的内置函数 try。并发布了一个 GitHub issue 来讨论这个新特性。不到一个月,就有近 800 条评论,其中大少数都能否认的。支持这一新特性的人以为,这一变化使代码变得太“魔法”,并使逻辑流程变得模糊了。在审查了反应之后,Go 团队将提案标记为封锁,并于 7 月 16 日拒绝掉了该提案。
在这个进程中值得留意的不是这个特性的失败,而是,正如 Bodner 所描画的那样,“进程的发作方式:提出一个特性,讨论也是遭到尊重的,但是许多人觉得这个变更与 Go 的作风不分歧。最后,掌管言语的人决议尊严重少数人的意见。这就是开发者所说的社区。”
(责任编辑:admin)