AIGC在金融场景是如何落地的? 了解详情
写点什么

为什么我不会在新公司中使用 Rails

  • 2015-09-28
  • 本文字数:1659 字

    阅读完需:约 5 分钟

从流量来说,在线文档上传及分享社区 Scribd 是世界第三大 Rails 站点。Jared Friedman 是该公司的联合创始人兼首席执行官。他从 2006 年就开始使用 Rails,Scribd 第一个版本是用 Rails 0.7 编写的。现如今,Rails 已经成为美国硅谷创业公司默认的 Web 应用程序开发框架。但 Friedman 认为这是个错误,并在近日撰文阐述了这一观点。

Friedman 列出了以下几个方面的原因:

  • Rails 巅峰期已过——Friedman 认为,现在在一家新公司中使用 Rails 就像 2007 年在一家新公司中使用 Java Spring,其依据是谷歌趋势中 Web 框架的搜索量变化,如下图所示:

  • Rails 有个大难题:Ruby——基准测试显示,截至目前,Ruby 是主流编程语言中最慢的。语言设计是一个原因,但更深层次的原因是 Ruby 没有一个大型的企业赞助商。在 2007 年,Python、PHP 及 JavaScript 也都是相当慢的脚本语言。Facebook 对 PHP 进行了巨大的投资,构建了 HipHop 转译器,提升了 PHP 的运行速度。谷歌则构建了一个快速的 JavaScript JIT 编译器,无意间促成了服务器端 JavaScript 应用的暴增。相比之下,Ruby 解释器仅仅是志愿者的工作成果。在 2007 年到 2012 年之间,有多个项目试图提升 Ruby 的运行速度,如 Rubinius JRuby YARV ,但只有 JRuby 仍然在积极开发,而且最新的版本让人看到了希望,只是仍然有很长的路要走。此外,Twitter 是第一家基于 Rails 成长起来的大型科技公司,它曾试图优化 Ruby 解释器,但 Twitter 工程师最终还是决定使用一种速度更快的语言重写 Twitter,因为那比让 Ruby 更快来的简单。

  • Rails 开发停滞,其它框架已经赶了上来——Rails 3 于 2010 年 8 月发布,但 GitHub 四年之后才升级到这个版本,因为该版本的新特性没有足够的吸引力。Scribd 在升级到 Rails 3 的过程中也遇到了很大的麻烦,导致他们现在都不确定是否还会升级到 Rails 4。与此形成鲜明对比的是 JavaScript 的快速发展。Scribd 经历了从 Prototype 到 jQuery 到 Coffeescript 到 Angular 再到 React 的转换,每一次转换都能带来生产效率的提升。

  • “新兵训练营(BootCamps)”——过去两年出现了许多编程新兵训练营。当讲授服务器端开发时,他们绝大多数都会讲授 Rails,而不是其它语言。这导致优秀的开发人员,尤其是那些具有计算机科学学位的开发人员看轻那些训练营项目。Friedman 注意到一种趋势,就是有经验的开发人员不想使用 Rails。

  • 有许多新框架成为 Rails 的有力竞争者——Friedman 得出这一结论的一个依据是 Coding VC AngelList 上广受欢迎的公司所使用的服务器语言的统计分析,如下图所示:

另一个依据是 indeed.com 上的就业趋势统计,如下图所示:

Charles Nutter 是 JRuby 的核心开发人员。他评论说:

我讨厌类似这样的文章,用传闻和猜测混淆视听。

因此,他几乎是逐条反驳了 Friedman 的观点,而且言辞颇为激烈。他认为,谷歌趋势并没有给出总数,只能体现一种相对增长,而实际上,Rails 比 Node.js 流行。关于性能,Nutter 指出,在处理相对稳定的 Rails 请求时,JRuby 的性能比 CRuby 更好。对于“Rails 开发停滞”的观点,Nutter 认为十分荒谬,因为熟悉内情的人都知道,Rails 是发展最快的框架之一。

