高级编程能力

来源:互联网 发布:golang 1.7 编辑:程序博客网 时间:2024/05/29 02:35

http://article.yeeyan.org/view/5599/168692

这个文章很不错,里面是讲教育小孩的,但是却反射了更多社会和人的现象。

 

关于大脑运作的这个特点:

“威灵汉姆还指出:“一件事情如果一遍一遍地反复,最后就会变得自然而然。大脑会变得让你不假思索就完成它。”到了这一步,大脑就会发展出区域进行更高级的活动:比如,解析文学作品,而不只是逐字解读;探索音乐的情感涵义,而不只是敲击每一个音符。对受试者大脑的扫描表明受试者进行一连串动作时,如果这串动作重复,大脑中与运动有关的部位活跃程度会降低,而大脑活动会转向更高级、负责思考反射的区域。”

 

摘录的这段文字属于在科学上解释了之前的一个认知,为何高级思考需要扎实的低级基础

 


 

在编程时候希望能够有更好的前瞻性,更好的大局控制力,而这种能力依赖于基础的东西的掌握,能够足够熟练融会贯通的掌握基础东西之后,就可以更加好的把他们在更高的层次组织好,更聪明和更勤奋都会达到这一点。

聪明是我们无法改变的。

我们能做的就是实践(也就是让人对知识扎实认识最有效的办法)大量的实践。

你无法上来绕开基础方面的东西的积累达到一个能够掌控架构能力的人。

必须要有扎实的积累,然后才会自然发展出更高的一个编程能力。

 

 


 

武安君白起

关于这一点一个很好的印证也是《大秦帝国》里描述的武安君白起。

这哥们就是从最低级的小卒做起,一直都是outstanding,拒绝任何跳级升迁,一级级做上去,然后他就拥有了绝对强大的将领能力,将缜密和力度结合的完美,春秋战国第一强将,经手的大战无一不是大优获胜。

从白起统战的时候在大局和细节上的注意可以看见这必须有白起这样的经历,积累和才干,才能达到这个程度。

 

当然一个熟读兵书的人也可以直接当将领,可以统兵打仗并且取得胜利,但是要做到最好,还是白起这种。

 


 

不可绕过的积累

为何这些积累是不可绕过的?

计算机是一个充满细节的学科,它的细节有点过多了,以至于你需要以最有效的学习方法来对它进行精选和区分,这个最有效的方法就是实践。

只有经过无数个日夜的实践,在deadline之前去debug,不甘心降低品质而竭尽全力的去优化这样的事情之后,这些大量的细节才会沉淀下来,成为我们的一部分。

在这之后,我们才有能力在设计的时候,去做正确的抉择,否则的话,根据什么去取舍和掌握火候呢?

今天和同事谈到现在编程更加费神,同时也更加有效了,区别就在于以前没法去看那么大那么远,所以想一想就做了,因为积累不到,没有能力在比较少的时间里做出足够好的设计,只能做出来,对问题有了更好的认识,然后再重新审视,改进之。

随着知识和实践的增加,自然是可以在短时间做出正确的设计了,问题在设计阶段被考虑到并解决,而不是在代码写好之后。

这就是一个自然而然的积累过程,当然可以更加心无旁焉的去做,可以做出更加优雅的设计,写出更加简洁的代码。

 

 

今天和同事聊天,说道越到后来发现编程变得更加费神,不像开始时候上来就做了,每写一些代码总是要想特别多的方面。

也就是在设计上可以触及的范围变大了。

 

原创粉丝点击