对话程序员:各编程语言十年来的发展史

简介: 对话程序员:各编程语言十年来的发展史

过去十年,编程语言发生了很大的变化,随着互联网大时代的迈进,将来还会发生更多的变化。在最新发布的IEEE年度榜单中,Python仍占据首位。

我们都非常喜欢自己的设备。手机上的相机能够帮助我们记录人生中最宝贵的时刻,而互联网及其众多通信工具能够让我们与远方的朋友和家人保持联系。通常我们都不会想起为我们带来互联网的正是各种编程语言,但是我们也不能忽视最近某些编程语言的流行发生了变化。我们可以从这些变化中了解数字世界的发展方向,同时也可以回顾一下这段发展史。

排名第一:Python

上个月,IEEE综览(IEEE Spectrum)发布了各大编程语言的年度排名,许多人惊讶地发现Python保住了头把交椅的宝座。Python这种基于脚本的编程语言,一直在IEEE综览的排名中居首位。然而,这并不奇怪。IEEE对各大编程语言的评分进行了加权处理。去年,Python的得分为100、C++的得分为99.7、Java的得分为97.5、而C的得分为96.7。然而,今年编程语言的格局发生了变化。虽然Python仍以100分高居榜首,但Java成了第二名,得分却只有96.3——大幅下降。第三位的C为94.4,C++以87.5的得分滑落到第四位,而统计编程语言R以81.5的得分排在第五位。排名6-10的编程语言依次为JavaScript、C#、MATLAB、Swift和Google Go。

请注意,IEEE综览的排名包括支持电子和电气工程硬件以及软件应用程序的所有编程语言。IEEE根据8个数据来源,通过11个度量标准生成了该排名列表,其中的数据来源包括IEEE、Reddit、Stack Overflow、推特、Google、GitHub、CareerBuilder、Hacker News和GitHub。

IEEE是世界上最大的工程和应用科学组织,但其不是对编程语言进行排名的唯一组织。TIOBE也发布了软件编程语言的年度排名。TIOBE没有考虑硬件,在其排名中Java高居榜首,其次分别是C、Python、C++、C#、Visual Basic .NET、JavaScript、SQL、PHP和Objective-C。

_
对话程序员:各编程语言十年来的发展史
十年前的排名

2010年,在TIOBE的编程语言指数中,居于榜首的十大编程语言分别为:Java、C、C++、PHP、Visual Basic、C#、Python、Objective-C、Perl和Ruby。

2014年,在IEEE的首次排名中还出现了C#、PHP和Ruby。

发生了哪些变化?

有些编程语言(例如Ruby和Ruby on Rails),由于运行时的速度和启动速度不够快,无法支持全面的商业产品。而有些语言(比如PHP),由于安全性的问题导致Facebook等公司放弃了使用。

Python、Java、JavaScript和C属于通用语言,所以它们都得到了广泛的使用。尤其是Python,它有许多专门的库支持机器学习、深度学习(Theano)、人工智能以及微控制器和小型计算机(比如Adafruit、Arduino和Raspberry Pi)。此外,它还拥有方便Python代码与其他产品和库结合使用的库,例如Google的Tensor Flow和微软的Cognitive Toolkit。Python的用途非常广泛,且易于学习,同时还提供了当今大数据世界所需的安全性。

其他因素:移动设备,可穿戴设备

除此之外,影响编程语言流行度的还有其他一些因素。语言本身固有的安全性是一个因素,还有一个因素是移动设备的普及。2018年,70%的美国人拥有智能手机,50%拥有平板电脑。对于这些移动用户来说,他们90%的上网时间在使用应用,而非互联网。

在考虑编程语言的流行度时,这是一个非常重要因素,因为某些语言更适合于移动应用程序的开发以及与平板电脑和智能手机等便携式设备的结合使用,因此,还有一个因素不可忽略:硬件。

为我们日常生活带来便利性的可穿戴设备及其他设备越来越受欢迎,包括睡眠与活动监视器、智能手表以及矫正姿势的可穿戴设备等。随着可穿戴设备的普及以及桌面软件的减少,能够满足这种需求的编程语言的流行度势必会增加。

