“老而不死”的三种编程语言

发表于 4年以前  · 总阅读量:1340 次

在软件世界中,铁打的二进制,流水的语言。从计算机诞生至今,不知诞生了多少门编程语言。译者查了一下 Wikipedia ,好家伙,名单上足足有几百种!但并不是所有的语言都能长期占据 Top 10。今天我们来讨论长期霸榜的三种编程语言:Java、JavaScript 和 C,因为经常有人们说这三种语言已经死了,即使没死也是快要死了。然而事实究竟如何呢?实际上,这几门语言就像题图的胡杨一样,特别是 C 语言,简直就是编程语言界的胡杨:胡杨生而千年不死,死而千年不倒,倒而千年不腐……

最近,我仔细研究了当某种编程语言、工具或趋势被宣布“死亡”时,它到底意味着什么。我认为,从技术行业的不同方面来谈论死亡,似乎既是个人作为开发者的身份和价值观的信号,也是对特定事物现实的准确描述。

为了关注这些争论和对话在实践中是如何发挥作用的,我决定研究一下三种编程语言,每一种语言都被人们描述为已经死亡或即将死亡。我的发现可能并不会让你感到惊讶,但它仍然突出了这一点:即个人或社区对一种语言的不同意见反映了他们作为软件工程师的需求与挑战。

Java 死了吗?

就生存、繁荣或死亡而言,最大的争论之一就是 Java 。之所以如此,原因有很多。最大的一个简单事实就是它被广泛使用。由于有如此多的开发人员出于各种各样的原因使用这种语言,因此在开发者社区发现如此多样化的意见,也就不足为奇了。

另一个原因就是,Java 作为一种编程语言,已经非常成熟。无论它是在衰退还是在消亡,都仍然是一个备受争议的话题,但肯定不能说它正以任何显著的速度出现或增长。

Java 现在是行业主流的一部分。你可能会认为,它有望能支撑下去。但是,当你考虑到这是一个不仅仅包含变革和创新的行业,而是一个依赖于其价值的行业时,你就会开始发现 Java 占据有点奇怪的空间已经有一段时间了。

为什么人们认为 Java 已经死了?

这几年来,Java 一直正在衰落。如果你去看一下 TIOBE 指数,就会发现,在这十年的中后期,它已经下降了几个百分点。例如,从 2016 年 5 月到 2017 年 5 月,该语言下降了 6%——这表明它正在被其他编程语言所取代。

Java 衰落的另一个原因是 Kotlin 的崛起。尽管长期以来,Java 一直是 Android 开发的定义语言,但近年来,随着 Kotlin 被更广泛地采用,它的地位受到了冲击。正如 Medium 的 2018 年的这篇博文所指出的那样:用 Java 开始一个新的 Android 项目并不一定是个好主意。

Java 的威胁,不仅来自 Kotlin,也来自 Scala。Scala 是另一种基于 JVM(Java 虚拟机)的编程语言。它既支持面向对象编程,也支持函数式编程,与 Java 相比,它具有许多性能优势,并且被广泛用于从机器学习到应用程序开发的各种用例中。

Java 没有死掉的原因

尽管 TIOBE 指数显示,Java 是一门正在衰落的语言,但它仍然稳居榜首。从 2016 年到 2017 年间,这个数字可能会大幅下降,但最近下降速度有所放缓:在 2018 年 10 月到 2019 年 10 月之间,它只下降了 0.92%。

从这个角度来看,那些认为 Java “已死”或“快死了”的观点,实在很奇怪。从事实上来说,Java 是地球上使用最广泛的编程语言。当你考虑到所有其他一切因素时,庞大的社区意味着更多的支持,一个由框架、库和其他工具组成的广泛生态系统(注意,Spring Boot 的增长是对微服务革命的回应)。所以,尽管 Java 的年龄看起来像是反对它的一个标志,但这也是为什么它仍然有很多生命力的原因。

