您的位置:首页 > 其它

浅谈软件开发的学习与拿来主义

2013-10-24 18:54 260 查看
写在最前:一个大二学生谈软件开发确实有点令人咋舌,毕竟现在的我连程序员都算不上,充其量是个Coder,接触编程语言更是少之甚少,但是还是决定写出来。只是一些在这条路上的一些感悟,更不敢称是方法或者经验。对于鲁迅先生的大作同样不敢评头论足,只是谈谈个人看法。资历尚浅所以不免本文会贻笑大方,渴望进步所以更要吸取前辈的意见,望多多指教。

 

 

————————————————————————

 

 

拿来主义一说,最初来源于鲁迅1934年6月7日发表于《中华日报·动向》的一篇杂文《拿来主义》。面对外来文化的冲击和中国封建时代遗留下来的文化,如何选择和取舍,于当时流行的闭关主义全面西化的不同呼声,鲁迅主张,既非被动地被“送去”,亦非不加分析地“拿来”,而是通过实用主义的观点选择性的“拿来”。——出自Wikipedia

 

拿来主义常常在现代社会被当做贬义词,但是拿来主义的本质是一种批判继承的思想。当软件开发遇到拿来主义,却产生了不同的理解,不敢说是正确的学习方法,不过确实是新人快速学习的捷径。

程序员的生存法则就在于学
4000
习,职业生涯中学习是亘古不变的话题。但是如何学习就是问题之一,为什么有的人能迅速掌握前沿技术并将之投入生产?有的人却总是效率低下?许多次在A岛看到有人问如何入行当一名程序员,也有很多前辈为其指点迷津,不过无非是一些学习顺序。但是笔者认为学习编程重点在于过程,没有一定的代码量是编不好程序的,即使把书本倒背如流。有的人学习时喜欢咬住书本上的某些知识不放,就是要搞懂晦涩难懂的部分。这时候就应该发挥拿来主义的效用,不管理解不理解,先“拿来”。然后在编码的过程中细细体味,方能顿悟。这时又发挥了编码的重要性,当代码量积累到一定程度,再来仔细考究书上的知识,一定能收获颇丰。笔者就是在学习Java的过程中,有所感悟,《Thinkingin
Java》不失为Java语言的经典之作,但是对于笔者这种菜鸟程序员来说未免有些啃不动,于是便找到一本简单的书来打好基础,等基础扎实了,自然会融汇贯通。

可是语言的学习和软件开发更是两个概念,大学生里10个人至少有9个都会一门编程语言,不过就算是会编程也不等于会开发。这里谈一些笔者学习ASP时候的经验,当时并没有刻意的去看书,只是翻了翻W3CSchool上的语言知识,便拿整站模板来修改出自己的一个ASP网站,当遇到不懂的地方便到网上去搜索解决方案,所以至今笔者对ASP语言也没有了解全貌(只是借ASP作为跳板来学习Java
EE)。当时甚至认为做出这样的东西不算是编程,现在来看第一个ASP网站便是第一次[开发],与之前C语言所编写的程序不同,因为实现了一些功能所以我更乐意称之为开发。由此可见对语言的理解之于开发并不是非常重要,当然至少要先了解一些开发用到的语言基础,这也解释了类库存在的意义,例如C++中的快速排序,甚至不需要了解如何去写,只需要如何去调用就可以了,这便是开发中的拿来主义。

数据结构与算法是程序员的必修课,我的学校也开设数据结构的课程,不过效果并不理想,不能说老师照本宣科,但是学生听的确实昏昏欲睡,对于编码量不够的人来说,数据结构不亚于天书,由此而言开发与学习是相辅相成,没有开发的学习只是纸上谈兵,软件开发并不是枯燥无味,只是学习的方法不对。笔者对算法没有多少研究,将来一定会成为软肋,不过学习的机会也还有。想起长铗的科幻小说《屠龙之技》中有这么一句【对于商业编程和web编程来说,数学屁用没有。】也许这句话未必并不道理,如果仅仅是完成工作而言,也许程序员只要了解语言的API和类库就足矣应对问题,但是现在而言,程序员还是需要了解原理并且有丰富的经验来应对各种问题,有的人发现了这一点,“拿来”之后就不再学习,于是再没有了进步。不过处于编码底层的程序员又有几个人懂得原理?所以,拿来主义并不能改变要学习的东西,只有不断的学习才能够胜任各种挑战。

由于网络的发展,各种新技术如雨后春笋般出现,这时候许多人发挥了自己好学的优点,开始对新技术趋之若鹜。可能趋之若鹜用词并不恰当,但是没有专精确实是很可怕的一件事,当你学了很多东西之后就会发现什么都会一点点,但是什么都没有深入研究。对于这些人,笔者的看法是学习新技术固然是好事,因为学习任何东西都是对思路的扩展,完善自己的思维方式,但是要分清主次,有一个自己的主攻方向。而且学习编程其实是思维方式的养成,所以接触新技术可以说有利无害,不过要是今天学了Java,明天看到了dotNet感觉dotNet很不错又去学dotNet,就会造成样样稀松了。

曾经拜读过蔡学镛老师的《Java夜未眠》和李维老师的《Borland传奇》对于这两位的大作甚是喜欢,其中在《Borland传奇》中了解了微软与各种软件公司的争斗,虽然Borland的失败令人惋惜,但是微软的做法更是使人信服,因为成功是最有说服力的。Borland的奇思妙想基本都被微软模仿了,但是微软又把这些奇思妙想实现的更为完善,然后以彼之道还施彼身,最终造成了Borland的陨落。微软的做法也是一种拿来主义,但又与国内山寨的情况大为不同,微软正是把Borland的东西,取其精华去其糟粕,从而吸纳到自己的体系来。引用鲁迅先生的话【所以我们要运用脑髓,放出眼光,自己来拿!】。

当然,以上只是笔者的一己之见,或许把简单的道理赘述了一千多字,不免被人所讪笑,或许对即将踏入这个行业的人有所帮助,如此甚好,不过记录下自己的感悟对自己也是一种进步。在此感谢我的辅导老师,许多道理都是老师所授,自己只是用稀松的文笔做一个总结而已。程序员这条路不可能一帆风顺,祝愿各位新人程序员能在这条路上获得更多收获,也祝愿同为新人的自己能披荆斩棘,有所斩获。

 

 

 

                                                                                                                                            Leo

                                                                                                                                              2013.10.24 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: