写点什么

Ruby 到底怎么了?

  • 2023-06-07
    北京
  • 本文字数:3806 字

    阅读完需:约 12 分钟

Ruby 到底怎么了?

相关阅读:

不要学习“网红”编程语言

 

Ruby 和 Ruby on Rails 在早期就出现在 Web 开发领域了。然而,虽然现在 JavaScript 和 Python 都占据了主导地位,Ruby 还是仍然占有一席之地。

 

如果你已经在网络开发领域摸爬滚打了足够长的时间,你就会目睹许多语言和框架的兴起与衰落。Ruby 及其 Web 应用框架 Ruby on Rails 是最耀眼的明星。2008 年,Rails 推出仅仅三年后,该杂志就提出了这个框架是否会成为 Java 的继承者的问题,指出它将 Web 开发中的繁重工作挤出,并且与 Ruby 相关的初创公司看到了大量的风险资本投资。

 

15 年之后,认为 Ruby 会取代 Java 的想法看起来很荒谬。TIOBE 索引可以跟踪各种语言的查询,而 Ruby 在我最后一次查看的时候,排名是第 16 位。它位于 MatLab 和 Object Pascal 之间。(Java 位列第四,令人敬佩。)Filted 是一家提供虚拟环境的公司,求职者可以在虚拟环境的世界里,让未来的雇主看到他们的技能。这家公司甚至连 Ruby 都不在它的八大语言中。他们表示,雇主在 Ruby 上的测试时间仅为 0.5%。

 

但是,现在还不能将 Ruby 与 FORTRAN 或 ALGOL 一起放在博物馆里。我与 Ruby 的现任和前任程序员进行了访谈,以了解这门语言的兴起和衰落。他们与大家分享了他们对于 Ruby 是怎样和为何被排除在最流行语言之列的观点,以及为何他们觉得 Ruby 还有前途。

 

Ruby 最辉煌的时候

 

Ruby 最初之所以如此受欢迎,有很多原因,但是最重要的一点是,Ruby 可以让开发速度更快、更容易,尤其是前端应用。这一点没有改变。“Ruby on rails 依然是一个很好的方法,可以让一支小型团队拥有大型团队的影响力。”《编程 Ruby 3.2》(Programming Ruby 3.2)的合著者 Noel Rappin 说,“这依然是从零到真正的有价值的产品的最快捷的途径。”

 

“当涉及到为用户提供坚实的前端体验时,Ruby 一直是最好的语言,”BoutiqueSetup.net 的电子商务教练 Pulkit Bhardwaj 解释说,“它为最终用户提供了易用性,并提供了稳定、安全的体验。它还提供了一个实验的空间,因为 Interactive Ruby 能够逐行提供即时的表达结果。”

 

Ruby 一直以来都和一个强大的开源河区有着密切的关系。Kevin Trowbridge 是 Qwoted 的首席技术官,他认为,语言本身的性质与此有很大关系。“它是所有编程语言中最有文化的,”他说,意思是“它编写起来很简单,很容易读懂。这也是你拥有一个很强大的社区的原因,以及它的哲学,即它为产品、开发人员的生产力和幸福感而优化。”

 

但是,这些优势并没有对 Ruby 和 Ruby on Rails 产生什么实质性的影响。在此期间,其他的语言和架构也没有停滞不前。Matthew Boeh,2006 年就开始了 Ruby 的开发,他说,“Rails 是在 Web 转型和发展的关键时期诞生的。它既受益于这种增长,也推动了这种增长,但它不会是唯一的成功故事,这是一个预料之中必然发生的事情。”

 

Boeh 最近在 TypeScript 商店的 Lattice 担任高级软件工程师的工作。“你可以说 Ruby 是它自己成功的牺牲品,因为它的社区是近年来命令行复兴的重要推手,”他说,“在 21 世纪早期,它向那些从未听说过 Lisp 的人介绍了 REPL 驱动的开发,向那些会被 Perl 的 CPAN 吓跑的人介绍了包管理,向那些高度企业化的 Java 世界以外的人介绍了测试驱动的开发,诸如此类。这些都是当今桌上的筹码。但是它们都被 Ruby 爱好者普及和使用了。”

 

Ruby 的挑战者:JavaScript 和 Python

 

如果说现在有一种语言在 Ruby 曾经统治过的领域里占主导地位,那就是 JavaScript。只有当这种语言摆脱浏览器,接管世界其他地方时,这才成为现实。New Relic 的开发者关系部主任 Jemiah Sius 说:“随着 JavaScript 成长为全栈语言,工程师已经能够用一种语言甚至是共享代码库来构建前端、后端和移动项目。Ruby 很容易学习,而且有很高的安全标准,还有一个活跃的社区。但当有人想到全栈时,他们会想到 JavaScript——Node.js,React,或任何他们喜欢的框架。”

 