在更基本的层面上,Java 是无处不在的,它被广泛应用于各种应用程序中。只要 Java 开发的应用程序还在使用,那么,我们就可以说,Java 仍然是有生命力的。这也意味着,Java 开发人员的需求还会持续很长一段时间。

结论:Java 究竟是死的还是活的?

Java 是非常活跃的,而且活得很好。但也有一点需要注意的是,归根结底,它并不是一种能够帮助你以创造性或创新的方式来解决问题的语言。它可以让你构建事物并启动项目,但它可以说是一个坚实的基础,你需要在这个基础上积累更多的专业知识,才能成为一名真正成功的工程师。

JavaScript 死了吗?

尽管 Java 可能是世界上使用最广泛的编程语言,但 JavaScript 是另一种无处不在的语言,它引发了各种各样的观点和争论。

其中原因之一是,有些人非常讨厌 JavaScript。人们对 Java 的一致看法是,它很好;但对 JavaScript 来说,情况就不是那么稳定了。

这很大程度上是因为 JavaScript 的发展。在很长一段时间里,它在 Web 开发领域一直处于 PHP 之后的位置,因为它是如此的不稳定,于是开发人员对它的态度有些轻蔑,好像它不是一种“真正的语言”一样。

不过,随着时间的推移,这种情况发生了变化,这在很大程度上要归功于 HTML5 和改进的 ES6 标准,但仍然有许多怪癖是开发人员所不喜欢的。特别是,如果你已习惯 Java 或 C 的话,那么 JavaScript 就不是什么好对付的东西。与那些语言不同,JavaScript 是一种解释性的编程语言,而不是编译的编程语言。

那么,为什么人们会认为 JavaScript 已经死了呢?

为什么人们认为 JavaScript 已经死了?

人们为什么会认为 JavaScript 已经死了,这里面有很多原因。一方面,模板、开箱即用的 CMS 和电子商务解决方案的兴起,意味着使用 JavaScript 进行“传统”的 Web 开发将变得不那么重要。从本质上讲,这种想法认为,进入的门槛更低,这意味着使用 JavaScript 进行 Web 开发的人将会更少。

另一方面,人们将 WebAssembly 的出现视为敲响了 JavaScript 的丧钟。WebAssembly(简称 Wasm)是“基于堆栈的虚拟机的二进制指令格式”(来自该项目的网站),这意味着代码可以被编译成可由浏览器读取的二进制格式。这意味着你可以将高级语言(如 Rust 等)带到浏览器中。那么,在某种程度上,你可能会认为 WebAssembly 将导致语言的发展,而这些语言在目前看来是非常小众的。

JavaScript 没有死掉的原因

首先,让我们反驳上面的观点:首先,开箱即用的解决方案永远也不会取代 Web 开发人员。有人需要构建这些产品,即使组织选择使用它们,JavaScript 仍然是定制和重塑专用解决方案的语言,它非常有价值。

虽然开始一个 Web 项目并运行的门槛可能越来越低,但它肯定不会扼杀 JavaScript。你甚至可能会争辩道,随着人们开始学习网络的一些基本元素,网络资源也在不断增长。

关于 WebAssembly 的问题是:这对 JavaScript 来说,是一个稍微严重的威胁,但重要的是要记住,WebAssembly 从来就不是为了简单地模仿现有的 JavaScript 用例而设计的。正如这篇有用的文章所解释的那样:

“……它们解决了两个不同的问题:JavaScript 为 Web 和 DOM 添加了基本的交互性;而 WebAssembly 增加的是在 Web 上拥有健壮的图形引擎的能力。WebAssembly 并不能解决与 JavaScript 所面临的相同问题,因为它不了解 DOM。除非解决这一问题,否则它不可能取代 JavaScript。”

WebAssembly 甚至可以重新唤起人们对 JavaScript 的信心。通过解决许多开发人员抱怨的一些问题,这意味着,这门语言可以用于更适合用它来解决的问题。

但除此之外,还要有很多其他的原因,使得 JavaScript 离“死亡”还早。React 越来越受欢迎,Node.js 也是如此,尤其是 Node.js 影响很大,因为它将 JavaScript 的功能从浏览器扩展到了服务器。

