堕落 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 条评论
登录 后参与评论

相关文章

来自专栏大数据

纳米白与Pandas

温井很久没有来更新,感谢小伙伴幕黑君积极推送文章,希望大家喜欢。 温井消失的理由,说来很不好意思。 一是后来意识到上一篇中提到的后台留言的粉丝,其实是给幕黑君留...

16710
来自专栏JAVA烂猪皮

如何成为10倍速的程序员

国外有个词叫做10x Programmer,直译是以一当十的程序员。我并不认为一个技术大牛能完成10个普通程序员的工作,技术大牛会花1/10的时间把工作做完,然...

982
来自专栏Java架构解析

两年Java程序员的面试总结

工作两年左右,实习一年左右,正式工作一年左右,其实挺尴尬的,高不成低不就。因此在面试许多公司,找到了目前最适合自己的公司之后。于是做一个关于面试的总结。希望能够...

702
来自专栏资深Tester

一个致命的bug--自负

1998
来自专栏Java帮帮-微信公众号-技术文章全总结

​全球数据库排名/主流语言2017的改变

全球数据库排名 DB-Engines 发布了 2018 年 1 月份的数据库排名。排前 20 名的数据库中,Oracle 稳居第一,Redis 超过 Cassa...

2836
来自专栏程序员互动联盟

【答疑释惑第四十一讲】自学的工作好找吗?要熟练几门语言

疑惑一 自学的工作好找吗?要熟练几门语言(好困惑,求解)? 有些自学的小伙伴不自信,认为所谓的野路子不行,甚至对自学方法也持怀疑态度,其实我作为过来人,想对对他...

3379
来自专栏闰土大叔

程序员口述:我是如何工作三年后跳槽到美团的?

前言 我叫王小闰(花名),非科班出身,野生前端从业者,在小公司打杂三年后,意外地拿到了美团的offer,成功跳槽到了美团外卖事业部。 接下来,正文从这儿开始~ ...

82616
来自专栏CSDN技术头条

微服务与单一整体式架构的优劣浅析

责编/钱曙光,关注架构和算法领域 开发者要么出于本能,要么很快就能在痛苦中发觉:即便一个很小的变化也能改变一切。就像攀岩那样,每次挪移都会影响到未来的抉择,因此...

2027
来自专栏石瞳禅的互联网实验室

说说看板在项目中的应用

在任何组织中,项目其实就是一件需要大家共同努力配合完成的事情,且最后生产出的事物,是可以供他人长期使用的。

541
来自专栏灯塔大数据

塔荐 | 2018 年最值得关注的 JavaScript 趋势

前言 JavaScript 渗透的范围越来越广,它能做的事情已经远不止前端开发而已。不久前stateofjs.com刚刚发布了 2017 JavaScript ...

3418

扫码关注云+社区