-
2008-01-28
跨越语言
版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
PreferDesignSkills
http://dreamhead.blogbus.com/logs/14643453.html
InfoQ评论英文版:Prefer Broad Design Skills over Platform Knowledge
InfoQ评论中文般:丰富的设计技能胜过特定于平台的知识
我对程序设计语言有着偏好,所以,我喜欢不断接触各种新语言,喜欢研究语言背后的实现。
最近一段时间,我做的项目用到的几乎都是对我而言的新语言:C#、ActionScript、PHP……,这等价于我要不停的学习自己新语言。
我很享受学习新语言的过程,因为它们会带给我一些不同的体验。每一种语言都有自己不同的适用范围,这一点在学习像ActionScript和PHP这种有很强领域色彩的语言时,体现得尤为明显。运用这些语言写程序的过程中,很容易体会到语言作者在设计时的侧重。
学习新语言,某些情况下也有一些让人难受的地方。经常是,程序出现了语法错误,却瞪眼看不出来,突然意识到错误所在,原来自己用的是熟识语言的语法,不禁莞尔。有时,语言或程序库与自己熟悉的习惯不相一致,经常会被绊住一段时间。
好吧!回到开头,Martin说,设计技能更重要。我想说,设计技能只是很重要的一方面,更多的还是自己做事的方法和习惯。跨越语言时,对此体会会更加深刻。
最近是在写一些PHP代码,我完成一个功能的过程大致如此;弄清楚自己要做的是什么,想一下大概应该如何实现,用PHPUnit编写测试,然后完成功能,运行所有测试,确保这个实现正确以及没有破坏任何已有的东西。把PHP换成其它语言,相信过程是类似的。
如果你有机会像我一样在语言之间穿梭,在度过最初的痛苦期之后,你会发现一切会回到自己熟悉的轨道上。设计、编码、查文档、测试,没有什么不同,所做的一切,都是把自己的想法落实成代码,只不过,由于语言的差别,落实成具体的代码,形式上略有差别而已。
当然,我们不是教条主义者,不只是简单粗暴的知识映射。语言和语言之间是有差别的,所以,学习语言时,我们会注意到语言为我们提供的便利,比如,动态语言的特性,比如,函数的抽象等等,这样我们可以更好更优雅的完成我们的工作。
引用地址:










评论
您好! 我是英语博客网 的博主,现在我更换了域名,能否
交换链接?博客 名称是:英语博客网,新域名是:
http://www.52enblog.com 新的LOGO在
http://ghb.blogbus.com/logs/1481179.html选择一个。
谢谢!
此blog我必看之,嘿嘿