何时使用Ruby,何时使用PHP

5
我目前只是出于兴趣学习 Ruby(并没有当前项目需要使用 Ruby)。我觉得 Ruby 不错,但 PHP 也不错。我知道「比较 Ruby 和 PHP」这样的问题毫无意义,而且常常被问到。我想问的是,在什么情况下使用一种语言胜过另一种语言。毕竟,关键在于选对工具做对工作。我想更好地了解何时 Ruby 是最佳选择。
我对社区规模或部署难度不太感兴趣。我想象随着 Ruby 受欢迎程度的提高,这些问题会减少。相反,对于在线完成任务的世界来说,Ruby 相较于 PHP 自然而然在哪些工作中可以作为更合适的解决方案呢?同时,请明确假设 PHP5 以面向对象的方式编写 :-)
谢谢。

7
我真的很想加一句评论,大致意思是“当你是(关于PHP程序员的贬义评论)时,请使用PHP。当你是(关于Ruby程序员的贬义评论)时,请使用Ruby。实际上,这两种语言针对非常相似的领域(例如,你并不会比较Python和汇编语言),语言之争没有任何帮助。” - Quentin
这是一个非常主观的问题的定义。例如,我会说“当你想要构建一个网站时,请使用Rails。当你想要通过自我苦修来赎罪时,请使用PHP”。 - user229044
@meager:这可能是一个主观的问题,但绝对不是一个定义。 - Parris Varney
6个回答

2

我的观点是忘记问题类别,使用最自然的语言。我听到很多人说Ruby的语法很烦人,或者他们只是不“懂”Ruby的风格。我从不试图说服这些人Ruby是最适合他们工作的候选语言,就像我从不试图说服法国小说家用英语或中文写作以扩大受众一样。

使用Ruby可以获得一个通用的语言,可应用于Web应用程序之外,但如果这对您没有意义,请按照直觉选择最容易的语言。话虽如此,要做好它。深入研究您选择的语言,学习其他人的代码,并变得熟练。也许偶尔重新审视其他语言,看看您是否仍然有同样的感觉。


哦,还有一件事:求你千万别因为“所有的[Ruby|PHP]开发者看起来都很酷”而选择一门编程语言。想象一下你正在面试工作,被问到“你为什么选择[Ruby|PHP]作为你上一个项目的开发语言?”,然后看着面试官的表情,当你说出“我就是不喜欢[Ruby|PHP]的人”的时候。你可不想成为别人博客上的笑话。 - Mark Westling

1

一些例子:

  • PHP在廉价的托管提供商中更为常见,总体而言,托管PHP应用程序所需的工作比使用Ruby编写的应用程序要少。因此,如果想编写一个广泛分发的平台,例如WordPress,则PHP是更好的选择。

  • Ruby比PHP更适合用于脚本编写。如果您不担心网络上的某些问题,只需要一个后端工具,那么Ruby是更好的选择。


0
问题在于使用其中一个的原因完全是情况所迫,但你不想有任何情况所迫的理由 :-).

0

很难给出一个答案。随着你学习越来越多的编程语言,许多人得出结论:“合适的工具做合适的工作”。特别是当你学习像Perl这样的小众语言时。它是处理文本和管理工作的好工具。但不适用于商业企业应用程序。这就是Java的用武之地。Python适用于脚本编写,Ruby适用于Web应用程序。

在元层面上,Ruby更加安全。历史表明,安全和PHP并不搭配得很好。作为一名安全顾问,我的选择会是Ruby。


0

谢谢!从我所了解的来看,似乎并没有一个明确的答案,而是随着对一种语言的更多使用而形成的直觉“感觉” - 我想这有点类似于在PHP中选择使用if(condition { } vs if (condition): endif;样式。这是一种情况和舒适/风格的问题,不容易概括。 - Philip Schweiger
我认为你做出的决定并不完全正确。最近我在某个群组中参与了一次讨论,他们说PHP5比Python更快,但是PHP中的文件解析速度较慢。因此,他们建议如果您正在开发需要大量文件解析工作的网站,则应使用Perl。因此,我认为没有所谓的“直觉感觉”,这是工程学,每件事都必须有精确的解释。我很惊讶地看到没有人知道(或没有分享)这个重要问题的答案! - Ifti Mahmud

0

使用你最熟悉的语言来完成工作,只有你能力达到一定水平,你的代码才能更加优秀。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接