结论:JavaScript 究竟是死的还是活的?无论人们多么讨厌 JavaScript,它仍然非常活跃,活得好好的。虽然有如此广泛的工具生态系统,它的使用方式可能也会改变,但这种语言将会留下来,并且有着光明的未来。

C 死了吗?

C 是最古老的编程语言之一(它即将迎来 50 岁生日)。C 是这样一种语言,帮助我们构建了今天所知的软件世界的基础,包括几乎所有的操作系统。但是,尽管它是技术版图的基本组成部分,但仍然有人抱怨说,C 已经不能胜任这项工作了……

为什么人们认为 C 已经死了?

如果你想了解关于人们对 C 的不同意见,你可能比 TechCrunch 上的这篇文章做得更糟。工程师 Jon Evans 解释道,“C 已经不再适合 C 所构建的这个世界了。”

“C 已经变成一个怪物。它为用户提供了太多的火炮,结果是他们搬起石头砸自己的脚。丰富的经验告诉我们,要编写大量没有安全漏洞的 C 代码是非常困难的,几乎是不可能的。”

安全方面的担忧也反映在其他地方,一位作者认为,“没有人在创造新的不安全语言。不能说这是因为 C 和 C++ 是完美的,这不合理;即使是最坚定的拥趸也知道,它们也有很多缺点。人们之所以不去创造新的不安全语言,是因为没有这方面的需求。未来是安全的语言。”

而 Rust 的兴起增加了这些担忧:有些人认为,对于更现代、更安全和更易用的底层系统编程来说,Rust 可能是 C 和 C++ 的替代品。

C 没有死掉的原因

也许,C 之所以没有死掉的最明显的原因是,它对我们今天所用的如此之多的软件来说,都是不可或缺的。我们谈论的不仅仅是标准的遗留系统;C 语言在操作系统内部,允许我们与软件和机器进行交互。

经常有人反对 C 语言的一个常见理由是,Web 正在接管一切,就好像软件总体上正在提升抽象级别,这使得机器级别的语言几乎是多余的一样。除了那种愚蠢的说法(即网络是建立在什么基础之上)之外,随着物联网和嵌入式计算的快速发展,这只会让 C 语言变得更加重要。

让我们再看看 TIOBE 指数:C 排在第二位,与 2018 年 10 月的位置相同。就像 Java 一样,尽管谣言满天飞,它还是保持着自己的地位。此外,与 Java 不同的是,C 语言的评级实际上在过去一年中有所上升。可以肯定是,这一数字并不大,只有 0.82%,但它可靠的表现表明,它离死亡还很远。

结论:C 究竟是死的还是活的?

C 活得很滋润呢。当然,它已经很老了,但它隐藏在我们现有软件的基础设施中实在太多了,以至于人们不能简单地将其丢弃。

这并不是说 C 语言没有缺陷。从安全性和可访问性的角度来看,我们可能会看到像 Rust 这样的语言逐渐流行开来,以应对 C 语言带来的一些挑战。

但同样需要考虑的一点是,对于那些希望深入了解编程的人来说,C 语言到底有多重要。即使它不一定具有广泛的用例,但它可以让开发人员和工程师深入了解代码在软件栈的不同级别上是如何工作的,这意味着 C 语言将永远是一种需要关注的语言。

结论:在作出判断之前,听取人们对编程语言的多种观点   从所有这些得出的明显结论是,人们不应该再如此固执己见。但我并不认为这样是正确的做法:人们应该继续坚持己见,保持争论。

势利和排斥是没有立足之地的,但任何人如果对某物的价值有看法的话,他当然有表达出来的自由。它可以帮助其他人以一种不可能通过文档或更典型的学习内容的方式来理解语言。重要的是,我们要以批判的眼光来看待观点:这个人想表达的是什么?他们的背景是什么?他们想干什么?

毕竟,有些事情远比争论什么东西是死还是活重要得多:构建伟大的软件,我们可以为成为其中一员而自豪。

