`
JavaCrazyer
  • 浏览: 2989970 次
  • 性别: Icon_minigender_1
  • 来自: 河南
社区版块
存档分类

程序员应该学习一下Python或Ruby

 
阅读更多

如果你是个学生,你应该会C,C++和Java。还会一些VB,或C#/.NET。多少你还可能开发过一些Web网页,你知道一些HTML, CSS和JavaScript知识。总体上说,我们很难发现会有学生显露出掌握超出这几种语言范围外的语言的才能。这真让人遗憾,因为还有很多种编程语言,它们能让你成为一个更好的程序员。

在这篇文章里,我将会告诉你,为什么你一定要学习Python或Ruby语言。

  • 跟C/C++/Java相比 —— Python/Ruby能让你用少的多的多的代码写出相同的程序。有人计算过,Python或Ruby写出的程序的代码行数只相当于相对应的Java代码的行数的五分之一。如果没有绝对的必要,为什么要花这么多时间写出这么多的代码呢?而且,有人说,一个优秀的程序员能维护的代码量最多是2万行。这不区分用的语言究竟是汇编,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好” —— 其中把X换成Python或Ruby,把Y换成另外一种语言 —— 你就会发现,有无数的文章来说明它们为什么这么好。

如果你有选择你的毕业设计使用的编程语言的自由,你应该选择Python或Ruby,它们能让你在开发项目的过程中节省一半的时间(除非你要开发的是移动应用,这样你必须要使用Java或Objective-C)。

如何去学它们呢?很多很多的网站上都提供了学习Python和Ruby的教材和课程。下面的是我从中选出的一些:

尾注

我的这篇文章可能会让很多Perl爱好者很郁闷,现在回味一下,我认识到对这种语言的要求过于苛刻了。因此,我把关于Perl的一节改写了一下。

Python和Ruby都受恩于Perl,在这两种语言出现之前,Perl是最大、最好的动态语言。但Perl现在太老了。它的面向对象性不完整。它很久没有升级更新了,它的市场份额正在丢失。对于一些新的、很火的事物(例如Web编程框架,Web API),它不如Python & Ruby那样能跟上时代的步伐。基本上,Python/Ruby在兴起,Perl在衰退。

本文中的所有语言的比较都是用来给印度计算机科学专业的学生选编程语言时做参考的。像“X比Y好”这样的句子准确的讲是毫无意义的,因为所有的语言都是经过时间的考验而存活下来的,有些语言会在某些领域比另外一种要强,这也是它们存活下来的原因。换句话说,总有一些情况下,PHP/Java/C/C++/Perl 看起来会比 Ruby/Python 等其它语言显的更适合。

本文是从 Why every programmer should learn Python or Ruby 这篇文章翻译而来

分享到:
评论
1 楼 GoTiger 2012-02-24  
学习了,是得找个时间来好好看下别的语言,来学习一下别的语言优秀思想

相关推荐

    每个程序员都应该学习使用Python或Ruby

    在这篇文章里,我将会告诉你,为什么你一定要学习Python或Ruby语言

    Python程序员案头必备:《Python参考手册 (第4版)》(高清.书签.英文完整版)

    本书内容简洁扼要、可读性强,书中还包括了一些没有在Python官方文档或其他资料中出现过的一些高级的主题。 这一版在内容上进行了全面更新,介绍了Python 2.6和Python 3新引入的编程语言特性和库模块,同时还分析了...

    程序员为什么还要刷题-coffeescript-for-python:面向Python程序员的CoffeeScript(指南)

    程序员常刷题面向 Python 程序员的 CoffeeScript 请参阅本文档的格式更好的版本。 {: .github-only} 是一种编程语言,其语法的设计显然是为了匹配大部分(来自 Perl、ECMAScript、Ruby 等的额外灵感)。 但是大多数...

    ruby中文资源大全

    松本行弘(Matz)是日本一家开源软件公司的程序员,有15年的编程经验。在工作中,他希望有一种比 Perl 强大,比 Python 更面向对象的语言。...本教程内含多部中文ruby介绍和语法参考能作为初中级学习使用。

    程序员为什么还要刷题-ruby-rails-testing:ruby-rails-测试

    程序员常刷题在 Rails 中测试 程序员生产力的最基本方面之一是反馈循环。 像 Ruby 和 Python 这样的“脚本”语言非常适合这一点,因为您可以在编写代码后立即运行代码。 相反,像 C 这样的低级语言必须在运行之前...

    python编程资源信息整理.rar

    许多程序员使用 Python 作为初学语言,然后接着是像 PHP 和 Ruby 这样的语言。它也是2014最热门的 web 开发语言之一,并被高度推荐学习。但是,怎么学习 Python 呢? 我们应该从哪里开始学? 我在这里就是为你解决这...

    程序员或设计师能用上的91份速查表 cheat sheets

    程序员或设计师能用上的91份速查表,包括各种语言和技术。包括Actionscript Apache Ant ASP C C# C++ Delphi Java Javascript Perl PHP Python VB Ruby Scala LISP Matlab Mathematica Fortran CSS DOM Erlang Perl ...

    程序员或设计师能用上的91份速查表

    程序员或设计师能用上的91份速查表,包括各种语言和技术。包括Actionscript Apache Ant ASP C C# C++ Delphi Java Javascript Perl PHP Python VB Ruby Scala LISP Matlab Mathematica Fortran CSS DOM Erlang Perl ...

    Python 简介 Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言.rar

    Python是面向对象语言:支持面向对象的风格或代码封装在对象的编程技术 Python 是初学者的语言:支持广泛的应用开发程序,从简单的文字处理到WWW浏览器再到游戏 备注: (1)脚本语言: 1.扩建的语言,是为了缩短...

    程序员为什么还要刷题-ruby-rails-testing-v-000:ruby-rails-testing-v-000

    程序员常刷题在 Rails 中测试 程序员生产力的最基本方面之一是反馈循环。 像 Ruby 和 Python 这样的“脚本”语言非常适合这一点,因为您可以在编写代码后立即运行代码,这与 C 等低级语言相反,后者必须在运行前进行...

    Python源码剖析

    作为主流的动态语言,Python不仅简单易学、移植性好,而且拥有强大丰富的库的支持。此外,Python强大的可扩展性,让开发人员既可以非常容易地利用C/C++编写....., 本书适合于Python程序员、动态语言爱好者、C程序员阅读

    程序员社区:此存储库包含Ruby,C,C ++,Python和Java中各种问题的解决方案

    程序员社区 这些实现是出于学习目的。 该解决方案将以任何编程语言提供。 欢迎您在资源库中做出贡献。...C,C ++,Java或Python中的数据结构和算法 解决问题的能力 数据库(关系或非关系) 系统设计

    程序员开发代码编辑器 CodeLobster IDE Pro 1.9.0 中文多语免费版.zip

    由于其直观的界面和众多功能,IDE 应该满足许多程序员的要求。 支持的操作系统:Windows 7,Windows 8,Windows 10,MacOS,* nux 支持的界面语言:英语,德语,法语,意大利语,西班牙语,俄语,中文,日语,...

    mazes-for-programmers-ruby:程序员迷宫

    这本书也可以用Python或C或Java或C#或任何其他语言编写。 我希望这些示例写得足够清楚,以使即使您不熟悉Ruby,这些概念也照常出现。 无论您是否使用Ruby,都有足够的实验空间。 如果您决定继续使用Ruby,请确保...

    程序员必备的66份速查表

    66份速查表,包括:jQuery、HTML、HTML5、CSS、CSS3、JavaScript、Photoshop 、git、Linux、Java、Perl、PHP、Python、Ruby、Ruby on Rails、Scala、C#、SQLite、C++、C语言、Ubuntu、WordPress、Node.js、Oracle、...

    Ruby 简介

    Ruby 简介 Ruby是一种纯粹的面向...Ruby 是”程序员的最佳朋友”。 Ruby 的特性与 Smalltalk、Perl 和 Python 类似。Perl、Python 和 Smalltalk 是脚本语言。Smalltalk 是一个真正的面向对象语言。Ruby,与 Smalltalk

    一篇文章入门Python生态系统(Python新手入门指导)

    译者按:原文写于2011年末,虽然文中关于Python 3的一些说法可以说已经不成立了,但是作为一篇面向从其他语言转型到Python的程序员来说,本文对Python的生态系统还是做了较为全面的介绍。文中提到了一些第三方库,...

    程序员/设计师能用上的 75 份速查表

    75 份速查表,由 vikas 收集整理,包括:jQuery、HTML、HTML5、CSS、CSS3、JavaScript、Photoshop 、git、Linux、Java、Perl、PHP、Python、Ruby、Ruby on Rails、Scala、C#、SQLite、C++、C语言、Ubuntu、WordPress...

    程序员或设计师能用上的100+份速查表

    程序员或设计师能用上的91份速查表包括:Actionscript Ant C C# C++ Delphi Java Javascript Perl PHP Python VB Lisp perl Erlang Dom Flash haskell ...及Linux MacOS OS Solaris Ubuntu等操作系统

Global site tag (gtag.js) - Google Analytics