【编程思想】思想与语言基础孰重孰轻?

之前看了此兄第一篇文章 感觉太过偏激 人家也不过是随便说说 看了 想了 笑了 忘了也就是了  何苦如此相逼呢  但是看了第二篇文章 感觉 虽然言辞有些激烈 但是 还是有些道理的   前一阵有个哥们教了我一句话:基础有多远就能走多远。

个人感悟:思想不是从书本上看来的 而是 敲了无数行代码之后的感悟

 

 

 

前今天我的一篇帖子《我来揭穿这个最大的谎言》http://topic.csdn.net/u/20091113/17/c8cbf6b9-32e7-4568-868b-700112806989.html在园子里引起很大的争议,文章中我反对有些人过于的强调思想而轻视语言的做法。对于我的观点有人支持,也有人反对(甚至嘲笑我幼稚)。今天我就再补上一些文字增强一下我的观点:思想固然重要,语言也不可轻视,切勿在浮沙上建屋

我有个一个朋友的朋友在世界著名软件公司任职,入职的时候这位朋友的身份是10年工作经验,工资和国内的企业相比很惊人。一般人肯定认为这样的人一定是什么架构师,CTO等,谈起编程思想头头是道。但听他描述,他在团队中的主要工作就是编码。我看了他的胸牌,上面写的是“资深软件工程师”,按他的说法就是资深的Coder。据他说,他们的产品质量要求非常高,代码常常是逐句的检查,甚至是汇编语言级的优化。而核心的模块只会给那些最资深的软件工程师编写,因为编写这样的模块要求语言使用者要对语言达到“精深”的地步。

我也和他谈起过编码以及语言的问题,一个是语言重不重要的问题,另一个是一个人编码到底能编多久。他对第一个问题的答案是:语言是没有尽头的,如果两个程序员都能实现同样的功能,一定会有一个人实现的更快;如果两个人实现的同样快,则一定会有一个人实现的更好。掌握一门语言对一个经验丰富的程序员并不难,但如果使用这门语言又快又好的做东西则并非易事,这需要一个积累的过程。对一些公司的核心产品来说,竞争力的关键就是高质量的代码,这个高不仅在架构层面,而且直接体现在代码细节上。对这些核心产品的生产和维护,如果没有多年的一线编码经验,没有到对语言的精深理解,是很难胜任的。

这位朋友还说,我们周围不乏一些有思想的工程师,但在强调思想的同时,往往缺乏对技能(语言)的重视。这样的结果就是设计的东西表面上看起来很优美(设计模式很多,UML图也很漂亮),但往往是金玉其外败絮其内。程序的第一版勉强能够运行,但如果看源代码则丑陋不堪。后来的维护过程往往是缝了又缝、补了又补,整个程序最后改的是千疮百孔。至于设计初期的思想和架构,后来者那还顾得了那么多(能按时改完Bug就谢天谢地了),至于代码复用率那就更谈不上了。

听他说,他离开上一个公司的时候,基本上没有带走一行代码,因为他觉得那就是个垃圾堆,想要扒出点有价值点东西都难。还抱怨,原来的领导整日夸夸其谈,这个思想那个思想的,如果有人提意见对现在的代码做重构,则满脸的不屑。这位朋友始终不明白“一个站在代码垃圾堆上的人却还要谈什么架构和思想”,就不怕那天程序塌了砸着那富于思想的脑袋?

我们周围缺乏的从来不是有思想的人,而恰恰是愿意勤勤恳恳写好每一行代码的人。如果有人立志要写一生代码,其招致的必然是讪笑和嘲弄(这也太没有理想了)。以我的理解,这都是“官本位”思想害的,每个人都梦想功成名就,做PM、做架构师、做CTO,要用思想指导别人干这干那。却不想如果大家都这样想,我们的资深软件工程师何来,我们的软件由谁来写?难道说软件只是想出来的,而不是写出来?难道说我们的神州飞船只需设计而不需制造

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值