技术在不断进步——好吧,也许不总是向前,但总是在前进。即使对于那些关注趋势及其对程序员影响的人来说,准确辨别事物的发展方向也可能是一个挑战。我最清晰地了解开源编程趋势总是在秋季,那时我与我的同事主席 Kelsey Hightower 和 Scott Hanselman,以及我们出色的编程委员会一起,为来年的 OSCON(O'Reilly 开源大会)做准备。我们收到的提案以及关注特定主题的数量证明是开源世界热门趋势的良好指标。以下是我们 2016 年看到的顶级编程趋势概述。
驱动 AI 的语言
人工智能从 20 世纪 90 年代的 AI 寒冬中重新出现,它拥有了影响我们构建软件方式所需的计算能力。机器学习、深度学习、自然语言处理和自动语音识别遍布全球——从 GitHub 项目和职位发布,到新公司成立的原因,以及清理我们杂乱的台面(嘿,Alexa!)。是的,甚至像 OSCON 这样的活动也充斥着关于人工智能的一切。尽管计算能力的可用性为人工智能铺平了道路,但所有人工智能事物的开源化已将该行业完全开放给创新和竞争。谷歌的 TensorFlow、OpenAI 和 Apache Spark 以强大的框架引领潮流,但也有些较小的参与者,例如 Nervana 的 Neon 和 Theano。
人工智能的兴起如何影响了软件开发人员的格局?嗯,现在是学习 Python 的好时机——它的敏捷性以及在数据工程师和科学家中的流行使其成为首选的 AI 编程语言,其次是 R、Java 和 Scala。
容器和 Go 就像花生酱和果冻一样搭配
Go 1.0 于 2012 年 3 月发布。Docker 紧随其后,一年后又出现了 Kubernetes。简而言之,Go 并非专门为我们所知的未来基础设施而构建,但这似乎是 Go 在编程世界中填补的一个主要空白。Go 的编写方式与 Java 或 C++ 永远无法实现的有所不同——为了高度网络化的世界,一个一流的并发是必需的世界。如果您身处或接近运营方面,您至少应该涉足 Go 的世界,因为它正在获得动力,将在未来几年内被使用,并将成为许多应用程序的骨干。
Swift 超越 Apple 生态系统
Swift 在 2015 年被 Apple 开源,就在该编程语言开始后不久。Swift 在 iOS 和 Mac OS X 开发人员中大受欢迎。这种语言很容易理解很快变得显而易见,并且它赢得了比它旨在取代的语言——Objective-C 和 C++——更安全的声誉。Swift 在 JavaScript 框架和其他新语言的拥挤世界中有多成功还有待观察,但如果它继续在忠实的 Apple 用户中流行,Swift 很有可能成为伟大的 Web 世界及其他领域的有力竞争者。
Java 8 与 JVM 语言的功能
Java 8 的函数式功能——即 Lambda 的引入——的出现已使 Scala 和 Clojure 等 JVM 语言受到了关注。最近,主要由于 Apache Spark 的增长,Scala 出现了一些增长。现在,Scala 和 Clojure 似乎都被搁置了,至少目前是这样,因为长期和新的开发人员都在认真研究 Java 8 带来的好处。Java 现在能够解决其他专门为满足这些要求而构建的编程语言多年来一直在解决的并发和大数据问题。在 2017 年,OSCON 几乎没有 Scala 和 Clojure,这不是故意的,而是因为潜在演讲者提交的提案似乎对此兴趣不大。
新兴语言
与往常一样,总是有更多新兴语言即将出现,旨在比以前的语言做得更好,能够满足以前语言诞生时不存在的需求,或者仅仅是从一个疯狂的想法开始,最终改变我们对编程的看法。今年,有五种语言即将进入主流:Rust、Elixir、Elm、Kotlin 和 Perl 6。
这五种热门语言为行业带来了什么?
- Rust:快速且具有一定安全性的系统编程。
- Elixir:面向规模越来越大的应用程序的功能性、动态性和容错性。
- Elm:更多与 JavaScript 配合使用的函数式乐趣,越来越倾向于易于使用。
- Kotlin:这款语言适合 Java 和 JVM 用户——静态类型、安全,并且我有没有提到它与 Java 兼容?
- Perl 6:它还活着!Perl 6 恰好是一种富有表现力且功能丰富的新语言,旨在取得成功。
时间会证明它们是否兑现了诺言。尝试它们,为它们做出贡献,成为未来的一部分!
1 条评论