要不要用Ruby

1 投票
6 回答
581 浏览
提问于 2025-04-15 14:17

我知道这个问题可能不太好回答,但我还是想试试……

我刚刚开始在一家新公司工作,他们的代码库非常简单,目前大概只投入了一个月的开发时间。现在这些代码是用Ruby写的。

目前也在使用Ruby on Rails,但主要是为了测试Ruby代码。

这段代码的最终目标是为一个用PHP写的网站提供后台支持(可能是Drupal、Echo等的后台)。

我对Ruby没有经验,所以我倾向于使用我更熟悉的语言(比如Python),但我也不想因为没有理由就排除Ruby。

如果你不打算在Rails项目中使用Ruby,那它还有价值吗?我选择Python或其他语言会不会更好?

这些库的比较如何?

谢谢!!!

6 个回答

1

Rails应用程序可以成为基于PHP系统的一个很好的REST后端。

REST的功能非常适合这个用途。你想要xml格式的数据?没问题。你想要json格式的数据?也没问题。

如果你和你的团队对这个不太熟悉,那就用你们更熟悉的方式来写一个REST接口吧。 :)

4

Ruby的疯狂。看起来很酷,但可能会让你接触到更复杂的东西:Lisp


我的预测:

  1. 很明显,你对RubyPython都没问题,当然php也能用。

  2. 你会非常喜欢Ruby

我有点担心,在Ruby之后,唯一的去处就是Lisp,到时候我可能会变成那些疯狂的Lisp爱好者,留着奇怪的发型,挥舞着手臂,喃喃自语关于“唯一真正的宏处理器”。

稍微认真一点,虽然Lisp和Smalltalk在60年和40年后仍然处于小众领域,但这两个语言的结合却结出了果实。各种Lisp和Smalltalk的程序员开始在Ruby和Rails的会议上谈论他们的“孩子”Ruby。实际上,Ruby(大约15年的历史)融合了Lisp和Smalltalk的一些神奇特性。

而且,Ruby还带来了Perl的日常实用性和三行脚本的强大功能。Ruby在编程语言界是一场爆炸,它将Perl的脚本超能力与像Smalltalk这样异国情调语言的面向对象超能力结合在一起。

无论有没有Rails,Ruby都是一门令人惊叹和开创性的语言。我说,试试吧。

7

我的建议会根据你自己的目标而有所不同,你可以问问自己(或者给每个选项打个分,从1到10),看看你更喜欢:

  1. 学习一门将来可能用到的新语言?比如说 Ruby。
  2. 通过把 Python 用在所有事情上来加深你的 Python 技能(比如使用 DjangoWeb.Py)= Python。
  3. Ruby 的测试从 Rails 中移出来 = Ruby。

你还可以问自己一些其他问题来帮助做决定,比如:

  1. 速度重要吗?可以在不同语言中做一些测试。(如果是 Ruby,那就用 Ruby 1.9,再看看 另一本 Ruby 书。)
  2. 整合性重要吗?如果重要,为什么要用 PHP 作为前端?
  3. 你和语言社区的联系重要吗?如果重要,可以根据“社区感”来选择。
  4. 是否有大量的后端文本处理?(Perl?)
  5. 你想用 ORM 还是写 SQL?= 看看 Ruby 和 Python 的 轻量级框架

我觉得库的问题不大,因为(我很确定)流行语言的库涵盖了所有常见的任务。

如果你能把以上所有选项打分从1到10,可能会帮助你找出一个更喜欢的方向……

然后,我认为问题可以分为三点:

  1. 你最喜欢用什么语言编程(工作应该是愉快的)?
  2. 前端和后端能否用同一种语言生成?
  3. 你想用框架还是现成的内容管理系统(CMS)作为前端?

了解语言的起源也是值得的:PHP 最初被宣布为 SSI 的扩展,Ruby 尝试结合 Perl、Smalltalk 和 Lisp 的优点,但也有类似 C/Java 的语法,Perl 与 Unix 紧密相连,虽然通常对最终用户是隐形的(尽管有一些 非常好的 Perl 网络框架)。你已经了解 Python 了。

至于框架和 CMS,了解它们的区别、限制和特点也可能有帮助。安装一个 PHP CMS 很简单(对于有明确目的的网站来说很好),但当你想做一些它无法直接做到的事情时,可能会发现自己被一大堆难以理解的代码困住。后端语言的框架能让你更容易地把前后端连接起来。

撰写回答