代码改变世界

周末话题-语言PK思想

2008-08-16 09:45  横刀天笑  阅读(2818)  评论(44编辑  收藏  举报
我们的行业从来不缺少语言之争,思想之争。总之从来不缺少争论,也许有不同的地方,就有不同的声音,有不同的声音就有争论。今天我们来聊聊语言和思想之争。这里的语言不是汉语,英语,这里的思想也不是唯心主义、唯物主义思想。语言是我们整天编程的语言,思想是我们整天谈论的OOSOA之流。

 

我也许是个语言狂热爱好者(但我一点都不喜欢英语,呵呵),也许得了某种被称为语言癖的怪病。看到一门语言的介绍我总有去学习一下的冲动,尤其是那些新语言,我特别的追捧。家里很多关于语言入门的书籍。所以到现在主流编程语言几乎看了个遍,当然是一点都不精通,只知道一些适用场合,一些特性,做什么比较方便之类的。不过奇怪的是,我对非主流语言更感兴趣,比起学习C++Java我更喜欢去看看LuaRuby(后两门语言也不能称为非主流语言,它们在自己的领域却是红的发紫,只是从整个技术社区来看的比较)。由于工作语言是C#,所以相对而言C#比其它几门语言熟练些。

有人总结出这样的个公式:编程=语言+框架(不知道是不是有人总结出的,也许是我杜撰的,忘记了)。所以我看了语言的一些特性后,就去看看这门语言的框架,在我学习这门语言的时候,我实际上并不是想用这门语言干什么,而是想从这门语言的框架或者语言特性里学习些什么可以用在C#里面。在web里也许大家都了解曾经红过半边天的Rails框架(现在貌似没有以前那么红了),这是我除了.NET之外唯一一个用于实际开发的东西,后来造成我在开发ASP.NET的时候却很仇恨控件的方式,喜欢用静态页面配合Ajax或者<%%>的方式,从Rails里学习到一些东西我也用在了.NET web开发中,由于很仇恨一串类似txtUsername.Text = “…”方式的赋值,如是我自己构建了一个小框架,在学习Rails之后,从中汲取营养构建了一个Dynamic Form框架(不过最后发现这玩意儿Prototype里已经有了,哎)。

 

我也非常喜欢看一些方法学的论述,XP,测试驱动,重构,ScrumAgile都有所涉猎。OO的思想也是一知半解。到现在我也不知道我自己是遵从什么方法学,也许就是乱弹琴。

 

有些时候我也迷茫过,不知道应该是博览还是精深。在论坛上,QQ群里,聊天室里难免会出现这样的话语:思想才是最重要的,语言只是工具,掌握了思想就一通百通,把思想掌握了,去学习一门新语言是很简单的事情。对于这句话我不敢认为它错,毕竟那么多牛人都是这么说的,我也不敢认为它对,因为我从来没有达到过这种牛人的境界。

 

不过今天我想说的是,我认同思想很重要,不过我也认同语言同样重要,不同的语言基本上贯彻了不同的思想。有的语言天生就是为这种思想而生的,比如我觉得Ruby这语言天生就很Agile。而.NET(这不能算语言了,代称它下面的所有语言吧)天生就很RAD,至于Java,也许骨子里就是来描述Pattern的。不同的语言社区有不同的文化,不同的文化遵从不同的思想。

 

貌似这文章不是语言PK思想的,而是语言、思想相融合,呵呵。烦请各位路过的,特意进来看的,留下自己宝贵的言辞,各抒己见。貌似最近大家都关注奥运去了。

 

 读各位同仁评论后有感

本来是想说出心中所想,没有意识到竟然有这么多人对这个话题感兴趣,也许是因为这个话题带有争论性吧。

实际在文中我没有表达语言比思想重要,也没有表达思想比语言重要,我认为是同等重要。但是到现在为止,由于才疏学浅,我在思想上的学习举步维艰,也没有体会到多少思想给我带来质的飞跃,而学习各种不同的语言却让我在不同的解决方案上有不同的考量,所以对语言确实很喜欢的很。我很期盼着有一天我能达到大师的境界,把语言只当作工具而已,思想才是真谛。

 

PS

突然很口渴,可我实在不想喝白开水,也不想下去买饮料,突然想起春节妈妈为我备的一包茶叶,遂翻箱倒柜的找出来,泡了一杯清茶,喝惯了可乐和咖啡,突然觉得茶是多么的可口。喝着茶,弹指在本本上,感觉甚是惬意。

顺便广告一下:我老家坐落在美丽而淳朴的革命老区,湖北黄冈大别山脚下-----英山,那里富产茶叶,景色也不错,有兴趣的可以去溜达溜达哦