当你拥有一把用得顺手的锤子

简介: 记不得在哪里看过这句话,“当你拥有一把用得顺手的锤子,就会认为全世界都是钉子”。所有的事情、所有的问题,你都尝试用这把锤子去解决。很多情况下,常常,这把锤子解决不了问题,或者说,有更好的工具来解决手头的问题。

    记不得在哪里看过这句话,“当你拥有一把用得顺手的锤子,就会认为全世界都是钉子”。所有的事情、所有的问题,你都尝试用这把锤子去解决。很多情况下,常常,这把锤子解决不了问题,或者说,有更好的工具来解决手头的问题。比如,将钉子从木头中取出来,使用起子会更有效率、更省事。

    编程语言,比如C#,就是我们手上的锤子;而由此语言而形成的思维方式、思考习惯更是我们头脑中一把无形的锤子。这是好事、也是坏事--好事在于我们至少有一把锤子,坏事在于我们常常因为手中的用了顺手的锤子而忽略了其它工具。

    我曾经在广州的一个公司建议我所在部门的经理将AOP技术应用到我们手头的项目中来解决很多AOP擅长而OOP不擅长的事情,部门经理告诉我说,“AOP能做好的,OOP都能做好,比如你说的日志记录,在每个需要记录的地方,加个函数调用就可以了啊,何必使用AOP把事情搞的那么复杂”。
    我曾建议某个熟练C的程序员可以尝试了解一下C++,得到的回答大概如是,“C++能做的,C都能做,C++的对象可以使用结构和函数指针来模拟,多态可以使用基于函数指针的表来模拟”。可是了,这个熟练的C程序员从来都没有这么模拟过。他真的还有可能步入面向对象世界的门槛吗?
    我曾建议某个熟练的C++程序员尝试了解一下C#或Java这样的语言,得到的回答大概如是,“C#和Java能做到的,C++都能做到,而且使用C++能对底层有更好的控制权,而且效率更高!”我又问他,“既然是为了更多的控制权和更高的效率,为什么不直接使用汇编或C了?”他没有回答。日后,他仍然使用着MFC快乐而低效地创造着很多似乎运行的并不高效的程序,他依然很满足很快乐。再当他和别人说到C#和Java,“那些是什么东西,我从来不用它们!”。

    如果,我们不能暂时放下手中那把帮助了我们许多却又限制了我们许多的锤子,我们就永远不可能拿起其它的工具(思考方法)来更有效的解决问题,也永远不可能体会到其它工具(思考方法)的精妙所在!就像上面的那个经理,对于AOP的理解,再过10年,恐怕仍然也不会深入一点点。

我们不愿放下手中那把顺手的锤子,可能是因为
(1)我们已经深深的爱上这把锤子,对其它的工具都没兴趣
     网上大把的口水战,像,C#和C++哪个好?Java和.NET哪个有前途?这些口水战的斗士们,支持.NET的你对Java的世界了解多少了?支持C++的你对C#又了解多少了?我们经常把自己关在井底观望着头上巴掌大的一片天空,然后对看不到的世界妄加论断,却始终没有勇气跳出井去了解一下我们不熟悉的更广阔的世界。
    一个真正的智者,不在于它掌握了哪些编程语言、哪些平台,而在于他的思维方式、思考方法,在于他开阔的胸襟、不固步自封的人生态度。功夫练到最后,都是练内功、练个人修养,真正的高手,飞花落叶即可伤人!

(2)我们已经没有时间没有精力去学习新的工具(新的思维方式)
     这个理由的缘由仅仅在于我们的懒惰和固步自封!

    走出去学习吧,不断地走出现在的那口井、并且不断的学习才有出路,谁叫你选择程序员这个职业了。

(2006.04.10 Appendix)我很抱歉,我的文字让很多人误解了我的意思,我的本意并不是要大家去学习很多编程语言,而是建议大家从现在的思维模式、思考方式中走出来,去看看外面的世界!比如,你一直是面向过程的思维,可以了解一下OOP、AOP,你一直是使用静态的语言工作(如C++、C#),可以了解一下动态语言(如Python),你一直从事C/S开发,可以去了解一下B/S,你一直在Windows上工作,可以去了解一下Linux,反之亦然。扩宽我们的视野,无论如何,对我们的成长是有帮助的。当然,这些的前提是,你必须静下心去研究和体会(这是所有技术人员的必备的基本素质),要知道哪些东西是浅尝的,哪些是需要深究的。不要无缘无故的排斥、反感什么技术,不要无缘无故的追捧什么技术。
    其实我最想强调的是这一点:“功夫练到最后,都是练内功、练个人修养,真正的高手,飞花落叶即可伤人!”思想狭隘者、固步自封者,很难成为真正的高手。

 

目录
相关文章
|
存储 安全 Python
python多线程------>这个玩意很哇塞,你不来看看吗
python多线程------>这个玩意很哇塞,你不来看看吗
|
前端开发 数据库
贼无聊的文章
贼无聊的文章
41 0
|
Web App开发 前端开发 程序员
电脑上终极的摸鱼神器,非它莫属。
电脑上终极的摸鱼神器,非它莫属。
|
Java 关系型数据库 MySQL
【浅尝高并发编程】接私活差点翻车
作为一名本本分分的练习时长两年半的Java练习生,一直深耕在业务逻辑里,对并发编程的了解仅仅停留在八股文里。一次偶然的机会,接到一个私活,核心逻辑是写一个 定时访问api把数据持久化到数据库的小服务。
171 0
|
小程序 数据库
喜欢看球,那就手撸一个看球小程序系统
一,系统展示;二,小程序端代码;三,后端代码;四,数据库;五,手把手教你学习
115 0
喜欢看球,那就手撸一个看球小程序系统
|
存储 JSON JavaScript
听说你情人节没人陪,这不我来给你介绍对象啦
听说你情人节没人陪,这不我来给你介绍对象啦
226 0
听说你情人节没人陪,这不我来给你介绍对象啦
|
前端开发 容器
玩着游戏就把前端知识学了,贼爽!!!
玩着游戏就把前端知识学了,贼爽!!!
玩着游戏就把前端知识学了,贼爽!!!
|
Unix 程序员 Windows
雷军回顾20年前自己的“程序人生”,还用吴奇隆的歌词文艺了一把
虎嗅注:今天,雷军在他的公众号里发了一篇他20年前写的帖子,那个时候还是1996年,是通过电话线拨号连接到西点BBS上飙帖子玩的年代。那是一个互联网混沌初开的年代,那是一个BBS和Email几乎主宰了全部互联网的年代,那是一个青春的理想和热血沸腾的年代。我是一个程序员,一个软件工程师。到今天,我也依然是一个程序员,一个软件工程师。 雷军在文章中说,本文是20年前我对程序人生的一点看法。20年后的今天,重读之后,这依然是我对程序人生的态度。 文末还引用了吴奇隆的《祝你一路顺风》中的歌词那一天知道你要走,我们一句话都没有说。真是文艺青年啊。下面是雷军20年前写的文章,虎嗅未做删减。 程序人生
523 0
|
数据中心
阿里云黑科技太厉害了 脑子进水还算得更快
热得快可以快速烧水是利用了浸没的优势,那么如果要降温呢? 阿里云科学家在4月26日的云栖大会·南京峰会上展示了全浸没的“凉得快”服务器——麒麟,把整台服务器浸在液体里循环冷却,这一方案可以无需使用空调,能源使用率(PUE)逼近了理论极限值1.0。
1659 0