作者介绍:Richard Gall,Packt Hub 的联合编辑。对政治、技术文化以及软件和商业如何相互改变感兴趣。

 相关推荐

刘强东夫妇:“移民美国”传言被驳斥

京东创始人刘强东和其妻子章泽天最近成为了互联网舆论关注的焦点。有关他们“移民美国”和在美国购买豪宅的传言在互联网上广泛传播。然而,京东官方通过微博发言人发布的消息澄清了这些传言,称这些言论纯属虚假信息和蓄意捏造。

发布于:7月以前  |  808次阅读  |  详细内容 »

博主曝三大运营商,将集体采购百万台华为Mate60系列

日前,据博主“@超能数码君老周”爆料,国内三大运营商中国移动、中国电信和中国联通预计将集体采购百万台规模的华为Mate60系列手机。

发布于:7月以前  |  770次阅读  |  详细内容 »

ASML CEO警告:出口管制不是可行做法,不要“逼迫中国大陆创新”

据报道,荷兰半导体设备公司ASML正看到美国对华遏制政策的负面影响。阿斯麦(ASML)CEO彼得·温宁克在一档电视节目中分享了他对中国大陆问题以及该公司面临的出口管制和保护主义的看法。彼得曾在多个场合表达了他对出口管制以及中荷经济关系的担忧。

发布于:7月以前  |  756次阅读  |  详细内容 »

抖音中长视频App青桃更名抖音精选,字节再发力对抗B站

今年早些时候,抖音悄然上线了一款名为“青桃”的 App,Slogan 为“看见你的热爱”,根据应用介绍可知,“青桃”是一个属于年轻人的兴趣知识视频平台,由抖音官方出品的中长视频关联版本,整体风格有些类似B站。

发布于:7月以前  |  648次阅读  |  详细内容 »

威马CDO:中国每百户家庭仅17户有车

日前,威马汽车首席数据官梅松林转发了一份“世界各国地区拥车率排行榜”,同时,他发文表示:中国汽车普及率低于非洲国家尼日利亚,每百户家庭仅17户有车。意大利世界排名第一,每十户中九户有车。

发布于:7月以前  |  589次阅读  |  详细内容 »

研究发现维生素 C 等抗氧化剂会刺激癌症生长和转移

近日,一项新的研究发现,维生素 C 和 E 等抗氧化剂会激活一种机制,刺激癌症肿瘤中新血管的生长,帮助它们生长和扩散。

发布于:7月以前  |  449次阅读  |  详细内容 »

苹果据称正引入3D打印技术,用以生产智能手表的钢质底盘

据媒体援引消息人士报道,苹果公司正在测试使用3D打印技术来生产其智能手表的钢质底盘。消息传出后,3D系统一度大涨超10%,不过截至周三收盘,该股涨幅回落至2%以内。

发布于:7月以前  |  446次阅读  |  详细内容 »

千万级抖音网红秀才账号被封禁

9月2日,坐拥千万粉丝的网红主播“秀才”账号被封禁,在社交媒体平台上引发热议。平台相关负责人表示,“秀才”账号违反平台相关规定,已封禁。据知情人士透露,秀才近期被举报存在违法行为,这可能是他被封禁的部分原因。据悉,“秀才”年龄39岁,是安徽省亳州市蒙城县人,抖音网红,粉丝数量超1200万。他曾被称为“中老年...

发布于:7月以前  |  445次阅读  |  详细内容 »

亚马逊股东起诉公司和贝索斯,称其在购买卫星发射服务时忽视了 SpaceX

9月3日消息,亚马逊的一些股东,包括持有该公司股票的一家养老基金,日前对亚马逊、其创始人贝索斯和其董事会提起诉讼,指控他们在为 Project Kuiper 卫星星座项目购买发射服务时“违反了信义义务”。

发布于:7月以前  |  444次阅读  |  详细内容 »

苹果上线AppsbyApple网站,以推广自家应用程序

据消息,为推广自家应用,苹果现推出了一个名为“Apps by Apple”的网站,展示了苹果为旗下产品(如 iPhone、iPad、Apple Watch、Mac 和 Apple TV)开发的各种应用程序。

