2017年技术预测

哪门语言最受青睐,2017年,开发者应该学什么? 
以下汇集了数据信息和一些观点,希望给大家带来启示。感谢科技网站 HackerEarth、HackerNews、Github,门户网站 Glassdoor、Indeed的编辑们。

在2017年最受欢迎的顶级编程语言

Java SEJava EEJava Web 
Python 
PHP 
Swift 
R 
Matlab 
Arduino

在2017年最热门的领域

机器学习 
深度学习 
人工智能 
虚拟现实

关于Java

用于Android开发和世界上大多数金融系统。Java的速度和性能是显而易见的首选。它多年来被评价为最好的编程语言,它总是很好地保持用户的技能更新。

Java 9 预计在 2017 年发布,并将带来备受欢迎的新功能,例如用于评估代码的 repl、对 HTTP 2.0 的支持和新的 API。有才能的 Java 开发人员和使用该语言开发项目的人对于这些特性有强烈的需求。如果 Java 不是你需要的,有一些基于 JVM 的语言,如 Kotlin 和 Scala。

关于Python

Python 有以 Django 和 Flask 的形式组合的全栈/最小框架。Django 1.10 在 8 月发布,为 Postgres 引入了全文搜索和一个大修改的中间件层。

关于PHP

在过去,PHP是一种简单的方法来淘汰一些动态网页。如果你需要一点点的变化,你可以在HTML标签之间嵌入简单的代码。Web开发者有了它就基本足够了,但它的缓慢足以令程序员中的中坚分子看不起它。

因为一些喜爱PHP的程序员在Wordpress和Facebook等地方都在争相利用即时编译器,这种曾创造出Java如此高性能解决方案的技术来执行比以前更快的PHP代码。现在的工具如HipHop,虚拟机和PHP7.0提供的速度可能是旧版本的2倍。这会给Node.jsJava带来挑战。

PHP 有大量的 Web 框架可供选择。由于其出色的文档和功能,Laravel 构造了一个积极的社区。Zend Framework 发布了第 3 版,这标志着这个面向业务的框架的巨大升级。Symfony 在今年也发布了很多新的版本,使它作为一个全栈解决方案成为一个更好的选择。

关于Swift

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,现代浏览器基本都支持。

关于Javascript

全球化的Web脚本语言。当Web接管我们的宇宙时,使用主要用于Web应用程序的Javascript也将接管世界。它是一个好的前端工具,可以在所有环境中使用。从添加效果到创建基本功能的游戏,Javascript是业界最喜欢和最受欢迎的编程语言学习。

2017年,JavaScript 继续着它令人难以置信的创新步伐。由于 Web 浏览器的快速发布计划的推动,JS 标准每年都会更新。下一个版本,ES2017 预计将于 2017 年中期完成。它将带来许多 JS 开发人员渴望的特性 — 用于处理异步函数的 аsync/await。

关于C++

《Effective C++》 系列图书的作者、编程新闻方面 Dr. Dobb 奖得主(Dr. Dobb’s JournalExcellence in Programming Award) Scott Meyers ——在我看来C++仍然是一个重要的编程语言,因为它自出生以来的长处仍然在各种各样项目的软件开发人员中具有持续的吸引力。我曾在2014年作过演讲《为什么C ++将继续远航》,其中我总结了C++以下优点:

  • C语言兼容
  • 非常通用的功能
  • 不存在范式(Paradigm agnosticism)
  • 专注系统编程

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相关的工作越来越多,那么可以肯定R在2017年可能是最受追捧的语言。

关于Swift

当苹果应对开发商的投诉时,它决定拿出 Swift 取代 Objective-C。它必然成为开发商的最爱。到目前为止,iOS开发人员正在像其他人一样快速地编码,当他们在市场现身时,Swift的使用率只会更加扩大。

关于MATLAB

曾经是数学家和科学家使用的硬派语言。随着对分析和统计的兴趣越来越大,MATLAB的受欢迎程度正在复苏。更多的开发人员将回到MATLAB,因为数学分析的复杂性正在增加。

关于SQL

随着人们越来越需要技术,数据库一直在指数级增加。如果你有兴趣管理数据库,SQL是你的首选。SQL是为了特殊的数据库目的设计的语言,不同于通用语言。几乎可在需要数据库管理的任何地方使用它。SQL是一个需要学习的重要技能,是为数据库忠实粉量身定做的。

关于Arduino

这并不是一项新语言,它由 C 和 C++组合而成,但物联网将属于 Arduino! 嵌入式编程也将是一个关键的玩家。随着更多的嵌入式芯片需要编码,Arduino将是在 2017 年兴起的新技能

关于Redis

Redis 是最受欢迎的 Key-Value 数据库。它体积小,快速而且通用性好。作为 NoSQL 数据存储或进程消息传递和同步通道,你可以将其作为智能内存缓存的替代方案。它提供了大量的数据结构可供选择,并且即将到来的 4.0 版本将有一个模块系统和改进的复制功能。

关于机器学习

机器学习在过去的十二个月中已经呈现爆炸式的增长。通过在今年 3 月份的 AlphaGo vs Lee Sedol 的历史性比赛,它进入了主流。从原始数据中学习的智能计算机系统正在改变我们与移动设备交互的方式。机器学习将是 2017 年更大的影响因子。

关于GO

Java 和 Javascript 可能仍然是其基于网络的服务行业的最爱,Google的GO也已经出现了几年,并将是一个伟大的语言。Ruby 是初创公司最喜欢的,这已经有一段时间了,其流行度在预计的未来不会减少。Mozilla 的 Rust和 Facebook 的 HACK(超过90%的Facebook 代码用 HACK 书写)必须也加入这些列表,但在2017年上半年还不行。

关于MySQL

MySQL 8.0 将是该数据库的下一个主要版本。正式版预计 2017 年发布,将给系统带来很多改进。MySQL 仍然是最受欢迎的数据库管理系统,整个行业都受益于这些新版本。

关于Node.js

Node.js 是在浏览器外运行 JS 的主要方式。今年我们看到它发布了许多新版本,提升了性能以及添加对整个 ES6 规范的覆盖。Node 具有快速构建 API、服务器、桌面应用程序甚至机器人的框架,以及创建可以想象到的各种模块的庞大社区。一些你可能想研究的框架:Express, Koa, Next, Nodal。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值