2016年开源方面的热门趋势

2016年开源方面的热门趋势

技术总是不断发展的 , 就算中间或有曲折,整体方向还是向前的 。但要论具体的驶向 , 就算是对于整体趋势和影响特别关注的人来说 , 这项任务也很有挑战性,下面我们将尝试总结2016年开源方面的热门趋势 。
语言推动人工智能发展
经历过20世纪90年代的“人工智能寒冬”之后,如今伴随着计算能力的提升,人工智能又获新生 , 并且正在影响着我们构建软件的方式 。机器学习、深度学习、自然语言处理与自动语音识别功能随处可见,就算OSCON开源大会这样的盛事上也充斥着关于人工智能的讨论 。尽管计算能力的提升已经做了铺垫 , 但将人工智能开源才是将这个行业推向创新和竞争的关键一步 。竞争者除了TensorFlow、OpenAI和Apache Spark这些众多周知的强大框架之外,还有类似Neon和Theano这样规模小一些的 。

人工智能的发展对软件开发者有什么影响呢?Python因其敏捷性深受数据工程师和科学家们的欢迎,被定位成人工智能的编程语言,类似的语言还有R语言、Java和Scala 。
容器和Go语言密不可分
Go语言1.0版本是在2012年3月发布的,之后第二年Docker便出现了,再之后是Kubernetes 。简单来讲,Go并非专为其而生,但却刚好吻合其用途 , 因此容器也就成了它的主要用途之一 。Go语言所编写的方式是Java或C从未达到过的 , 适用于高度网络化、有着一流的并发性的世界 。我们至少要对Go语言做以了解——这种语言正在蓬勃发展,在未来若干年中会作为许多应用的根基出现 。

Swift超越了苹果的生态系统
【2016年开源方面的热门趋势】
2015年就在这门语言出现后不久,苹果开源了Swift,它在iOS和Mac OS X开发者之中风靡一时,这种语言不但很容易让开发者快速喜欢上,而且比Objective-C和C更加安全 。在这个满是JavaScript框架和其它新语言的世界中,Swift能有多成功仍有待观察,不过若能继续保持现在的势头,Swift定有机会借着苹果的东风,在这个宏大的网络世界中分一杯羹 。
Java 8 vs JVM语言
随着Java 8的发布 , Lambdas表达式作为一项重要的特性随之而来 , 类似Scala和Clojure之类的JVM语言也渐入人眼 。近来,随着Apache Spark的良好发展,Scala也获得了井喷式的增长 。不过至少目前,由于开发者对Java 8新特性的认真审视,Scala和Clojure似乎略有停滞 。Java目前已经可以解决并发和大数据问题了,这些都是其它编程语言多年来一直在尝试解决的需求 。在2017年的OSCON大会上,Scala和Clojure可能会缺席,这一点并非我们刻意为之,而是因为目前提案的演讲者都对其兴味索然 。

前景大有希望的语言
一如既往,总有些后起之秀正蓄势待发,它们或能满足新生需求,或只是源于疯狂的想法,最终却改变了我们对编程的思考方式 。2016年之后有五种语言即将大兴,它们分别是:Rust、Elixir、Elm、Kotlin和Perl 6 。
它们为这个行业带来了什么?
Rust:以更高一些的安全性进行快速的系统编程 。
Elixir:针对较大规模的应用 , 支持分布式、高容错、功能性和动态的开发 。
Elm:很特别的函数式编程语言,最终会编译成JavaScript,非常有趣,而且会愈来愈让人上瘾 。
Kotlin:针对Java和JVM系列,特性包括静态类型、安全性、Java兼容 。
Perl 6:重获新生!Perl 6成为了一门新语言,在表达式和功能方面都很丰富,这些奠定了它的未来胜利基础 。
大浪淘沙,时间会告诉我们真相,让我们静待它们的表现,也希望对开源有兴趣的开发者们多多尝试,在作出贡献的同时成为历史的参与者 。


经验总结扩展阅读