发布于:7月以前  |  442次阅读  |  详细内容 »

特斯拉美国降价引发投资者不满:“这是短期麻醉剂”

特斯拉本周在美国大幅下调Model S和X售价,引发了该公司一些最坚定支持者的不满。知名特斯拉多头、未来基金(Future Fund)管理合伙人加里·布莱克发帖称,降价是一种“短期麻醉剂”,会让潜在客户等待进一步降价。

发布于:7月以前  |  441次阅读  |  详细内容 »

光刻机巨头阿斯麦:拿到许可,继续对华出口

据外媒9月2日报道,荷兰半导体设备制造商阿斯麦称,尽管荷兰政府颁布的半导体设备出口管制新规9月正式生效,但该公司已获得在2023年底以前向中国运送受限制芯片制造机器的许可。

发布于:7月以前  |  437次阅读  |  详细内容 »

马斯克与库克首次隔空合作:为苹果提供卫星服务

近日,根据美国证券交易委员会的文件显示,苹果卫星服务提供商 Globalstar 近期向马斯克旗下的 SpaceX 支付 6400 万美元(约 4.65 亿元人民币)。用于在 2023-2025 年期间,发射卫星,进一步扩展苹果 iPhone 系列的 SOS 卫星服务。

发布于:7月以前  |  430次阅读  |  详细内容 »

𝕏(推特)调整隐私政策,可拿用户发布的信息训练 AI 模型

据报道,马斯克旗下社交平台𝕏(推特)日前调整了隐私政策,允许 𝕏 使用用户发布的信息来训练其人工智能(AI)模型。新的隐私政策将于 9 月 29 日生效。新政策规定,𝕏可能会使用所收集到的平台信息和公开可用的信息,来帮助训练 𝕏 的机器学习或人工智能模型。

发布于:7月以前  |  428次阅读  |  详细内容 »

荣耀CEO谈华为手机回归:替老同事们高兴,对行业也是好事

9月2日,荣耀CEO赵明在采访中谈及华为手机回归时表示,替老同事们高兴,觉得手机行业,由于华为的回归,让竞争充满了更多的可能性和更多的魅力,对行业来说也是件好事。

发布于:7月以前  |  423次阅读  |  详细内容 »

AI操控无人机能力超越人类冠军

《自然》30日发表的一篇论文报道了一个名为Swift的人工智能(AI)系统,该系统驾驶无人机的能力可在真实世界中一对一冠军赛里战胜人类对手。

发布于:7月以前  |  423次阅读  |  详细内容 »

AI生成的蘑菇科普书存在可致命错误

近日,非营利组织纽约真菌学会(NYMS)发出警告,表示亚马逊为代表的电商平台上,充斥着各种AI生成的蘑菇觅食科普书籍,其中存在诸多错误。

发布于:7月以前  |  420次阅读  |  详细内容 »

社交媒体平台𝕏计划收集用户生物识别数据与工作教育经历

社交媒体平台𝕏(原推特)新隐私政策提到:“在您同意的情况下,我们可能出于安全、安保和身份识别目的收集和使用您的生物识别信息。”

发布于:7月以前  |  411次阅读  |  详细内容 »

国产扫地机器人热销欧洲,国产割草机器人抢占欧洲草坪

2023年德国柏林消费电子展上,各大企业都带来了最新的理念和产品,而高端化、本土化的中国产品正在不断吸引欧洲等国际市场的目光。

发布于:7月以前  |  406次阅读  |  详细内容 »

罗永浩吐槽iPhone15和14不会有区别,除了序列号变了

罗永浩日前在直播中吐槽苹果即将推出的 iPhone 新品,具体内容为:“以我对我‘子公司’的了解,我认为 iPhone 15 跟 iPhone 14 不会有什么区别的,除了序(列)号变了,这个‘不要脸’的东西,这个‘臭厨子’。

发布于:7月以前  |  398次阅读  |  详细内容 »
 最多阅读