2020年编程语言趋势解读:编程世界之未来握于谁手?
以下文章来源于PolkaBase ,作者ShawnRingLin
2019年关将至,也意味着2010年代即将过去,迎来2020年代。
全球的程序开发者也在最后一个月组织了各种盛会。
举办十数年之久的CSDN大会也将如期举行了,从最早的技术开发者大会一展到今年各种分展例如12月中旬北京的「2019中国区块链开发者大会」。
在整个程序开发行业,编程语言历经了从面向过程的C、到面向对象的C++、再到两个改装版Java和C#
区块链行业的编程语言也发生了很大的变化:2018年度,根据德勤报告,应用于以太坊和Hyperledger C++是最青睐的语言,谷歌开发的Go语言则是是第二大区块链开发语言。
在2019年编程语言的应用又有哪些趋势呢?本文将会为您解读。
有潜力成为主流
Rust - www.rust.cc
Rust语言是一门保证内存和线程安全的语言、具有“高并发性”、“零开销抽象”、“保证线程安全”等特性。例如Libra的Move语言是用Rust编写的;以及以太经典、波卡Polkadot, “2010 - 50 BTC”古灵Grin、清华姚班Conflux-rust项目。
我相信2020年Rust语言有能力和前辈掰掰手腕。如何能定义为主流?比如在2020年某天有高校开始将Rust正式引入课程。这将为会未来的开发工程师创造一波新的造富浪潮和衍生的生态产业。
图:不同编程语言的薪酬和资历分布 (StackOverflow, 2019)
R和Python广泛用于数据分析、数据可视化、量化交易等金融行业、因此熟悉程度比Rust要高很多。Python也是国内某地产大佬立志要学习的语言。不过出乎意料的是,最受欢迎的语言并不是R与 Python,而是Rust。
最受喜爱的编程语言排名(StackOverflow, 2019)
最喜爱的语言的投票比例上,Rust比其他前五名(Python、TypeScript、Kotlin、WebAssembly)远远领先有10%+左右。Rust语言在国外有着极活跃的技术开发者社群、随着Rust作为Libra的编程语言后,Rust的热度更是进一步上升。
相比于Rust语言在海外递增的受欢迎程度,国内百度端的Rust氛围就相对比较冷淡了,更多与Rust相关主题的是Rust怎么念、以及一个同名游戏。
图:在经历A-E等热点新闻播报后,热度再次减退
所以开发者如果仍坚持使用C、C++、或者是Java等老牌语言、或者是VBA等更有历史的语言(比尔盖茨起家语言,现在主要用于Excel), 那何尝不值得一试呢?
GraphQL的应用会持续增长
随着应用程序复杂性的增长,我们对数据消耗的需求也在增加。与传统的REST API相比,我认为这是一种非常出色的获取数据的解决方案,实现了前后端分离,GraphQL是一种开源的数据交互方案。
虽然典型的REST API需要从多个URL进行加载,但是GraphQL API可以在单个请求中获取应用程序需要的所有数据。
Progressive Web Apps(PWA)
渐进式WebApps是不可忽视的力量。
渐进式Web应用程序(PWA)是一种通过将Web的最佳功能与顶级质量的移动应用程序相结合来构建应用程序的新方法。
与本地特定平台的开发人员相比,有更多的Web开发人员在狂奔。一旦大公司意识到他们可以重新利用其Web开发人员来开发渐进式Web应用程序,我相信我们将会看到大量的PWA。
但是,较大的公司需要一段时间才能适应,这对于技术而言是很正常的。渐进式部分通常会落到前端开发中,因为它主要是与Web Workers API(本机浏览器API)进行交互。
WebAssembly(Wasm)得到更多曝光
WebAssembly(简称Wasm)是基于堆栈的虚拟机的二进制指令格式。Wasm被设计为可移植的目标,用于编译C,C ++和Rust等高级语言。Wasm还支持在Web上为客户端和服务器应用程序进行部署。PWA也可以使用Wasm。
WebAssembly有很多特点能与Rust结合,并服务于区块链网络高并发性的安全要求、以及开放式网络的要求。
高效快捷:WebAssembly旨在通过利用广泛平台上可用的通用硬件功能,以本机速度执行。
安全:WebAssembly描述了一种内存安全的沙盒执行环境,该环境甚至可以在现有JavaScript虚拟机内部实现。
开放且可调试:WebAssembly旨在以文本格式漂亮地打印,以便手工调试,测试,实验,优化,学习,教学和编写程序。
形成开放式网络平台的一部分
React将延续统治
到目前为止,React是最流行的前端开发JavaScript库,这也是有原因的。 构建React应用很有趣且容易。React团队和社区也贡献了构建程序的丰富经验。
Vue、Angular和React项目相比,如果库的目标是完成工作,那么应将精力集中在完成工作上,而不是集中在框架上。争论什么是最好的框架是完全没有用的。选择一个框架,然后将所有精力用于构建东西。
如果您觉得自己受到启发,请从此列表中选择一些内容,并立即构建!http://bit.ly/2D5AHGG
大而不倒:JavaScript
在2010s年代,尚且能说编程世界还是JavaScript(JS)奠定的天下。毕竟,几乎所有网站都是用JS编写的,JS的使用范围、以及可少可多的应用程度,JS开发者被称为”非真正的开发者”,因为JS已经深深地应用在Netflix、Facebook和Google等大牌科技公司之中。
图:2019-2020年JS新功能:http://bit.ly/3306P9m
如果不是为未来步入职场作准备,现在JS市场中的开发人员待遇正处于行业成熟的中期。 有大公司撑腰、就业需求依然充分。围绕着多个年龄层段的顶尖开发者们,JS生态正处于壮年时期。
与世界的差距
用一张图结尾:下图是StackOverflow平台在收集的全球编程开发者与学院学生所囊括的世界编程从业者与未来从业者的搜索热度图谱。
图:专业编程开发者以及高校学生的讨论热度
在编程世界里,当我们说某技术还是有点冷门的时候,可能确实也意味着我们在新领域已经落后于世界了。这可以解释为:个人的技术嗅觉没触及、公司没这个要求、大到宏观产业没有这类需求。
如果你很好奇在新一年的编程世界可能发现哪些有趣的事或变化,那你也算来对地方了。但我也可能表述有误----只能算是有根据地推测未来编程语言的趋势。没有人能预测未来,我们仅能做的是:
「预测未来的最好方法,就是创造它」
从黑客文化看区块链开源社区的自我组织与成功之道 区块链世界里不能信什么? 平均网络传输时间延长,每秒平均交易量下降;全球节点数量依旧高涨 | 数据周榜 网易患病员工被保安赶出公司,程序员该如何应对中年危机? 看完这篇还不了解Nginx,那我就哭了! 通俗易懂:8大步骤图解注意力机制 华为电脑终于又能搭载正版 Windows 系统了!