首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > perl python >

小弟我为什么要学习python

2013-04-09 
我为什么要学习python一开始的时候,我觉得有点气愤,因为当我跟同龄人说我会python的时候,他们一些人认为我

我为什么要学习python
        一开始的时候,我觉得有点气愤,因为当我跟同龄人说我会python的时候,他们一些人认为我就是在装X,一直有这种很不好的风气,比如我说我把OS换成了 ubuntu,用vim,或是emacs的也是在装X,他们一直听着大学里老师的信仰”语言都一样,重要的是编程思维“,所以学过C,C++,JAVA,C#的人,总认为学习另一门语言比如(python),只不过是在学习另一种写while和for的方式,所以我想在这里写一篇文章谈谈,为什么python很值得你在大学里,或者在以后的工作里一学。
    首先我们来听听图灵奖获奖得主,Allan Perlis,说过的话,“如果一门语言没有改变你的编程思维,那么它不值得你去学习”。
    所以,熟练的使用一门语言才能让你有真正的编程思维,你用什么样的编程语言就将决定你的思维,而不是你写的多了,就有那个所谓的编程思维。
    如果这么说,我们大学的时候,学习了c,c++,java,C#,算是值得学习么?很多时候是不值得,我觉得我们大学的课程就是用java,c#,c++把"C程序设计"又上了一遍.
    这是因为,学校的老师会C和java之类的,所以要跟着规矩开这门课,(这也就是为什么,许多学校还在教vb,),这也就是为什么,你所以为的一样就是大家都有For都有while,都有switch..都有Class...都有int 都有float,所谓的不一样就是用C有指针,java没有,这就是为什么教育是失败的,这也就是为什么,我目前认识的几个编程大牛,都不是计算机专业毕业的...
python的优点:
简单
    我所说的简单,是相比于象C和C++这样的语言,你为了编程,要学习许多偏底层的东西.
    当然,你可能会问,python能干什么呢?python无所不能(当然,它不能帮你找女朋友),你java能做的,我用python都能做,你java做不好的,我python也能做,虽然python被成为脚本语言,但它已经不算脚本了,就像火车已经不是"烧"着跑的了...
动态语言 
     比如,你脑子中突然有个什么想法,想要去实现它,或者你看见网上某个有趣的东西,想要自己动手去写个demo,那么用python可以很快的实现一个原型,之后你可以继续从这个原型出发去进一步探索,但是如果是java的话......
     在比如,你在学习一个新的编程范式,或者想要马上做个例子看看,试验某个API,如果你是写java的,你不得不去写一个main,写一些构造,即使有IDE这样的东西,能够为你带来代码生成器,而我做得就是写一段“脚本”,或者打开python交互式解释器就行了。 
     而且python的第三方库也很多,你想马上就搭建个什么软件出来"也是比较容易的。
高级特性 
    内置的数据结构,list,tuple,内置的函数,各种方便的操作,让你“自由的表达”,有时候感觉写程序就是“信手拈来”...
    这在写算法时就能够表现出来,比如我要写一个快速排序:
快速排序的思想就是将一个序列通过基准分为两个序列,然后对着两个序列分别递归..

如果用C语言写:

def foo(op,x,y):    print eval("%d%s%d"%(x,op,y))
就这两行...为什么会这样?因为python支持FP(函数式编程),在函数式编程中,函数变成了一等公民。
当然这里面有一定的开玩笑成分,不过,FP编程就是那么神奇,当你在学oop遇到瓶颈,或者oop已经用的很熟练的时候,不妨去学学FP(函数式编程),python就支持函数式编程,当然你也可以尝试下lisp的方言比如(Haskell).

 所以,如果你学习python,你会越来越迷恋python,无法自拔.
Author:aiqier
Date:2013/4/6 









热点排行