That TDD Fellow | Tech Blog | Screencasts

Let’s stop fearing our own creations and start being in control of them. Let’s be professional.

静态语言和动态语言的区别

| Comments

虽然使用过java和ruby,也知道点静态语言和动态语言之间的那些事,不过了解的很肤浅。当然了,我对java的了解也很肤浅,仅知道一些基础知识,了解一点ejb和hibernate,对于struts和spring(这个是我接下来要了解的)都只有耳闻,并未实际的使用过。对于ruby也是,了解一些用法,最近也在做rails的一些项目,也是停留于会用的层面。今天在读ruby设计模式的时候,看到一句话 “i am what I am “,这句话与 duck typing是同义的,即,你叫起来像鸭子,走起来像鸭子,那么,你就是鸭子!对于duck typing来说,不管你是什么类型的,你的父类是什么,只要是对某个方法有感应,那么你就是我想要的。

这两种形态可以在现实社会中找到类比的,比如求职过程中的 学历 能力 说。重视学历的单位,会强调你的出身,你是哪所大学毕业的,是否985,父亲做什么工作的,有哪些关系(类中的接口),诸如此类的问题。而那些注重能力的单位,则会问,你的能力如何,能否胜任交给你的任务,更加注重你自身的特征。对我应聘者来说,”I am what I am”,不要管我从哪里来,要看我能干什么事情就ok了。

所以动态语言就有那种 英雄不问出处 的高贵品质,体现了一种平等的思想!现如今,都是人作为主体去选择语言,根据流行度,根据那种更能赚钱或者根据自己对哪种语言有更加的偏爱,是否有一天,如果电脑作为主体,有选择语言的权利,它会更加偏爱哪种呢?(当然我所说的是高级语言了)。哈哈,我觉得,这确实是个有意思的问题!

Comments