Qwoted 的 Trowbridge 指出,JavaScript 之所以能够承担起这一重任,因为这种语言已经从开发人员曾经鄙视的语言中得到了改进。事实上,随着时间的推移,它变得越来越像 Ruby 了。“浏览器供应商努力使其形式化、标准化、简化和增强,”他说,“它比以前的 JavaScript 好多了。”

 

“目前形式的 JavaScript 生态系统在 2004 年是不可想象的,这不仅需要命令行的复兴,也需要 Web 平台的腾飞。”Lattice 的 Boeh 补充道。“你知道吗,从 1999 年到 2009 年,发布一个新版本的 JavaScript 标准花了整整十年的时间?我们现在每年都有一个。Rails 在最后一个时期变得非常重要,在那个时期,即使不懂 JavaScript,也可以成为一个全栈开发人员。”

 

与此同时,Python 已经主导了当今最热门的发展领域之一,即人工智能和机器学习。Bhardwaj 说:“Python 在科学界很受欢迎,因为他们可以比以往更快地建立模型和算法的原型,所以它比 Ruby 领先好几年。另一方面,Ruby 被认为执行缓慢,并未受到开发者的重视。”New Relic 的 Sius 也同意这一观点,他说:“当有人想到一种通用语言,可以创造从游戏到虚拟现实,到人工智能,再到机器学习的一切时,每个人都知道 Python 是最大的赢家。”

 

Ruby 的衰落

 

有很多原因促使 JavaScript 和 Python 超越了 Ruby,它们超越了语言本身的品质。 “理论上 Python 和 Ruby 是相当的,”Qwoted 的 Trowbridge 说, “它们都是动态的、解释性的脚本语言,最适合在服务器上使用。它们不能非常有效地使用内存,因此运行起来很昂贵,但它们具有令人难以置信的灵活性,所以它们编写起来也相当快,对初学者也很友好。”

 

但是当涉及数据科学时,Python 就有很大的优势,因为像 TensorFlowKeras 这样的库现成可用。Bhardwaj 说:“这些框架使程序员很容易开发数据可视化和编写机器学习的程序。”

 

同时,JavaScript 已经催生了看似无穷无尽的库,开发人员可以轻松地下载并调整这些库,以满足几乎任何目的。Trowbridge 说:“作为一个技术专家,你可以按照你认为正确的方式进行你自己的英雄之旅,”。但是说到 JavaScript 时,“这些库都很出色。为什么要忽略所有这些呢?”

 

其中许多库是由社区成员开发的,这激发了其他人的贡献,这是参与开源的任何人都熟悉的雪球效应。但有一个大玩家在这里产生了巨大的影响。Python 的 TensorFlow 被 Bhardwaj 称为“游戏规则的改变者”,由谷歌发布,该公司紧随学术界的步伐,将 Python 作为自己的内部脚本语言。作为主流网页浏览器的制造商,谷歌显然也对提升 JavaScript 有兴趣。而且 Trowbridge 认为谷歌在使 JavaScript 比以前更快、更有内存效率方面功不可没。他说:“在某些方面,它感觉几乎像一种低级语言。同时,人们普遍认为 Ruby 在性能上是落后的,部分原因是它缺乏同样的企业赞助商,没有资源来改进它。”

 

而在一些 Ruby 曾经兴盛一时的领域,它并没有被另一种语言所取代;相反,情况已经发生了变化,所以这些领域已经无法辨认了。“我最初是为一家当地创意公司的客户制作营销网站和在线商店,我认为这也很容易错过网络开发世界的底层已经被自动化的程度,Lattice 的 Boeh 说。“在几年内,整个业务不再可行--没有人对这样的定制网站感兴趣,因为他们可以用 WordPress 或 Shopify 做得相当体面。”

 

为什么 Ruby 不会消失

 

尽管如此,Ruby 并没有消失---而电子商务巨头 Shopify 是最大的原因之一,因为 Ruby on rails 是它的主要开发平台。“Ruby 仍然是创建电子商务应用程序的最佳选择,因为它的动态功能和灵活性,”BoutiqueSetup.net 的 Bhardwaj 说,“你可以通过不同的模块构建你的应用程序,并在以后再修改它们。这使得更新应用程序以获得更多功能变得更容易。”

 

虽然 Shopify 显然没有像谷歌这样的规模,但它的目标仍然是作为 Ruby 的赞助人,就像谷歌为其喜爱的语言所做的那样。例如,Shopify 最近开发了 YJIT,这是一个即时编译器,可以提高 Ruby 的性能,并已被纳入 Ruby 标准。

 

