不使用 Ruby 的十个理由

  • 时间:
  • 浏览:0

我最近做了一一俩个多多多 15分钟的演讲“我喜爱的 Ruby 语言以及它的生态系统”。很显然我的言论让忠实的 PHP,.NET 和 Java 开发者感到不安。大家对 Ruby 可不需要能好奇,有时候我感觉我在批评大家热爱的技术。既然这可不需要能宗教,有时候我关于要怎样面对新的事物,我认为大家应该列出人及及认为不使用 Ruby 来做 Web 开发的理由。1. Ruby 并那么 Java 有时候 PHP 那么心智成长期是什么是什么是什么是什么图片 图片 期期期的句子这是对的。Java 和 PHP 被用于 Web 开发要比 Ruby 早就说 我有。但你找不到知道吗?我姥姥比 Ruby 要年长就说 我有,有时候我不认为我姥姥可不需要能做 Web 应用。在 Web 时代,技术每几年就要更新一次,老和心智成长期是什么是什么是什么是什么图片 图片 期期期的句子不一定可不需要能优势。在就说 我有方面,Ruby 社区吸取了许多技术的教训,就说 我有能做的更好,相比碎片化的 PHP 社区来讲。有时候你考察一门技术的标准可不需要可以 时间励志的话 ,你从一开始就错了。2. Ruby 的性能不如 .NET 有时候 Java 你又说对了!除此之外,Ruby 还比 Erlang,Lua,C++ 等等可不需要能慢,但你找不到不使用 Erlang 有时候 C++ 是吗?Web 开发并仅仅是性能。你的应用不有时候在上线第一天可不需要能上百万的用户。你可不需要能编码,测试,发布,有时候循环这一 过程,你可不需要能快速迭代。就说 我有,一开始开发速率单位大于运行速率单位。老拿性能来说事是愚蠢有时候错误的。Ruby 的应用不能像 .NET 有时候 Java 应用那样横向扩展。3. Ruby 在 Windows 下工作的不好这是一定的。Windows 在就说 我有方面是伟大的,但不包括开源的 Web 开发。Ruby 以及就说 我有源自 *NIX 的伟大技术可不需要不能在 Windows 下工作的很好。与其撞破脑袋抱怨你有时候习惯了 Windows ,不如试试安装 Linux ,让生活继续。技术的魅力在于学习新的事物,而可不需要能呆在熟悉的环境中间一辈子。4. Ruby 那么 PHP 那么流行的确是时候的。技术并可不需要能流行比赛,有时候励志的话 大家应该都用 JavaScript 来开发(目前在 Github 上最受欢迎的语言)。技术是三种达到目的的手段。流行度有时候我衡量使用率,社区活跃度的一一俩个多多多 指标,用来帮助大家判断技术的可用性,稳定性和支持程度。5. Ruby 社区高傲有时候势力嗯……那么说吧 Java 社区是顽固的,.NET 社区是封闭的,Perl 社区是古怪的,C++ 社区是一群抽烟的中年人。我遇到过各种各样不同背景的开发者。我并可不需要能说 Ruby 那么势力的人,有时候绝对可不需要能主流。我可不需要能就说 我有时候是时候的三种状态:有时候 Ruby 是相对比较新的技术,就说 我有许多简单的任务类似和第三方的测试,开发,迭代都相对容易。就说 我有当 Ruby 守护进程员称赞哪些地方地方事情使用 Ruby 更容易的时候,大家并可不需要能在看低许多技术,而有时候我在表述三种更简单的开发法律法子。6. Ruby 非常顽固,不自由这一 观点不仅仅是错误,你造有时候我愚蠢。我可不需要能真不知道一一俩个多多多 难题:编写一一俩个多多多 HTTP 路由组件有时候图像外理类库有十几个 种法律法子?约定优于配置,最佳实践和清晰的编码标准不需要让开发者不自由。相反,它让开发者专注于重要的事情,类似业务逻辑。Ruby 固有的约定驱动的开发法律法子帮助开发者提高了开发速率单位,但同去尊崇社区驱动的标准,使得样板文件最小化。有趣的是,Ruby 是我知道的唯一一门语言,可不需要能有时候你在任何地方,任哪天间更改任何东西。大家很喜欢哪些地方地方标准和约定,应为它让大家更有速率单位。7. Ruby 那么 Java 和.NET 可靠Windows 那么 NetBSD 那样安全!!!有时候你考察可靠性的唯一标准有时候我类型检查励志的话 ,你看事情的深度图就错了。虽然静态语言严格的类型检查和编译属性让大家获得了更好的性能,有时候,坦白说,在你编程生涯中,有十几个 bug 是应为错误的变量类型引起的?Ruby 用来外理这一 难题的法律法子是宣扬测试文化。也有时候我说,你的代码的可靠性跟你的测试挂钩,而有的你找不到的法律法子声明。8. Ruby 缺少企业级的支持恐怕你孤陋寡闻了吧?听说过 Engine Yard吗?那么?大家提供非常出色的企业级 Ruby 支持。所谓的企业级支持是之后时候企业通过绑定用户销售昂贵的,可靠的,最新的技术来获得收入。但你找不到可不需要能那么做吗?难道你是那么的无能,有时候缺少所谓的“支持”就不去确定一项最少的技术?我可不需要能真不知道一一俩个多多多 难题:你认为微软可不需要能多久不能发现,修复,承认,有时候发布一一俩个多多多 IIS的安全补丁?再想想,你真的认为金钱驱动的垄断企业关心你 Web 应用的安全性吗?在以开源代码为代表的技术创新时代,为了所谓的支持确定一一俩个多多多 封闭的,垄断的技术,有时候我确定了落后人及一步。正大眼睛看看哪些地方地方公司吧,Basho, Redhat, Canonical, 10gen, Cloudera, Engine Yard,大家提供开源的技术,有时候提供企业级的付费支持。9. Ruby 那么很好的可扩展性这是很老励志的话 题,要追溯到 Twitter 刚开始的时候。当 Twitter 飞速发展的时候,大家可不需要能修改 ActiveRecord 中深度图次的代码以获得在 Rails 中支持多个 MySQL 数据库。不幸的是,大家混淆了 Ruby 和 Rails。在 Twitter 这一 案例中忽略了 Twitter 的快速成长得益于 Rails 的易于使用和快速开发。任何成功的应用到最时候该遇到扩展性难题。Facebook 最后把 PHP 编译成了 C++,Twitter 转向了 Scala, Youtube 依然使用 Python,Apache 和 MySQL。那么任何一一俩个多多多 Web 应用是完全一样的,大家应该从成功的 Web 应用中学习经验,而可不需要能上来就否认某项技术的扩展性强于另外一项技术。10. 寻找有经验的 Ruby 守护进程员很困难这倒是真的,但取决于你在世界的哪个地方。比如在 Israel,.NET 和 PHP 盛行,就说 我有找到好的 Ruby 守护进程员是很困难的。但你找不到知道吗?在那里更难找到有经验的 Javascript 开发者!可不需要可以 较真励志的话 ,我也可不需要能说找到好的 PHP 守护进程员比 Ruby 更困难。有时候 PHP 社区分散,用户生成的文档和不一致的 API 是的学习难度提高。无须有时候困难而放弃一样好东西,有时候你人及培养 Ruby 开发者。我的意思是,有时候你认为 Ruby 是正确的技术,那么为哪些地方过多投入许多呢?