几年前,我的一位朋友建议我学习Ruby.我已经学习了PHP和VB.NET,但我从来没有学过Ruby.
我在哪里可以从Ruby开始?什么是Ruby主要用于?与PHP相比,您如何描述它?蟒蛇?VB?
如何在Ubuntu 9.04上设置它?Windows Vista或7 Home Premium?我可以在"无网络"盒子上的现有(Apache)虚拟服务器中设置Ruby on Rails吗?
Ruby最适合于I/O绑定任务,其中原始计算速度不是问题.幸运的是,绝大多数实际编程问题都受I/O限制,Web应用程序就是一个特别好的例子.Ruby社区花费大部分时间和精力来编写和发布专为在Web服务器上运行的代码,因此它真正发挥了作用,但我已经成功地用Ruby编写了桌面应用程序. MacRuby是一个很好的例子,可以很好地在桌面环境中使用Ruby.对于Web服务器,您有很棒的项目,如Rails,Sinatra和Rack生态系统的其余部分.像Data Mapper这样的项目非常适合桌面和Web服务器使用.Ruby在移动环境中很少使用,因为性能在那里是一个非常重要的问题,但是如果你已经确定,它可以完成.
与VB相比,嗯... VB出现了很大的需求.我会说VB非常适合初学者,但个人成长的空间很小.虽然Ruby对以前没有接触过任何东西的初学者有好处 - 但对于已经习惯了其他语言风格的人来说,这可能是一个挑战.但是,Ruby不会限制您作为程序员的增长:Ruby几乎拥有您可能想要的所有编程语言功能(有一些值得注意的例外,如模式匹配和多个函数参数).实际上,这些都是权衡取舍; 没有编程语言可以给你一切.与PHP相比,Ruby除了可能是Web服务器部署外,还在每个领域都有所不同.PHP无处不在.在大多数情况下,您可以假设您的Web主机默认安装它.另一方面,Ruby需要相当多的经验才能正确部署,尽管Phusion Passenger已经大大改善了这种情况.与Python相比,说实话,它们相比之下非常好.为了不用"Snakes"开始任何火焰战争,并且因为我自己同时使用Ruby和Python,我称之为平局.使用两者都有很好的理由,在大多数情况下,它们可以互换使用.很少有适用于Ruby的应用程序,Python不能很好地执行,反之亦然.总的来说,我自己更喜欢Ruby,但我有很多关于Python的东西,我在Google App Engine上写了很多Python .也就是说,您也可以通过JRuby在该环境中运行Ruby .
如果您想开始使用Ruby,最好的去处是Try Ruby(在您的浏览器中).这应该给你一个品味,让你评估语言.如果你喜欢它,请从官方网站上获取一份副本.正如其他人所提到的,"镐头"这本书很棒.网上有免费版,但它主要适用于该语言的旧版本.该"死树"的版本应该跟上时代的.如果你刚开始,我强烈推荐使用1.9.仍然有许多库与1.9不兼容,但是如果你刚刚开始,那么你可能关心的所有库都应该是最新的1.9.如果你不需要,最好避免以后重写大量的代码,加上1.9的速度要快得多.
在安装方面,在Windows上,最好使用"One Click Installer".在OS X上,它应该预先安装了一些特殊的OS-X特定的调整.在所有其他平台上,我强烈建议从源代码编译最新的稳定版本.你可以使用apt-get
,这会起作用,而且它肯定要容易得多,但是现在你会遇到困难,因为Ruby社区和Debian人都倾向于不同意应该安装的东西,有时库编写者做出错误的假设.如果您从源代码编译,一切都将以默认位置结束,并且您将拥有最新的代码.sudo apt-get install build-essential
如果您使用的是Ubuntu,请不要忘记.