【问题标题】:what is ruby used for BESIDES rails?什么是红宝石用于 BESIDES 轨道?
【发布时间】:2010-11-25 11:37:07
【问题描述】:

Ruby on Rails 与 php、asp.net、jsp、python 和其他一些软件一道,已成为服务器编程行业的新竞争面孔。但是除了铁轨之外,红宝石还用于任何用途吗?它的所有成功都归功于 Rails 框架吗?这里有更多的问题被标记为 ruby​​-on-rails,而不是 ruby​​。但是,我认为 PHP 并没有用于服务器之外的东西,

想法?

【问题讨论】:

标签: ruby-on-rails ruby


【解决方案1】:

首先,PHP 最初被构建为一种服务器语言。这是它通常不用于 Web 应用程序以外的任何东西的主要原因之一 - 它不是为它设计的,因此无法满足脚本桌面应用程序的要求。

Ruby 被设计为一种通用脚本语言,因此广泛支持多种不同的应用程序。它已被广泛用于从 Web 应用程序到 Web 服务器本身、智能图形库、图片识别引擎、线程数据库服务器和低级系统实用程序的所有内容。它在整个计算中具有广泛的用途。

Rails 无疑极大地推动了 Ruby 的普及,将其推向了脚本语言的前沿,催生了 40 多本书、18 次会议、几乎所有主要操作系统的发行版和 7 种不同的启动实现!

首先,Rails 的所有内部结构都是用 Ruby 本身编写的,但 Rails 开发人员使用的所有 Rubygems、库、sn-ps 或其他任何东西也是用 Ruby 编写的,并且很可能是为在 Rails 堆栈之外工作。

话虽如此,流行的 Web 框架并不是 为什么 Ruby 流行的原因。当然,它有助于引起人们对这种语言的急需关注,但这并不是人们日常使用它的原因。它适用于从 Web 应用程序到桌面 GUI 应用程序的所有应用,因为它具有简单、优雅的语法、干净、合理且完整的标准库,以及由社区代码、支持和工具链组成的广泛生态系统。

Ruby 使用是因为它很摇滚。

【讨论】:

  • 很好的答案。如果您只从第二段开始,它可能会获得更好的排名:“首先,PHP ...”
  • 我想你在这里有点困惑。 Rails 绝对 Ruby 受欢迎的原因。如果没有 Rails,Ruby 的采用率将只是它今天的一小部分。当然不是一半,可能只是一半的一小部分。否认这是粉丝主义。就像你的结局一样“因为它摇滚”。
  • 许多 gem 都有用 C 编写的原生扩展。
  • 有一个 php-qt 扩展,所以你可以编写客户端应用程序
  • GUI 应用程序:可能是 _why 的 Ruby Shoes (shoesrb.com)?我认为现在每个人都因为 Rails 而喜欢上了 ruby​​。不管在 Ruby 中可以做多么伟大的事情,直到 Rails 出现在人们的视野中,人们才开始关注它作为严肃编程的真正选择,而不仅仅是“玩”它。
【解决方案2】:

生物医学

Jules J. Berman, PhD, MD 写了一篇378 page book,介绍如何使用 ruby​​ 解决生物医学领域最常见的计算任务。据我所知,这本书没有提到 Rails。

【讨论】:

  • 第 16 章。进入 Ruby On Rails(4 级)16.1。背景 16.2.安装 Ruby On Rails 16.3。循序渐进的 Ruby On Rails 示例 16.4。罗尔。
  • 关于 Ruby on Rails 的完整章节。
  • 我不认为 Ruby 是任何类型的数字运算的好选择,因为它没有像 NumPy 和 SciPy 这样的东西。解释型语言在数字运算方面非常糟糕,因为与编译型语言相比,函数调用非常慢,即调用函数 plus 比实际求和两个数字所需的时间要多得多。
【解决方案3】:

但是,除了铁轨之外,红宝石还用于任何用途吗?

天哪,是的。查看RubyForge,它早于Rails 和更早的RAA,以获取非Rails 内容的示例。在工作中,除了不可避免的基于 Rails 的 Intranet 应用程序之外,我使用 ActiveRecord 独立进行数据库工作、计划备份、XML 解析、FTP 下载、CSV 解析、操作 Excel 工作簿以及几乎任何其他出现的临时脚本工作。但我老了 - 在 Rails 成为 DHH 眼中的苹果之前,我就开始使用 Ruby。

在家里,我做过各种奇怪的事情,有些成功,有些则不太成功。然而,一切都很有趣,很少有与 Rails 相关的。

它的所有成功都归功于 Rails 框架吗?

没有。一些,但不是全部。确实,Rails 的成功很大程度上归功于 Ruby,如果没有它,它将会是一个不同的野兽。

Rails 无疑增加了对 Ruby 的接受度,将它推向了某种临界点,在这种情况下,足够大比例的开发人员(无论他们的意见如何)现在都听说过该语言,并对它可以做的事情有所了解用过。

是的,它很摇滚。