过去十年发生了很大变化,随着我们朝着互联网大时代的迈进,将来还会发生更多的变化。目前,用途最广泛以及最安全的编程语言将获得最大的普及,但是随着电子工程学的不断发展,谁又能预料编程的未来呢?

相关文章
|
3月前
|
Rust 安全 Go
揭秘Rust语言:为何它能让你在编程江湖中,既安全驰骋又高效超车,颠覆你的编程世界观!
【8月更文挑战第31天】Rust 是一门新兴的系统级编程语言,以其卓越的安全性、高性能和强大的并发能力著称。它通过独特的所有权和借用检查机制解决了内存安全问题,使开发者既能享受 C/C++ 的性能,又能避免常见的内存错误。Rust 支持零成本抽象,确保高级抽象不牺牲性能,同时提供模块化和并发编程支持,适用于系统应用、嵌入式设备及网络服务等多种场景。从简单的 “Hello World” 程序到复杂的系统开发,Rust 正逐渐成为现代软件开发的热门选择。
66 1
|
3月前
|
SQL 存储 大数据
SQL 语言发展史简直太震撼啦!从诞生到现代数据处理,见证一场奇妙的演变之旅,快来感受!
【8月更文挑战第31天】SQL(结构化查询语言)自20世纪70年代由IBM研究员E.F. Codd提出以来,已成为现代数据处理不可或缺的一部分。它最初简化了层次和网状模型中复杂的存储与检索问题,通过基本的SELECT、FROM和WHERE关键字实现了数据查询。80年代,SQL在商业数据库中广泛应用,引入了GROUP BY、HAVING和ORDER BY等功能,增强了数据分析能力。90年代,互联网和企业信息化推动了SQL的进一步优化与扩展,支持分布式数据库和数据仓库等技术。
48 0
|
6月前
|
C++ 算法 Rust
从C++看编程语言发展脉络
【5月更文挑战第1天】自1979年以来C++历经40年发展,以其复杂语法影响了Go、Rust和Zig等语言。 回顾C++11,引入了范围for循环、Lambda表达式、自动类型推导、统一初始化、删除和默认函数、nullptr、委托构造器、右值引用、新标准库如线程支持及算法等。C++持续演进,保持其在编程语言中的影响力。
112 0
从C++看编程语言发展脉络
|
5月前
|
人工智能 开发框架 算法
AI程序员革命:探析Devin的登场与编程未来
AI程序员革命:探析Devin的登场与编程未来
180 0
|
6月前
|
自然语言处理 安全 区块链
Chatchat:为语言链而生的新时代
Chatchat:为语言链而生的新时代
230 9
|
6月前
|
人工智能 算法 程序员
AI程序员与人类程序员如何进行有效的合作
AI程序员与人类程序员的协作是软件开发的关键。双方通过知识共享、任务分配、代码审查和创新合作,提升效率和质量。有效沟通、尊重彼此优势、清晰分工、持续学习以及解决冲突是合作成功的关键。这种合作不仅利用AI的自动化能力,也发挥人类的创造力,共同推动行业进步。
|
6月前
|
前端开发 JavaScript Java
揭秘各种编程语言在不同领域中的精彩表现
揭秘各种编程语言在不同领域中的精彩表现
|
机器学习/深度学习 人工智能 自然语言处理
不要叫我程序员,我是「AI工程师」,马斯克:开始卷自然语言编程
不要叫我程序员,我是「AI工程师」,马斯克:开始卷自然语言编程
161 0
|
JavaScript 前端开发 Java
十大热门语言(程序员必备之路)
十大热门语言,这里面有没有你学过的编程语言呢,现在的技术是入门、精通、还是资深呢?快来看看吧!
140 0
|
存储 Unix 程序员
挑战 50 年霸主 C 语言:新语言 Hare,“异端”中的保守派
Hare 原意为野兔,它的开发者希望这种编程语言能够如野兔般拥有顽强的生命力。
415 0
挑战 50 年霸主 C 语言:新语言 Hare,“异端”中的保守派