如果您是学生,则应该了解C、C++和Java。还有一些VB或C#/.NET。有多少人可能开发过一些网页,你知道一些HTML、CSS和JavaScript知识。一般来说,我们很难找到任何学生表现出掌握这几种语言范围之外的语言的能力。真可惜,因为有那么多编程语言可以让你成为更好的程序员。在本文中,我将告诉您为什么必须学习Python或Ruby语言。与C/C++/Java相比——Python/Ruby允许您用更少的代码编写相同的程序。有人计算过,用Python或Ruby编写的程序代码行数只有相应Java代码行数的五分之一。如果不是绝对必要,为什么要花这么多时间编写这么多代码呢?而且,有人说一个优秀的程序员最多能维护的代码量是20000行。这里不区分使用的语言是汇编、C还是Python/Ruby/PHP/Lisp。所以,如果你用Python/Ruby写,你一个人做,不管你做什么,如果你切换到Java/C/C++,你需要一个5人的小团队来做。与VB/PHP相比-与PHP/VB相比,Python/Ruby是一种在设计上要好得多的语言。PHP和VB分别是非常流行的开发网站和桌面应用程序的语言。它们受欢迎的原因是它们非常容易学习。不懂电脑的人也很好用。如果你曾经用这些语言开发过大型项目,你会发现这些语言的设计是如此糟糕。如果你是朋友,他不会劝你用PHP/VB。与Lisp/Scala/Haskell/Closure/Erlang相比——Python/Ruby与它们相比是相当“主流”的。的确,这些语言中的每一种都有自己很酷的特性,而对于高级程序员来说,了解这些语言实际上可以提高他们对编程的思考。但是这些应该决定在你以后的职业生涯中学习哪一两个。就目前而言,Python/Ruby是平衡语言特性和实际使用后更好的选择。与Perl相比——Python和Ruby都归功于Perl,而Perl是这两种语言兴起之前最好、最动态的语言。但现在,Perl已成为过去,越来越多的人转向Ruby/Python。感觉Perl的面向对象机制有点做作,非常难用。人们普遍认为Perl是一门难学的语言,因为它为您提供了太多不同的方法来完成同一任务,而且它的语法有点像密码,非常不直观——除非您很好地掌握它。总而言之,我觉得Perl是一种不适合学生使用的语言——除非你有特定的理由去学习它(例如,你有很多正则表达式要处理,这正是Perl的闪光点)。与sh/sed/awk/bash相比——如果您使用Linux/Unix,您可能需要进行一些shell编程,甚至编写一些不平凡的程序。然而,对于这些语言,一旦程序达到一定数量的行数,事情就会开始变得令人头疼,而你能做的最好的事情就是使用Python来完成这些事情。当然这种东西,Perl是最好的选择,Python次之。(Ruby不太适合系统shell脚本)。您可以在Google上搜索“为什么X比Y更好”——用Python或Ruby替换X,用另一种语言替换Y——您会发现无数文章解释它们为何如此出色。如果你可以自由选择毕业设计使用的编程语言,你应该选择Python或Ruby,这可以在开发项目的过程中为你节省一半的时间(除非你正在开发一个移动应用程序,在这种情况下你必须使用Java或Objective-C)。xkcd上有个漫画,告诉你掌握Python后你会变得多么强大:如何学习它们?有很多网站提供学习Python和Ruby的教科书和课程。以下是我的一些选择:Google的Python课程,学习Python的绝佳资源。RubyLearning,一个学习Ruby的好网站。有问题吗?请写在评论中,我会尽力回答你。尾注:1:我的这篇文章可能会让很多Perl爱好者感到沮丧,现在回想起来,我意识到这门语言的要求太高了。所以我重写了关于Perl的部分。Python和Ruby都归功于Perl,Perl是这两种语言之前最好、最动态的语言。但是Perl现在太老了。它的面向对象是不完整的。它已经很长时间没有更新了,并且正在失去市场份额。对于一些新的和热门的东西(比如网络编程框架、WebAPI),它不如Python&Ruby更新。基本上,Python/Ruby在上升,而Perl在下降。2:本文对所有语言的比较,作为印度计算机专业学生选择编程语言的参考。像“XisbetterthanY”这样的句子完全没有意义,因为所有的语言都经受住了时间的考验,有些语言会在某些领域优于其他语言,这就是它们生存的理由。也就是说,总有一些情况PHP/Java/C/C++/Perl似乎比Ruby/Python等其他语言更适合。原文:http://reliscore.com/why-every-programmer-should-learn-python-or-ruby翻译:http://www.vaikan.com/why-every-programmer-should-learn-python-or-红宝石/