【讨论】:

    【解决方案4】:

    在 Rails 出现之前,Ruby 确实是一种精品语言。它满足了 Perl 和 Python 的相同需求。在脚本领域,Perl 占据了至高无上的地位,Python 在过去 10 年中获得了极大的普及。 Ruby 在编写 Perl 和 Python 程序的人中很少使用或听说过。当 Rails 出现时,它对从事 Web 开发(通常使用 PHP)的人非常有吸引力,因此许多 Web 程序员选择了 Ruby,而其他人则认为没有理由从他们舒适的 Perl 和 Python 环境中切换。

    大多数人仍然只将它用于 Rails,但它增加的曝光率导致更多的人将它“在野外”用于非 Web 任务。大多数地方已经有许多用 Perl 或 Python 编写的程序,并且没有理由切换。大多数 Linux 发行版都预装了 Perl 和 Python,但没有预装 Ruby。 Ruby 也没有那么多可用的第三方模块。

    【讨论】:

    • 我经常看到“Ruby 没有涵盖 CPAN”的抱怨,但很少看到任何具体不可用的示例。我会提交(从一般的 Ruby-not-just-Rails 偏见的角度来看)不存在的东西可能不需要太多,如果有的话。
    • 本页最准确的答案。
    • 这是最好和最短的答案。在日常使用中,Ruby 类似于 Python。 Perl 是...现在在边缘。寻找眼神狂野、说话速度快、挥舞手臂的人。这些是 Perl 程序员。
    【解决方案5】:

    所有广泛使用的供应(自动化)工具,如 PuppetChefCapistrano 都是用 Ruby 编写的。语言的选择不是随机的,例如 Chef 也将 Ruby 用于所有配置语句,因为该语言具有表现力、简单且易于阅读。 Puppet 有自己的 DSL(域特定语言),旨在供系统管理员访问。 Ruby 使解释这种配置语言变得更加容易。

    还有Vagrant - 用于创建和测试系统映像的工具是用 Ruby 编写的。 Bundler 将是另一个用于管理 gem 依赖项的优秀 Ruby 应用程序示例。

    Metasploit framework 用于测试安全问题并帮助进行渗透测试。它已于 2007 年用 Ruby(之前用 Perl 编写)完全重写。

    一个打包工具fpm 简化了创建包(deb、rpm、gem、python 模块、节点包、pear 等)的过程,也是用 Ruby 编写的。

    Ruby 是通用的脚本语言(与 php 不同),可用于编写脚本。您可以用很少的几行代码编写带有正则表达式的简单文本文件解析器,而无需搜索所有内容,因为语法简单易学。

    Ruby on Rails 绝对是最受欢迎的,并且引起了对 Ruby 语言的极大关注(这很棒),但还有许多其他应用程序,并且肯定会出现新的应用程序。

    【讨论】:

      【解决方案6】:

      脚本任务。

      例如,我曾经使用 Ruby 将整个网站的内容(数百页)抓取到一个逗号分隔的文件中。它是为了将某人的静态 html 网站迁移到一个动态的、数据库驱动的网站。只是批量插入了csv。手工完成是不可能的。

      【讨论】:

      • 用 Python 做这件事也很容易。
      【解决方案7】:

      Shoes 是一个用 Ruby 编写的跨平台 GUI 工具包。

      【讨论】:

        【解决方案8】:

        正如其他人所说,一般脚本。 原因 我更喜欢将它用于一般脚本(通过 Python)很简单:内联正则表达式。不幸的是,Python 的正则表达式支持很笨拙,而对于脚本来说,正则表达式通常非常重要。

        我什至认为我不必提及为什么它胜过 Perl。

        【讨论】:

        • 好吧,@$%#。 (我没有说脏话——只是用 Perl 回答。)
        • 休息一下,Ruby 和 Perl 一样有符号和正则表达式。
        • @George:它有它们,但它们并不普遍或复杂。可读的 Perl 是可能的,但对于非专家来说,Ruby 通常是更易读的语言。
        【解决方案9】:

        它也可以用于独立(使用解释器)和许多其他程序中的脚本。 Google Sketchup(用于 3D 建模)浮现在脑海中......

        【讨论】:

          【解决方案10】:

          它被用作 DSL 的基础。它非常适合此目的,因为它的语法非常灵活。例如,有一个名为 Rake 的 make 替换。

          【讨论】:

            【解决方案11】:

            Rubystein - 使用 Gosu 库克隆 Wolfenstein 游戏:)

            【讨论】:

              【解决方案12】:

              它用于编写各种应用程序。常用于写python之类的小脚本应用。

              查看ruby forge.

              【讨论】:

                【解决方案13】:

                Web 应用程序、脚本、一些游戏,你能想到的任何东西。我的一个朋友正在开发一个 ruby​​ 到 as3 的编译器:D

                【讨论】:

                  【解决方案14】:

                  The Metasploit framework 是用 Ruby 编写的,modules 因为它也是用 Ruby 编写的。这已成为编写安全漏洞和进行安全研究的常用方法。

                  【讨论】:

                    【解决方案15】:

                    RubyDNS:用 ruby​​ 编写的 dns 服务器

                    http://www.codeotaku.com/projects/rubydns/index.en

                    【讨论】:

                      【解决方案16】:

                      Homebrew,Mac OSX 的开源包管理器,完全用 Ruby 编写,是one of the most popular projects on github

                      【讨论】:

                        【解决方案17】:

                        LessCSSWebgen。即使没有 ROR,这两个也足以证明 Ruby 在我的书中存在。

                        【讨论】:

                          【解决方案18】:

                          各种测试场景。以 WATIR 和 RSPEC 为例。

                          【讨论】:

                            猜你喜欢
                            • 1970-01-01
                            • 1970-01-01
                            • 1970-01-01
                            • 1970-01-01
                            • 2022-08-15
                            • 1970-01-01
                            • 1970-01-01
                            • 1970-01-01
                            • 1970-01-01
                            相关资源
                            最近更新 更多