代码之家  ›  专栏  ›  技术社区  ›  Gordon Gustafson

除了铁轨,Ruby还有什么用?

  •  38
  • Gordon Gustafson  · 技术社区  · 15 年前

    RubyonRails与PHP、ASP.NET、JSP、python以及其他一些软件一起成为服务器编程行业的新竞争对手。但是Ruby除了用于Rails之外还用于其他用途吗?它的所有成功都归功于Rails框架吗?这里更多的问题是在Rails上标记Ruby,而不是Ruby。不过,我想php在服务器之外的应用不多,

    思想?

    18 回复  |  直到 10 年前
        1
  •  60
  •   Jamie Rumbelow    15 年前

    首先,PHP被构建成一种服务器语言。这是它通常不用于Web应用程序以外的任何其他应用程序的主要原因之一——它不是为它设计的,因此不能满足脚本化桌面应用程序的要求。

    Ruby被设计成一种通用的脚本语言,因此对许多不同的应用程序有广泛的支持。从Web应用程序到Web服务器本身,再到智能图形库,再到图片识别引擎,再到线程数据库服务器,再到低级系统实用程序,它已经被广泛应用于各种领域。它在整个计算过程中有广泛的用途。

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

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

    尽管如此,流行的Web框架并不是原因 为什么? 红宝石很受欢迎。当然,它有助于引起人们对语言的关注,但这并不是人们每天使用它的原因。它用于从Web应用程序到桌面GUI应用程序的所有方面,因为它简单、优雅的语法、干净、合理和完整的标准库、广泛的社区代码、支持和工具链生态系统。

    红宝石 因为它会晃动。

        2
  •  23
  •   jrhicks    15 年前

    生物医药

    Jules J.Berman博士写了一篇 378 page book 关于如何用Ruby来解决生物医学领域最常见的计算问题。据我所知,这本书没有提到铁轨。

        3
  •  14
  •   Mike Woodhouse    15 年前

    但是Ruby除了用于Rails之外还用于其他用途吗?

    哦,天哪,是的。看 RubyForge 早于Rails甚至更早 RAA 例如非轨道材料。在工作中,除了不可避免的基于Rails的Intranet应用程序之外,我还使用ActiveRecord Standalone进行数据库工作、定时备份、XML分析、FTP下载、CSV分析、操作Excel工作簿以及其他任何临时脚本工作。但我老了-在Rails成为苹果之前我就开始玩Ruby了。 DHH 的眼睛。

    在家里,我做过各种奇怪的事情,有些成功了,有些不太成功。然而,所有的一切都很有趣,很少有人与铁路有关。

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

    不,有些,但不是全部。当然,Rails的成功很大程度上归功于Ruby,如果没有它,它将是另一头野兽。

    毫无疑问,Rails增加了对Ruby的接受度,使其达到某种临界质量,在那里,足够多的开发人员(不管他们的意见如何)已经听说了Ruby的语言,并且对它可以使用的东西有了一些想法。

    是的,它很震撼。

        4
  •  13
  •   J Bruno    15 年前

    在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也没有那么多可用的第三方模块。

        5
  •  7
  •   Tombart    11 年前

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

    阿尔索 Vagrant -用于创建和测试系统映像的工具是用Ruby编写的。 Bundler 这是一个不错的Ruby应用程序管理gem依赖性的另一个例子。

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

    包装工具 fpm 它简化了创建包(deb、rpm、gem、python模块、节点包、pear等)的过程,也用ruby编写。

    Ruby是一种通用的脚本语言(与PHP不同),可用于编写脚本。你可以用很少几行的正则表达式编写简单的文本文件解析器,而无需谷歌搜索一切,因为语法简单易学。

    RubyonRails无疑是最受欢迎的,它给Ruby语言带来了很多关注(这很好),但是还有许多其他的应用程序,新的应用程序肯定会出现。

        6
  •  5
  •   statenjason    15 年前

    编写任务脚本。

    例如,我曾经使用Ruby将整个网站的内容(数百页)刮成逗号分隔的文件。是为了将某人的静态HTML网站迁移到动态的数据库驱动的网站。只是批量插入了csv。用手这么做是不可能的。

        7
  •  5
  •   Michael Stum    15 年前

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

        8
  •  5
  •   Sam DeFabbia-Kane    15 年前

    正如其他人所说,通用脚本。这个 原因 对于常规脚本(而不是python),我更喜欢它简单:内联regex。不幸的是,python对regex的支持非常笨拙,对于脚本编写来说,regex通常非常重要。

    我甚至不认为我必须提到它为什么胜过Perl。

        9
  •  5
  •   Samuel Jaeschke    15 年前

    它还可以用于编写独立脚本(使用解释器)和许多其他程序中的脚本。 Google Sketchup (对于三维建模)想到…

        10
  •  3
  •   stonemetal    15 年前

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

        11
  •  3
  •   astropanic    15 年前

    rubystein-使用gosu库的Wolfenstein游戏克隆:)

        12
  •  2
  •   Ólafur Waage    15 年前

    它用于编写各种应用程序。通常用于编写像python这样的小脚本应用程序。

    退房 ruby forge.

        13
  •  2
  •   Daniel Rodriguez    15 年前

    网络应用程序,脚本,一些游戏,任何你能想到的。我的一个朋友正在开发Ruby to AS3编译器:d

        14
  •  2
  •   dodgy_coder    12 年前

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

        15
  •  2
  •   Kokizzu    11 年前

    ruby dns:用ruby编写的DNS服务器

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

        16
  •  2
  •   Gordon Gustafson    10 年前

    Homebrew 是MacOSX的一个开源包管理器,完全用Ruby编写,并且 one of the most popular projects on github

        17
  •  1
  •   ChssPly76    15 年前

    LessCSS Webgen . 即使没有ROR,这两个都足以证明Ruby在我的书中的存在。

        18
  •  1
  •   user167257    15 年前

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