translated

This commit is contained in:
geekpi 2017-01-12 17:06:45 +08:00
parent bcee39e925
commit d0123da5b0
2 changed files with 82 additions and 84 deletions

View File

@ -1,84 +0,0 @@
translating---geekpi
Hot programming trends in 2016
============================================================
### Take a look at the year's hottest languages for AI projects and containers, new languages, and more programming trends.
![Top programming trends in 2016](https://opensource.com/sites/default/files/styles/image-full-size/public/u23316/climb-top-bridge-yearbook_red.png?itok=YITYmpoR "Top programming trends in 2016")
Image by : 
[Museum of Photographic Arts][6]. Modified by Opensource.com. CC BY-SA 4.0
Technology is constantly moving forward—well, maybe not always forward, but always moving. Even for someone who keeps an eye on the trends and their effect on programmers, discerning exactly where things are headed can be a challenge. My clearest glimpse into open source programming trends always comes in the fall when I work with my fellow chairs, Kelsey Hightower and Scott Hanselman, and our fantastic programming committee to sculpt the coming year's [OSCON][7] (O'Reilly Open Source Convention). The proposals that we get and the number focused on specific topics turn out to be good indicators of hot trends in the open source world. What follows is an overview of the top programming trends we saw in 2016.
### Languages powering AI
Out of the AI winter of the 1990s, artificial intelligence has reemerged with the computing power that it always needed to influence how we are building software. Machine learning, deep learning, natural language processing, and auto speech recognition blanket the world—from GitHub projects and job posts, to the reason behind the formation of new companies, and clearing space on our cluttered counter tops (Hey, Alexa!). And yes, even events such as OSCON are teeming with the mention of all things AI. Although the availability of computing power has paved the way, open sourcing of all things AI has thrown the industry wide open to innovation and competition. Google's [TensorFlow][8], [OpenAI][9], and [Apache Spark][10]lead the way with powerful frameworks, but there are smaller players, such as [Nervana][11]'s [Neon][12] and [Theano][13].
How has the rise in AI affected the software developer's landscape? Well, now is a good time to know Python—its agility and popularity with data engineers and scientists makes it the go-to AI programming language, followed by R, Java, and Scala.
### Containers and Go go together like peanut butter and jelly
[Go 1.0 was released][14] in March 2012. [Docker][15] followed a year later, and [Kubernetes][16] a year after that. In short, Go wasn't built exclusively for the future of infrastructure as we know it, but that seems to be one major hole Go is filling in the programming world. Go is specifically written in a way that Java or C++ could never have been—for a highly networked world, a world in which first-class concurrency is a necessity. If you are in or near the operations side of things, you should at the very least dip a toe into the world of Go because it is gaining steam, will be used for years to come, and will be in the backbone of many applications.
### Swift transcends the Apple ecosystem
Swift was [open sourced by Apple][17] in 2015, not long after the programming language started. Swift has been a hit with iOS and Mac OS X developers. That the language was easy to grok quickly became apparent, and it earned a [reputation for being safer][18] than the languages it aims to replace—Objective-C and C++. How successful Swift is out in the crowded world of [JavaScript frameworks][19]and other new languages remains to be seen, but if it continues gaining popularity with the Apple faithful, there is a chance that Swift will be a viable contender in the great web world and beyond.
### Java 8 vs. the functionality of JVM languages
The advent of Java 8's functional capability—namely the introduction of Lambdas—has put JVM languages like Scala and Clojure on notice. Recently, due in large part to the growth of Apache Spark, Scala was having a bit of a growth spurt. Now both Scala and Clojure are seeming to be set aside, at least for the moment, as long-time and new developers alike take a hard look at what Java 8 brings to the table. Java is now able to address concurrency and big data concerns that other programming languages specifically built to address these requirements have been doing for years. In 2017, OSCON is nearly devoid of both Scala and Clojure, not by design, but by seemingly little interest from potential speakers who submitted proposals.
### Up and coming languages
And as usual, there are always more up and coming languages on the horizon intended to do something better than those that came before them, that can answer needs that weren't around when previous languages were born, or that simply start out as a crazy idea and end up changing how we think about programming. This year five languages are on the verge of making it into the big time: Rust, Elixir, Elm, Kotlin, and Perl 6.
What do the hot five bring to the industry?
* [Rust][1]: Systems programming at speed and more than a modicum of safety.
* [Elixir][2]: Functional, dynamic, and fault-tolerant for those larger and larger-scale apps.
* [Elm][3]: More functional fun that plays with JavaScript, leaning increasingly toward being a pleasure to use.
* [Kotlin][4]: This one is for the Java and JVM folks—statically typed, safe, and did I mention Java compatible?
* [Perl 6][5]: It lives! Perl 6 happens to be a new language that is expressive and feature-rich for the win.
Time will tell whether they deliver on their promises. Try them out, contribute to them, be a part of the future!
--------------------------------------------------------------------------------
作者简介:
![](https://opensource.com/sites/default/files/styles/profile_pictures/public/pictures/_mts0602.jpg?itok=7cSl2h8C)
Rachel Roumeliotis - Rachel Roumeliotis, a Strategic Content Director at O'Reilly Media, Inc., leads an editorial team that covers a wide variety of programming topics ranging from full-stack web development, to open source in the enterprise, to emerging programming languages. She is a Programming Chair of OSCON, O'Reilly's Software Architecture Conference, and Fluent. She has been working in technical publishing for over 10 years, acquiring content in many areas including mobile programming, UX, computer security
--------------------------------------------------------------------------------
via: https://opensource.com/article/16/12/yearbook-top-programming-trends-2016
作者:[Rachel Roumeliotis][a]
译者:[译者ID](https://github.com/译者ID)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]:https://opensource.com/users/rroumeliotis
[1]:https://www.rust-lang.org/en-US/
[2]:http://elixir-lang.org/
[3]:http://elm-lang.org/
[4]:https://kotlinlang.org/
[5]:https://perl6.org/
[6]:https://www.flickr.com/photos/mopa1/5710937421/in/photolist-9GE3Ji-6tCkcs-otWCnW-wkkhM8-tm7Nah-7vwJ3Q-68HXuT-oruzry-7Dnhxt-oeUiuj-otcNUW-oyfLei-i1n1f6-owqxpT-i8RyRi-owbQS4-ovnJwp-otgwsB-qtFP4G-i1yVzD-i9cB9K-i1Db76-8eHe5n-i8VwCo-oupp7X-ouCYj2-i7VHNV-qrLEpj-ou6mGD-otHdws-55Bcba-ba4NaZ-owr9WM-r5rFgN-i1As83-i9e17E-of1nLV-ocbpqf-occJbg-oeZBT4-oujeML-obZjTD-oePhsw-odkejY-5ohHHH-odjBfU-odkSVS-otTy9e-obWKAc-ouXqVQ
[7]:http://conferences.oreilly.com/oscon/oscon-tx
[8]:https://www.tensorflow.org/
[9]:https://openai.com/blog/
[10]:http://spark.apache.org/
[11]:https://www.nervanasys.com/
[12]:https://github.com/NervanaSystems/neon
[13]:https://github.com/benanne/nervana_theano
[14]:https://blog.golang.org/go-version-1-is-released
[15]:https://opensource.com/resources/what-docker
[16]:https://opensource.com/resources/what-is-kubernetes
[17]:https://opensource.com/life/15/12/most-likely-succeed-2016
[18]:http://www.infoworld.com/article/2920333/mobile-development/swift-vs-objective-c-10-reasons-the-future-favors-swift.html
[19]:https://opensource.com/article/16/11/15-javascript-frameworks-libraries

View File

@ -0,0 +1,82 @@
2016 年的编程趋势
============================================================
### 回顾年度最热门的 AI 项目语言、新语言和更多编程趋势。
![Top programming trends in 2016](https://opensource.com/sites/default/files/styles/image-full-size/public/u23316/climb-top-bridge-yearbook_red.png?itok=YITYmpoR "Top programming trends in 2016")
图片提供: 
[Museum of Photographic Arts][6]. 由 Opensource.com 修改。 CC BY-SA 4.0
技术在不断前进 - 可能不总是向前但总是在变动。即使对于那些关注趋势及其对程序员的影响的人来说确切地了解技术的方向也是一个挑战。当我与我的同事Kelsey Hightower 和 Scott Hanselman和我们的非常棒的编程委员会以塑造来年的[OSCON] [7]O'Reilly 开放源码公约 ),我清楚地看到开源编程趋势总是出现在秋天。我们获得的建议和关注特定主题的数字被证明是开源世界热门趋势的良好指标。以下是我们在 2016 年看到的顶级编程趋势的概述。
### 语言驱动 AI
在 20 世纪 90 年代的人工智能冬季,人工智能随着计算能力的提升再次出现,它一直影响我们如何构建软件。机器学习、深度学习、自然语言处理和汽车语音识别覆盖了世界各地 - 从 GitHub 的项目和工作岗位到新公司成立背后的原因以及清除我们杂乱的台面上的空间Alexa。是的即使像 OSCON 这样的会议都处处提及 AI。虽然计算能力的可用性已经铺平了道路所有关于 AI 的开源已经引起了行业广泛开放的创新和竞争。谷歌的 [TensorFlow][8]、[OpenAI][9] 和 [Apache Spark][10]领导的强大框架,但也有较小的球员,如 [Nervana][11] 的 [Neon][12] 和 [Theano][13]。
AI 的兴起如何影响软件开发者的前景?好了,现在是了解 Python 的好时机 - 它的敏捷性和流行性与数据工程师和科学家使它成为最流行的AI编程语言其次是R、Java和Scala。
### 容器和 Go 的结合就像花生、黄油和果冻
[Go 1.0 发布][14]于 2012 年 3 月。紧接着 [Docker][15] 在一年后发布,[Kubernetes][16] 在另外一年后发布。总之Go 并不是如我们所知的那样专为基础设施的未来而设计的,但 Go 似乎是为了填充编程世界的一个主要的空洞。对于一个高度联网的世界一个必须拥有一流并发性的世界而言Go 是以 Java 或 C++ 永远不会存在的方式专门写的。如果你在做这些事或者类似的事,你应该至少在 Go 世界的尖端,因为它正在发展中,它将会被使用多年,并成为许多程序的骨干。
### Swift 超越了 Apple 的生态系统
Swift 是[ Apple 在 2015 年发布不就之后就开源的][17]。Swift 已经成为 iOS 和 Mac OS X 开发人员的热门话题。这种语言很容易理解因此很快流行起来,并且它比它要取代的语言 - Objective-C 和 C++ 赢得了一个[更安全的声誉][18]。在[ JavaScript 框架][19]和其他新语言的世界中 Swift 的成功如何成功仍有待观察但如果它继续获得苹果忠实用户的欢迎Swift 将有机会成为伟大的网络世界中有望成功的竞争者和超越者。
### Java 8 vs 使用 JVM 的函数式语言
Java 8 的函数式能力(即引入 Lambdas )的出现使得 JVM 语言(如 Scala 和 Clojure上榜单了。最近很大程度上由于 Apache Spark 的增长使得 Scala 有一点小爆发。因为长期的和新的开发人员一起都来关注 Java 8 所带来的东西至少在那一刻Scala 和 Clojure 似乎被搁置。Java 现在能够解决并发和大数据关心的事,这些其他编程语言专门为满足这些要求已经做了多年。在 2017 年OSCON 几乎缺乏 Scala 和 Clojure 的提案,不是因为设计,但似乎潜在发言者没有什么兴趣提交提案。
### 新兴语言
和往常一样世上总是有更多的新兴语言旨在把事情做得更好它们可以做到从前的语言出现时没有的需求或者开始只是疯狂思想最终改变了我们对编程的看法。今年有五种语言即将进入大时代Rust、Elixir、Elm、Kotlin和 Perl 6。
这 5 个会给行业带来什么?
* [Rust][1]:兼顾速度和一定安全的系统编程语言。
* [Elixir][2]:函数式、动态和容错,适用于那些规模越来越大的应用程序。
* [Elm][3]:更多函数式的乐趣,使用 JavaScript学习成为一种乐趣。
* [Kotlin][4]:这一个是为使用 Java 和 JVM 的人设计的语言 - 静态类型、安全我提到Java兼容
* [Perl 6] [5]它还活着Perl 6 碰巧是一种新的语言,它胜在富有表现力和功能丰富。
时间会告诉他们是否会如约发布。尝试他们,为他们贡献,成为未来的一部分!
--------------------------------------------------------------------------------
作者简介:
![](https://opensource.com/sites/default/files/styles/profile_pictures/public/pictures/_mts0602.jpg?itok=7cSl2h8C)
Rachel Roumeliotis - O'Reilly MediaInc.的战略内容总监,领导了一个编辑团队,其涵盖各种各样的编程主题,从全栈 web 开发到企业中的开源到新兴的编程语言。她是 OSCONO'Reilly软件架构会议和 Fluent 的编程主席。 她从事技术出版工作超过10年获得许多领域的内容包括移动编程、UX、计算机安全。
--------------------------------------------------------------------------------
via: https://opensource.com/article/16/12/yearbook-top-programming-trends-2016
作者:[Rachel Roumeliotis][a]
译者:[geekpi](https://github.com/geekpi)
校对:[校对者ID](https://github.com/校对者ID)
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
[a]:https://opensource.com/users/rroumeliotis
[1]:https://www.rust-lang.org/en-US/
[2]:http://elixir-lang.org/
[3]:http://elm-lang.org/
[4]:https://kotlinlang.org/
[5]:https://perl6.org/
[6]:https://www.flickr.com/photos/mopa1/5710937421/in/photolist-9GE3Ji-6tCkcs-otWCnW-wkkhM8-tm7Nah-7vwJ3Q-68HXuT-oruzry-7Dnhxt-oeUiuj-otcNUW-oyfLei-i1n1f6-owqxpT-i8RyRi-owbQS4-ovnJwp-otgwsB-qtFP4G-i1yVzD-i9cB9K-i1Db76-8eHe5n-i8VwCo-oupp7X-ouCYj2-i7VHNV-qrLEpj-ou6mGD-otHdws-55Bcba-ba4NaZ-owr9WM-r5rFgN-i1As83-i9e17E-of1nLV-ocbpqf-occJbg-oeZBT4-oujeML-obZjTD-oePhsw-odkejY-5ohHHH-odjBfU-odkSVS-otTy9e-obWKAc-ouXqVQ
[7]:http://conferences.oreilly.com/oscon/oscon-tx
[8]:https://www.tensorflow.org/
[9]:https://openai.com/blog/
[10]:http://spark.apache.org/
[11]:https://www.nervanasys.com/
[12]:https://github.com/NervanaSystems/neon
[13]:https://github.com/benanne/nervana_theano
[14]:https://blog.golang.org/go-version-1-is-released
[15]:https://opensource.com/resources/what-docker
[16]:https://opensource.com/resources/what-is-kubernetes
[17]:https://opensource.com/life/15/12/most-likely-succeed-2016
[18]:http://www.infoworld.com/article/2920333/mobile-development/swift-vs-objective-c-10-reasons-the-future-favors-swift.html
[19]:https://opensource.com/article/16/11/15-javascript-frameworks-libraries