全国免费咨询:

13245491521

VR图标白色 VR图标黑色
X

中高端软件定制开发服务商

与我们取得联系

13245491521     13245491521

2019-11-04_“老而不死”的三种编程语言

您的位置:首页 >> 新闻 >> 行业资讯

“老而不死”的三种编程语言 作者 | Richard Gall 译者 | Sambodhi 编辑 | Tina AI 前线导读: 在软件世界中,铁打的二进制,流水的语言。从计算机诞生至今,不知诞生了多少门编程语言。译者查了一下 Wikipedia,好家伙,名单上足足有几百种!但并不是所有的语言都能长期占据 Top 10。今天我们来讨论长期霸榜的三种编程语言:Java、JavaScript 和 C,因为经常有人们说这三种语言已经死了,即使没死也是快要死了。然而事实究竟如何呢?实际上,这几门语言就像题图的胡杨一样,特别是 C 语言,简直就是编程语言界的胡杨:胡杨生而千年不死,死而千年不倒,倒而千年不腐…… 更多优质内容请关注微信公众号“AI 前线”(ID:ai-front) 最近,我仔细研究了当某种编程语言、工具或趋势被宣布“死亡”时,它到底意味着什么。我认为,从技术行业的不同方面来谈论死亡,似乎既是个人作为开发者的身份和价值观的信号,也是对特定事物现实的准确描述。 为了关注这些争论和对话在实践中是如何发挥作用的,我决定研究一下三种编程语言,每一种语言都被人们描述为已经死亡或即将死亡。我的发现可能并不会让你感到惊讶,但它仍然突出了这一点:即个人或社区对一种语言的不同意见反映了他们作为软件工程师的需求与挑战。 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 的联合编辑。对政治、技术文化以及软件和商业如何相互改变感兴趣。 原文链接: https://hub.packtpub.com/3-programming-languages-some-people-think-are-dead-but-definitely-arent 活动推荐 机器学习、NLP、知识图谱、搜索推荐等技术有哪些最新落地案例?我们邀请到了来自 AWS、微软、BAT、华为等 50+国内外一线 AI 技术专家,带来智能金融、电商、物流、AI 芯片等领域的干货分享,更有贾扬清、李沐、颜水成等大牛现场助阵,部分精彩议题抢先看: 【蚂蚁金服】金融知识图谱在蚂蚁的业务探索与平台实践 【菜鸟网络】人工智能在智慧交通物流的技术演进之路 【阿里妈妈】工业级深度学习在阿里广告的实践、创新与最新进展 【微软小冰】人格化对话机器人的构建及在语音场景当中的实践 【百度】AI 大生产时代下的 NLP 技术创新与应用实践 11 月 21-22,AICon 北京等你来!目前大会 9 折售票倒计时进行中,购票页面输入优惠码“aicon”还可享折扣价,抢票咨询:18514549229(同微信),点击“阅读原文”了解更多大会详情。 今日荐文点击下方图片即可阅读 跨专业自学NLP,这个90后撸出了开源类库HanLP,已在GitHub收获1.5W星 你也「在看」吗??? 阅读原文

上一篇:2020-12-03_全球云计算盛会亚马逊 re∶Invent 2020来了!这里有 AWS 技术大咖为你解读精彩演讲! 下一篇:2022-10-12_达摩院损失 AI“大将”,预训练大模型 M6 技术负责人杨红霞离职

TAG标签:

20
网站开发网络凭借多年的网站建设经验,坚持以“帮助中小企业实现网络营销化”为宗旨,累计为4000多家客户提供品质建站服务,得到了客户的一致好评。如果您有网站建设网站改版域名注册主机空间手机网站建设网站备案等方面的需求...
请立即点击咨询我们或拨打咨询热线:13245491521 13245491521 ,我们会详细为你一一解答你心中的疑难。
项目经理在线

相关阅读 更多>>

猜您喜欢更多>>

我们已经准备好了,你呢?
2022我们与您携手共赢,为您的企业营销保驾护航!

不达标就退款

高性价比建站

免费网站代备案

1对1原创设计服务

7×24小时售后支持

 

全国免费咨询:

13245491521

业务咨询:13245491521 / 13245491521

节假值班:13245491521()

联系地址:

Copyright © 2019-2025      ICP备案:沪ICP备19027192号-6 法律顾问:律师XXX支持

在线
客服

技术在线服务时间:9:00-20:00

在网站开发,您对接的直接是技术员,而非客服传话!

电话
咨询

13245491521
7*24小时客服热线

13245491521
项目经理手机

微信
咨询

加微信获取报价