哪门语言最受青睐,2017年,开发者应该学什么?
如下聚集了数据信息和一些观点,但愿给你们带来启示。感谢科技网站 HackerEarth、HackerNews、Github,门户网站 Glassdoor、Indeed的编辑们。javascript
Java SE;Java EE,Java Web
Python
PHP
Swift
R
Matlab
Arduinophp
用于Android开发和世界上大多数金融系统。Java的速度和性能是显而易见的首选。它多年来被评价为最好的编程语言,它老是很好地保持用户的技能更新。java
Java 9 预计在 2017 年发布,并将带来备受欢迎的新功能,例如用于评估代码的 repl、对 HTTP 2.0 的支持和新的 API。有才能的 Java 开发人员和使用该语言开发项目的人对于这些特性有强烈的需求。若是 Java 不是你须要的,有一些基于 JVM 的语言,如 Kotlin 和 Scala。node
Python 有以 Django 和 Flask 的形式组合的全栈/最小框架。Django 1.10 在 8 月发布,为 Postgres 引入了全文搜索和一个大修改的中间件层。python
在过去,PHP是一种简单的方法来淘汰一些动态网页。若是你须要一点点的变化,你能够在HTML标签之间嵌入简单的代码。Web开发者有了它就基本足够了,但它的缓慢足以令程序员中的中坚分子看不起它。mysql
由于一些喜好PHP的程序员在Wordpress和Facebook等地方都在争相利用即时编译器,这种曾创造出Java如此高性能解决方案的技术来执行比之前更快的PHP代码。如今的工具如HipHop,虚拟机和PHP7.0提供的速度多是旧版本的2倍。这会给Node.js和Java带来挑战。android
PHP 有大量的 Web 框架可供选择。因为其出色的文档和功能,Laravel 构造了一个积极的社区。Zend Framework 发布了第 3 版,这标志着这个面向业务的框架的巨大升级。Symfony 在今年也发布了不少新的版本,使它做为一个全栈解决方案成为一个更好的选择。ios
Swift 3 于2016年早些时候发布。这是苹果对现代编程语言的愿景 — 简化 iOS 和 macOS 上应用程序的开发。Swift 是开源的并且吸引了大量的社区。版本 4 计划于 2017 年发布,将改进语言特性和引入服务器 API,使其成为编写 Web Apps 和后端的一个不错选择。程序员
在 2016 年,咱们看到了 Progressive Web App 概念的兴起。它表明了脱机工做的 Web 应用程序,并提供相似 Native App 的体验。它们能够添加到你的智能设备的主屏幕,甚至能够给你发送推送通知,弥补了与本地移动应用程序的差距。咱们认为,在 2017 年,PWA 将变得更加剧要,更值得探讨。
Progressive Web App(PWA) 是 Google 在 Web
平台开始推广的一个新概念,能够理解为是尽量借助目前的新技术(好比 Service Worker,Push Notification
及其余展示层的新技术)以加强 Web App 的体验和功能,让 Web App 的体验无限接近 Native App。PWA
并不仅是在移动设备上使用,有现代浏览器存在的地方就能够有 PWA。PWA 也不是 Chrome Only,现代浏览器基本都支持。
全球化的Web脚本语言。当Web接管咱们的宇宙时,使用主要用于Web应用程序的Javascript也将接管世界。它是一个好的前端工具,能够在全部环境中使用。从添加效果到建立基本功能的游戏,Javascript是业界最喜欢和最受欢迎的编程语言学习。
2017年,JavaScript 继续着它使人难以置信的创新步伐。因为 Web 浏览器的快速发布计划的推进,JS 标准每一年都会更新。下一个版本,ES2017 预计将于 2017 年中期完成。它将带来许多 JS 开发人员渴望的特性 — 用于处理异步函数的 аsync/await。
《Effective C++》 系列图书的做者、编程新闻方面 Dr. Dobb 奖得主(Dr. Dobb’s JournalExcellence in Programming Award) Scott Meyers ——在我看来C++仍然是一个重要的编程语言,由于它自出生以来的长处仍然在各类各样项目的软件开发人员中具备持续的吸引力。我曾在2014年做过演讲《为何C ++将继续远航》,其中我总结了C++如下优势:
C ++是最适合那些要求苛刻的系统应用,那些不容易知足技术上的约束的系统。对于这样的应用程序,一般状况下,C ++的惟一重大的竞争对手是C,而与C相比,C ++ 又能提供更强大的抽象和建模功能。
抱有一样态度的还有Constantin Brancusi 大学的 Adrian Runceanu 教授在C ++,Java,Oracle 有超过16年的经验——我认为使用C / C ++是由于它提供了一个很好的指针机制(a good mechanism for using pointers),咱们能够用这种语言建立可移植的应用程序。我相信C / C ++很容易学习,这就是为何学生喜欢使用这种编程语言建立应用程序。其余语言(Java,Java,Python)可用于开发Web应用程序,但C / C ++不能以这种方式使用。我不知道这种语言的将来是什么,但我相信C ++在将来将继续在业界处于主导地位。”
随着世界对统计和数据分析愈来愈痴迷,R是你须要添加到你的技能组合的语言。若是你在工做门户网站上看到的与R相关的工做愈来愈多,那么能够确定R在2017年多是最受追捧的语言。
当苹果应对开发商的投诉时,它决定拿出 Swift 取代 Objective-C。它必然成为开发商的最爱。到目前为止,iOS开发人员正在像其余人同样快速地编码,当他们在市场现身时,Swift的使用率只会更加扩大。
曾经是数学家和科学家使用的硬派语言。随着对分析和统计的兴趣愈来愈大,MATLAB的受欢迎程度正在复苏。更多的开发人员将回到MATLAB,由于数学分析的复杂性正在增长。
随着人们愈来愈须要技术,数据库一直在指数级增长。若是你有兴趣管理数据库,SQL是你的首选。SQL是为了特殊的数据库目的设计的语言,不一样于通用语言。几乎可在须要数据库管理的任何地方使用它。SQL是一个须要学习的重要技能,是为数据库忠实粉量身定作的。
这并非一项新语言,它由 C 和 C++组合而成,但物联网将属于 Arduino! 嵌入式编程也将是一个关键的玩家。随着更多的嵌入式芯片须要编码,Arduino将是在 2017 年兴起的新技能
Redis 是最受欢迎的 Key-Value 数据库。它体积小,快速并且通用性好。做为 NoSQL 数据存储或进程消息传递和同步通道,你能够将其做为智能内存缓存的替代方案。它提供了大量的数据结构可供选择,而且即将到来的 4.0 版本将有一个模块系统和改进的复制功能。
机器学习在过去的十二个月中已经呈现爆炸式的增加。经过在今年 3 月份的 AlphaGo vs Lee Sedol 的历史性比赛,它进入了主流。从原始数据中学习的智能计算机系统正在改变咱们与移动设备交互的方式。机器学习将是 2017 年更大的影响因子。
Java 和 Javascript 可能仍然是其基于网络的服务行业的最爱,Google的GO也已经出现了几年,并将是一个伟大的语言。Ruby 是初创公司最喜欢的,这已经有一段时间了,其流行度在预计的将来不会减小。Mozilla 的 Rust和 Facebook 的 HACK(超过90%的Facebook 代码用 HACK 书写)必须也加入这些列表,但在2017年上半年还不行。
MySQL 8.0 将是该数据库的下一个主要版本。正式版预计 2017 年发布,将给系统带来不少改进。MySQL 仍然是最受欢迎的数据库管理系统,整个行业都受益于这些新版本。
Node.js 是在浏览器外运行 JS 的主要方式。今年咱们看到它发布了许多新版本,提高了性能以及添加对整个 ES6 规范的覆盖。Node 具备快速构建 API、服务器、桌面应用程序甚至机器人的框架,以及建立能够想象到的各类模块的庞大社区。一些你可能想研究的框架:Express, Koa, Next, Nodal。
世界正在快速变化,愈来愈多的程序员再也不愿意为了效率而牺牲性能。曾一度限于科学家的高性能计算,如今因为深度学习和人工智能应用成为主流。
在2016年,咱们看到了算法交易、自动驾驶汽车、3D打印、风险管理、医疗诊断、航空安全,以及在并行超级计算和天体物理学方面的 Julia Computing 应用。这些应用程序和用例预计在 2017 年爆发,由于Julia 框架 1.0 将发布,学习框架会变得更容易使用。