网友 AnneOminous 在声援 Nutter 的同时指出,Friedman 提到的关于 Twitter 的信息是错误的。Twitter 的其中一名创建者之所以使用 Scala 重写 Twitter 引擎的某些部分,是因为他不擅长 Ruby,未能正确使用。后来的分析也证明,他使用 Scala 所做的工作并不比使用 Ruby 快多少。对于 Friedman 有关 GitHub 的说法,也有网友指出,GitHub 之所以在 Rails 3 发布那么久之后才升级到 Rails 3,是因为他们自己派生了 Rails,使用了许多内部补丁。

总之,对于 Friedman 的观点,反对者居多,但也有少数网友持赞同观点。感兴趣的读者,可以进一步阅读原文评论。


感谢魏星对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群)。

2015-09-28 19:004065
用户头像

发布了 1008 篇内容, 共 362.8 次阅读, 收获喜欢 335 次。

关注

评论

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

深入浅出!带你重学Java—ArrayList,mongodb的存储原理

Java 程序员 后端

牛P牛P!Github上堪称2021最全、最新Java面试题库到底有多香

Java 程序员 后端

一文了解「区块链桥」:区块链桥的工作方式及四种类型

CECBC

猴子都能懂的数据库避坑指南,还说你不会?,闭关在家37天“吃透”这份345页PDF

Java 程序员 后端

涨姿势,Java中New一个对象是个怎么样的过程?,linux操作系统实用教程教师用书

Java 程序员 后端

深入浅出!全面剖析Java反射-Reflection,java项目开发实战入门电子书百度云

Java 程序员 后端

深入理解Java虚拟机之类加载机制篇,秋招java后端面试

Java 程序员 后端

源码解析 HashMap 的线程安全问题,mysql索引左前缀原理

Java 程序员 后端

独家!就是看透这份“347页并发编程笔记,java开发实战经典第二版pdf下载

Java 程序员 后端

消息队列面试题及答案,大V推荐

Java 程序员 后端

深入P8级别JAVA底层知识:你知道阿里P8需要掌握哪些技术吗?

Java 程序员 后端

深入理解Java内存模型,小白也能看得懂!,限时发布

Java 程序员 后端

牛皮了!一篇文章直接解决关于TCP的23种疑难问题!,springboot源码深度解析视频

Java 程序员 后端

032云原生之AIOps运维

穿过生命散发芬芳

云原生 10月月更

独家!Java开发专家P7岗必备的MySQL高级笔记及面试宝典,面试横竖绕不开MySQL

Java 程序员 后端

牛批!阿里的Springboot笔记,果然值得我每天熬夜啃,全栈系统化的学习路线

Java 程序员 后端

淘系,60W年薪大牛!新肝出一份,细说JVM内存模型

Java 程序员 后端

深入解析java虚拟机:垃圾回收,最大并发标记清除垃圾回收器

Java 程序员 后端

爆赞!腾讯T4大牛发布Java基础核心宝典,简直就是及时雨

Java 程序员 后端

消息疯狂堆积!RocketMQ出Bug了?,rabbitmq分布式事务原理

Java 程序员 后端

深入理解静态代理与JDK动态代理,java编程技术基础周绍斌

Java 程序员 后端

炸裂!这份阿里P8大佬手写“Java核心技能精选,java笔试面试宝典

Java 程序员 后端

爽,字节架构师DDD(领域驱动设计,Spring事务扩展机制

Java 程序员 后端

模块二作业-微信朋友圈的高性能复杂度

无名

架构实战营 「架构实战营」

源码解析BeanUtils,Java开发还不会这些

Java 程序员 后端

区块链让奢侈品的分销、溯源不再是难题

CECBC

牺牲速度来节省内存,Redis是觉得自己太快了吗?,mysql破解版百度网盘

Java 程序员 后端

清华大牛纯手写2021年最新JVM调优实战手册,看完让你精通JVM调优

Java 程序员 后端

元宇宙将如何影响我们的投资、就业和生活方式?

CECBC

牛掰plus!裸辞后集中Java面试,凭借一个技术套路了多个面试官

Java 程序员 后端

独家!就是看透这份“347页并发编程笔记(1),mysql使用入门教程

Java 程序员 后端

  • 扫码添加小助手
    领取最新资料包
为什么我不会在新公司中使用Rails_JavaScript_谢丽_InfoQ精选文章