堕落 Java vs 新贵 Python,2018 年最应该学习哪一门编程语言?

关键时刻,第一时间送达!

2017 年,编程语言领域发生了巨大的变化,一方面,Java、Kotlin 等语言在企业和移动开发方面吸引了很多开发者的关注;另一方面,对 Web 开发至关重要的 JavaScript 生态系统也在不断扩大;TypeScript 、C ++ 等编程语言的特性都迎来了较大的更新。

接下来,我们就与大家共同回顾一下 2017 年编程语言所发生的大事件并剖析其未来的发展趋势。

Java 的曲折之路

千呼万唤始出来,在经历了多次跳票的 JDK 9 最终于 2017 年 9 月正式发布了,作为 Java 标准的最新实现,曾因为其模块化技术引起争议。尽管模块化系统旨在提供可伸缩性,性能和安全性方面的优势,但包括 Red Hat 和 IBM 在内的关键参与者却不同意 Oracle 实施它。他们对应用的兼容性表示担忧,并对最初的建议投了反对票。直到最后的再次修改,才让反对方感到满意,通过了复审提案,为迟迟不能发布的版本扫清了道路。

下一个版本 JDK 10 计划将在 2018 年 3 月迅速推出,具有局部变量的类型推导和垃圾收集器接口等特性。

而 Java EE ,甲骨文已将其交由 Eclipse 基金会管理。同时,Oracle 在发布 Java 9 的同时也发布了 Java EE 8 。 Java EE 8 包含云、HTML5 和 HTTP / 2 等特性。

未来趋势

过去一年中,因 Google 开始拥抱 Kotlin、Python 因人工智能而兴起,由此不少开发者开始认为 Java 霸主地位即将被取代。

相比往年的 TIOBE 排行榜来看,Java 使用率确实有所下降,但是依旧稳居首位。同时根据去年 11 月 RebelLabs 发布的《

2017 年开发者生产力报告

》分析得出,开发者主要使用的编程语言中,Java 8 高达 72%。最后综合 StackOverFlow 调查报告、IEEE Spectrum 排行榜的数据,虽然这些榜单的评分标准和涉及人群虽然有所差异,但在任何一个榜单中, Java 都占据编程语言前三的位置,无疑是最大的赢家。

从整体互联网开发的大环境来看,Java 语言的应用方向主要体现在三个方面:

大中型的企业应用中,如复杂的大企业的软件系统、各种类型的网站;

桌面应用,即 C/S应用,主要用来开发运行于不同的操作系统上的桌面应用程序;

移动开发应用,如 Android 开发、Java 游戏开发等。

基于以上稳定的排行榜以及数十亿设备都是 Java 开发的应用领域来看,未来一年中,不能说其他语言的兴起对这个老牌语言没有任何影响,但是想要短期之内想要撼动 Java 的位置也绝非易事。

学习资料

JavaScript 的大更新

在 Web 开发中,2017 年许多 JavaScript 工具迎来了大版本更新,包括:

11 月的 Angular 5:包含一个构建优化器,支持渐进的网络应用程序和 Material Design 组件。

9 月的 React 16 :重写了 React 内核以提高对复杂应用程序的响应速度。

3 月的 Angular 4 :专注于构建更小的应用。

同时,TypeScript 也迎来多次更新:

11 月的 TypeScript 2.6 具有严格的模式标记和错误抑制注释。

8 月的 TypeScript 2.5 使得复杂的重写变得更容易。

6 月的 TypeScript 2.4 具有动态展示功能,使应用更加节省资源。

4 月的 TypeScript 2.3 支持 ECMAScript 异步生成器和迭代器。

2 月的 TypeScript 2.2 强调与 React Native 框架的兼容性,以更好地构建原生移动应用。

即将于 2018 年 1 月推出的 TypeScript 2.7,将改进对象字面量的类型推断。

未来趋势

此前 Coding Dojo(编码道场)解析了来自 Indeed 的 25 们编程语言,得出有超过 80% 的开发者和 95% 的网站的都使用 JavaScript 来实现页面上的动态逻辑。 且未来随着物联网和移动设备越来越流行,React 和 AngularJS 等 JavaScript 前端框架具有巨大的未来潜力。

目前,据最新发布的《JavaScript 年度调查报告》来看,React 似乎会在 2018 年有更大的发展空间。

学习资料

星星之火——Kotlin

成为 Android 官方支持开发一级语言的 Kotlin 在 2017 年时一颗冉冉升起的新星, 2017 年推出的版本包括:

Kotlin 1.2 于 11 月发布,提供在多个平台上重复使用代码的实验性功能。支持 Java 9 。

Kotlin 1.1 于 3 月发布,提供了对 JavaScript 支持。

未来趋势

距离 TIOBE 公布年度编程语言的时间已所剩无几。在 12 月的 TIOBE 指数中,Kotlin 和 C 语言成为年度编程语言的候选人。最终是否会花落 Kotlin,我们还需等待几日。

不过因 Google 而火的 Kotlin,从开发者角度来看,确实让代码更加简洁,并减轻了开发人员的代码量,为 Android 编程提升了效率。但是还处于渗透 Android 开发阶段的 Kotlin,只能说值得一试,具体还是需要根据项目来判断是否适合。

学习资料

