说服他人选择Ruby而非Python和PHP
大家好。我正在公司推广Ruby,有一些人对此感兴趣。不过,有人让我讲讲Ruby相比Python和PHP的好处。
我把这个内容分成了两部分:
- 展示Python和Ruby相比PHP的优势;
- 展示Ruby相比Python的优势。
第一部分比较简单。我会讲一些像:
- 在Ruby和Python中,一切都是对象。
- Python和Ruby的代码更容易读懂和写。
对于第二部分,我在考虑:
- Ruby有很多方便的特性,让它更容易读和写。例如:可以不加括号,像2.days.from_now这样的写法很简单。
- RSpec在测试驱动开发(TDD)和行为驱动开发(BDD)方面远远领先于Python的框架。
- GitHub和RubyForge是寻找、发布和合作开发软件的绝佳资源。
你们有什么建议吗?我很想听听!
11 个回答
嗯,作为一个同时使用这三种语言的活跃程序员,我真的不同意认为哪种语言比另一种更好的看法。没错,Python和Ruby更注重面向对象编程,但这并不是更好的必要条件,只是一种方便而已。PHP的社区支持和代码的历史(无论好坏)是无法比拟的,而且我们也不能忽视PHP未来的发展方向、广泛的支持以及为其准备的分布式服务器等等。
如果你想关注语法,那么这三种语言各有优缺点。如果你想讨论后端技术,那么这三种语言都是活跃的开源项目,根本没有赢家。
除了你,作为程序员,你可以根据自己的需要选择最适合你的语言。记住,即使你觉得Ruby是自从NAND门以来最好的东西,也不代表其他人会这么想。还要记住,我们每个人都不同;有些人其实喜欢Java和.Net,就像其他人喜欢LISP一样。我们都是不同的,我怀疑Ruby、Python和PHP之间的竞争者有哪个真的比其他更好。抱歉。
如果你的目标是想说明语言X为什么比语言Y更好,那你就进入了一个主观的领域,这里没有绝对的答案。
其实,Ruby并不比PHP或Python更好。它可能更适合某些特定的用途,你可以举一些具体的例子。比如,PHP不太适合用来写SMTP服务器;而Ruby和Python会更合适(实际上,用Python可以用几行代码搞定,不知道Ruby怎么样)。另一方面,如果你只是想写一个简单的邮件提交表单的后台,PHP可能比Ruby更合适。因为它的代码短、容易维护、写起来快等等。
PHP有一个非常庞大的开发者群体,这样找程序员就很方便,如果你想把开发过程中的某些部分外包出去,这点特别有用。不过,PHP也很容易写出糟糕的代码,而这样的代码已经不少了。
Python的用户群体比Ruby大得多,实际上,RedHat在开发系统工具时主要使用的就是Python。所以如果你在使用RedHat衍生的服务器(统计上来说,如果你在用Linux,几乎可以肯定你是在用),那么Python肯定已经安装好了,并且运行正常等等。
总之,权衡一下各自的优缺点,做出决定,但不要指望大家都会同意你的看法;毕竟这只是个人意见。
补充
我刚意识到我没有说清楚重点:你不应该试图说服别人使用Ruby而不是Python/PHP。相反,你应该试着判断自己是否应该使用Ruby而不是Python/PHP。
你不能在已经决定答案的情况下去寻找事实——这样没有帮助。你应该收集每种语言的优缺点信息,并将这些与公司的需求进行对比。一旦你得出结论,你就会有足够的证据证明这个决定是正确的。
别陷入比较争论中——除非你对这三种语言都很熟悉,否则你只是在暴露自己的无知,尤其是当你说“X不能做Y”时。真正的爱好者会让你难堪。
与其这样,不如展示一下Ruby能做什么。这是一门很棒的语言,但这和人们怎么评价它没有关系。最重要的是代码。所以,尽情展示吧。证明你在这门语言上的高效、可靠和灵活。让代码审查时,大家都能轻松理解。准备好一整套的测试。如果需要,可以去看看RedHanded上的一些巧妙技巧。用你的代码赢得同事的认可——这比你说的任何话都要有说服力。