Qwoted 的 Trowbridge 表示,Ruby 也在蓬勃发展“作为一种优秀的服务器端‘胶水’语言,它可以很好地用于 Web 应用程序的服务器组件,就像在 Rails 的‘仅 API’模式中一样。” 他指出,在某些方面,这种角色“使 Ruby 基本上回到了它的起点。”

 

总而言之,几乎所有与我交谈过的人都认为,Ruby 和 Ruby on Rails 将继续在许多环境中使用。Trowbridge 说:“有许多语言仍然被大量使用并具有相关性,而不像以前那样热闹了,我会把 Java 作为最主要的例子,并建议 Ruby 和 Java 将分享类似的发展轨迹。”

 

最后,从 Ruby 的社区中,你似乎找不到其他语言对 Ruby 的热情和热情,即使是那些在许多领域“击败”Ruby 的语言。例如,Lumenova AI 的首席技术官 Cosmin Andriescu 说,“ Rails 仍然有一个主要的优势,它拥有大量的 Ruby gem 库,相对于很多 JavaScript 框架来说,这些框架拥有不稳定的 API,在所有必要的 Web 开发工具中都不够成熟。”Boeh 更直截了当地将 Python 描述为“我见过的最讨厌使用它的人的语言”。

 

“我仍然在个人项目中使用 Ruby,并希望我能够再次专业地使用它,”Boeh 补充说,“现在 Ruby 世界有很多令人兴奋的发展,截至 6 个月前,还有很多的就业机会。Ruby 永远不会再成为下一个大的新事物,但我认为它将继续存在下去。”

 

作者简介:

 

Josh Fruhlinger,作家兼编辑,住在洛杉矶。

 

原文链接:

 

https://www.infoworld.com/article/3687219/whatever-happened-to-ruby.html

 

2023-06-07 13:4051263

评论

发布
暂无评论
发现更多内容

AI制作PPT工具有哪些?10款AI生成PPT软件盘点推荐!

彭宏豪95

职场 PPT PPT模板 办公软件 AIGC

一键打通红圈泛微,让协同办公更轻松!

聚道云软件连接器

案例分享

百度智能云专有云 ABC Stack 平台通过一云多芯认证,为用户构建全栈国产化云平台

Baidu AICLOUD

专有云 一云多芯

创新技术应用:视觉CV处理在UI自动化测试中的实际应用探索

测吧(北京)科技有限公司

测试

软件测试学习笔记丨性能测试工具JMeter — 安装和录制回放

测试人

软件测试 性能测试 自动化测试 测试开发

缓存有大key?你得知道的一些手段

京东零售技术

Java 缓存 后端

国内鞋服品牌如何打造出优衣库的“零库存”运营体系

第七在线

加速大模型落地:火山引擎向量数据库的实践应用

字节跳动云原生计算

大模型 向量数据库 混合搜索

CC攻击对网站的影响

德迅云安全杨德俊

龙蜥社区成立系统安全 SIG,助力系统安全生态

OpenAnolis小助手

开源 操作系统 系统安全 龙蜥社区 sig

提高测试覆盖率:基于深度学习的新视角分析方法

测吧(北京)科技有限公司

测试

从智慧PC到千行百业:在华为擎云 G540中找到新质生产力

脑极体

AI PC

从视觉识别到动作推荐:UI自动化测试的完整技术链条剖析

测吧(北京)科技有限公司

测试

软件测试学习笔记丨性能测试体系

测试人

软件测试

汽车制造业PMC组态应用最佳实践

图扑物联

常用的数据分析方法和工具有哪些?

悦数图数据库

图数据库

服务化UI页面结构树解析:优化UI自动化测试的实践探索

测吧(北京)科技有限公司

测试

UI自动化测试技术的突破与挑战

测吧(北京)科技有限公司

测试

可观测性十大场景 | 关于保险行业开门红期间应用性能的端到端全栈可观测

博睿数据

ETL与抖音数据同步,让数据流动无阻

RestCloud

数据同步 ETL 数据集成

一文读懂 Databend 的开放表格式引擎

Databend

利用技术提升UI自动化测试的准确性

测吧(北京)科技有限公司

测试

机器学习视觉处理技术:UI自动化测试的未来发展方向

测吧(北京)科技有限公司

测试

数据解读乡村发展!专家详解 2024 年(第 17 届)中国大学生计算机设计大赛大数据主题赛赛题

ModelWhale

大数据 数据分析 交叉学科 中国大学生计算机设计大赛 新文科

合伙/雇佣/灵活用工,供需双方该如何选择呢?

凌晞

灵活用工 人力资源规划

科技向善,真的吗?

算法的秘密

架构实战营-模块一作业

满心

架构实战营

淘系API接口推荐:淘宝商品描述信息数据接口

tbapi

淘宝API接口 淘宝商品描述接口

Ruby 到底怎么了?_语言 & 开发_Josh Fruhlinger_InfoQ精选文章