微软发布量子编程语言——Q#

继斥巨资研制量子计算机之后,微软于 12 月推出一门新的程序语言,名叫“Q#”(念作Q Sharp),这是一种表达量子算法的特定语言,它将传统的编程概念如函数、变量、分支、以及语法高亮的开发环境和量子调试器带到量子计算领域。该语言与主要与 Visual Studio IDE 协同工作,并在 Quantum 开发工具包中集成推出。可以帮助编程人员为量子计算机编写软件。

未来趋势

对于刚刚发布的新语言,Q# 体现了微软用语言定义行为、用语言规范框架的思维,且该语言是一个独立的程序语言,未来前景可观。但就目前而言,不少开发者表示量子计算机离我们还有一段距离且如今量子线路规模太小,想要落地 Q# 语言 ,在实际应用中还有一定的难度。

为编程提速的 C ++

今年等到了 C ++ 17 的发布,旨在使 C++ 成为一个不那么臃肿复杂的编程语言,以简化该语言的日常使用,使开发者可以更简单地编写和维护代码。

接下来是 C ++ 20 ,预计将于 2019 年夏季完成功能并于 2020 年发布。它计划包含对并发性和库特性的改进。

未来趋势

随着工具的不断增加,许多开发者发现 C ++ 比 Python 或 JavaScript 等语言更复杂,学习和使用起来也更困难,因此开始逐渐弃用 C++,所以 2017 年中,C++ 的普及程度有所降低,但不容忽视的是,它仍然被运用在大型企业的许多遗留系统中,且在游戏开发、驱动程序、客户端服务器中都有不可替代的地位。

人生苦短,我用 Python

2017 年,可以说是 Python 的幸运之年。2 月,Python 正式迁移到 Github (https://github.com/python/cpython)上,拥抱了 Git 版本控制系统。7 月,据 IEEE Spectrum 杂志发布的一年一度的编程语言排行榜来看,Python 一路跃升至第一名。而在国内的编程环境之下,Python 淘汰了 VB, 被列入全国计算机等级考试。

未来趋势

为什么 Python 增长的这么快?不难看出,如今从 Web 开发到数据科学,机器学习再到 DevOps,越来越多的应用是基于 Python 开发。其次,电子、制造业、软件、政务,甚至如上所说的高校,也都在主推 Python 编程语言。未来,随着这些领域对开发者需求的增长,对 Python 的需求仍将势不可挡。

学习资料

总结

逐渐下滑的 Java、极具前景的 Javascript、新型 Q#、简化的 C++、飞速增长的 Python......各有千秋的编程语言,2018 年,你最看好哪种?

本文来自企鹅号 - CSDN媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏灯塔大数据

盘点:10款最受欢迎数据可视化工具

在数字经济时代,人们需要对大量的数字进行分析,帮助用户更直观的察觉差异,做出判断,减少时间成本。当然,你可能想象不到这种数据可视化的技术可以追溯到2500年前世...

4598
来自专栏大前端开发

从编程小白到全栈开发:先定一个小目标

经过我上一篇文章的介绍,你是不是感觉自己开始对程序猿这个群体感兴趣了,或已立志成为他们中的一员?

1104
来自专栏机器之心

业界 | 为什么Jupyter是数据科学家们实战工具的首选?

大型综合巡天望远镜(Large Synoptic Survey Telescope,LSST)坐落在智利安第斯山脉帕穹山脊,计划 2022 年启用。它将自动探测...

1033
来自专栏LiveEdu在线科技教育平台

分享25个实用的博客,有助你提高编程技巧

编程是一个不断变化的领域,一旦你选择了它作为你的职业,你就不可能停下学习的脚步了。因为科技的发展月新日异,要跟得上它发展的脚步,你必须不断地努力学习。在Forb...

2909
来自专栏互联网杂技

结合个人经历总结的前端入门方法

结合个人经历总结的前端入门方法,总结从零基础到具备前端基本技能的道路、学习方法、资料。由于能力有限,不能保证面面俱到,只是作为入门参考,面向初学者,让初学者少走...

4126
来自专栏知晓程序

抢先体验腾讯新产品,还能免费拿 iPhone?用这款小程序就可以!| 亲儿子 #22

如果你是企鹅家的死忠粉,或许也有过这样的烦恼:每次推出新功能都想要抢先体验,却又苦于不是内测用户,无法尝鲜。

1474
来自专栏爱原型爱设计

10个最新交互式Web设计实例欣赏

如今,越来越多的UX/UI设计师将交互/动画元素(例如鼠标悬停状态,音频或视频媒体,滚动交互等等)添加到其网站设计之中。这样一方面可以使网站本身更加绚丽有趣,吸...

65116
来自专栏全栈工程师成长之路

全栈开发学习笔记(持续更新)

38110
来自专栏iOSDevLog

github 十年历程2008年2009年2010年2011年2012年2013年2014年2015年2016年2017年2018年

3599
来自专栏草根博客站长有话说

博客新手容易犯的几个『想当然』!

『想当然』是很多新手最容易犯的一个错误,『想当然』的认为建设和运营一个网站是非常轻松的事儿,『想当然』的认为照着别人成功的经验自己就可以轻松的“成功”,『想当然...

1353

扫码关注云+社区

领取腾讯云代金券