Ruby on Rails已经成为服务器编程行业的一个新的竞争对手,以及php,asp.net,jsp,python和其他一些.但红宝石用于什么BESIDES导轨?是否将其所有成功归功于rails框架?这里有更多问题标记为ruby-on-rails而不是ruby.但是,我认为PHP不是用于服务器之外的东西,
想法?
首先,PHP首先被构建为服务器语言.这是除了Web应用程序之外通常不用于其他任何东西的主要原因之一 - 它不是为它而设计的,因此无法满足脚本化桌面应用程序的要求.
Ruby被设计为通用脚本语言,因此广泛支持许多不同的应用程序.它已全面用于从Web应用程序到Web服务器本身,到智能图形库,图像识别引擎,线程数据库服务器,再到低级系统实用程序.它在整个计算过程中具有广泛的用途.
Rails肯定会大大增加Ruby的流行度,将其引入脚本语言的最前沿,产生40多本书籍,18个会议,几乎所有主要操作系统的分发和7个不同的实现启动!
首先,所有Rails的内部都是用Ruby编写的,但Rails开发人员使用的所有Rubygems,库,片段或其他任何东西都是用Ruby编写的,并且很可能是为了在Rails之外工作而构建的.堆.
话虽如此,流行的Web框架是不是这个原因,为什么 Ruby是受欢迎的.当然,它有助于为语言带来急需的关注,但这并不是人们日常使用它的原因.它用于从Web应用程序到桌面GUI应用程序的所有内容,因为它简单,优雅的语法,干净,合理和完整的标准库,它是社区代码,支持和工具链的广泛生态系统.
使用Ruby 是因为它摇滚.
生物医学
医学博士Jules J. Berman撰写了一本378页的书,内容是关于如何使用ruby来解决生物医学领域最常见的计算任务.据我所知,这本书没有提到Rails.
但红宝石用于什么BESIDES导轨?
哦,天哪,是的.看看RubyForge,它早于Rails和更老的RAA,用于非Rails的例子.在工作中,除了不可避免的基于Rails的Intranet应用程序之外,我还使用ActiveRecord独立进行数据库工作,计划备份,XML解析,FTP下载,CSV解析,操作Excel工作簿以及几乎任何其他临时脚本编写工作.但是我已经老了 - 在Rails成为DHH眼中的苹果之前,我开始玩Ruby .
在家里,我做过各种奇怪的事情,有些是成功的,有些是不那么的.然而,所有这些都很有趣,很少与Rails有关.
是否将其所有成功归功于rails框架?
不,有些,但不是全部.同样地说,Rails将其成功归功于Ruby,如果没有它,它将成为一个不同的野兽.
Rails毫无疑问地增加了对Ruby的接受度,将其带入某种临界质量,其中足够大比例的开发人员 - 无论他们的意见如何 - 现在已经听说过这种语言并对可以使用它的东西有所了解.
是的,它摇滚.
在Rails问世之前,Ruby确实是一种精品语言.它满足了Perl和Python的相同需求.在脚本编写领域,Perl在过去的10年中获得了很多人的支持.编写Perl和Python程序的人很少使用或听说过Ruby.当Rails问世时,对于进行Web开发的人(通常是PHP)非常有吸引力,因此许多Web程序员选择了Ruby,而其他人则认为没有理由从他们舒适的Perl和Python环境中切换.
大多数人仍然只将它用于Rails,但它增加的曝光率导致更多的人在非野外任务中"外出"使用它.大多数地方已经有许多用Perl或Python编写的程序,并且没有理由切换.大多数Linux发行版都预装了Perl和Python,但没有附带Ruby.Ruby也没有尽可能多的第三方模块.
所有广泛使用的配置(自动化)工具,如Puppet,Chef,Capistrano都是用Ruby编写的.语言的选择不是随机的,例如,Chef也将Ruby用于所有配置语句,因为该语言具有表现力,简单且易于阅读.Puppet拥有自己的DSL(域特定语言),旨在供系统管理员访问.Ruby可以更容易地解释这种配置语言.
此外,Vagrant - 用于创建和测试系统映像的工具是用Ruby编写的.Bundler将是用于管理gem依赖项的漂亮Ruby应用程序的另一个示例.
Metasploit框架用于测试安全问题并帮助进行渗透测试.它在2007年用Ruby(以前用Perl编写)完全重写.
一个包装工具fpm简化了创建包的过程(deb,rpm,gem,python模块,节点包,pear,...)也是用Ruby编写的.
Ruby是一般脚本语言(与php不同),可用于编写脚本.您可以在非常少的行中编写带有正则表达式的简单文本文件解析器,而无需google所有内容,因为语法简单易学.
Ruby on Rails绝对是最受欢迎的,并且引起了很多人对Ruby语言的关注(这很棒)但是还有许多其他的应用程序和新的应用程序肯定会出现.
脚本任务.
例如,我曾经使用Ruby将整个网站的内容(数百页)整理成逗号分隔文件.是否将某人的静态html网站迁移到动态的,数据库驱动的网站.只是批量插入csv.用手做那件事是不可能的.
Shoes是一个用Ruby编写的跨平台GUI工具包.
正如其他人所说,一般脚本.的原因,我喜欢它一般脚本(Python的以上)很简单:内嵌正则表达式.不幸的是,Python的正则表达式支持很尴尬,对于脚本,正则表达式通常非常重要.
我甚至不认为我必须提到为什么它击败Perl.
它还可以用于独立(使用解释器)和许多其他程序中的脚本.脑海中浮现出Google Sketchup(用于3D建模)......