学理论还是学编程

来源:互联网 发布:国网网络大学 编辑:程序博客网 时间:2024/05/01 16:04
 先具体还是先抽象,鸡和鸡蛋的问题

    关注软件领域的同道,一定不会忽略前不久的一场很有意思的争论。两位业界前辈金旭亮和袁峰在CSDN上关于如何提高软件设计水平进行的一场友好的讨论。笔者受益颇多,两位大师的智慧与观点适用的不仅仅是软件设计,更是对于所有IT人学习与成长有帮助。以我的理解两位大师表达的内容实质是相同的。

    袁老师的思路是:在校期间基础知识学扎实,这是前提,然后带着知识去实践,在实践中巩固知识。其实这是典型的传统学习方法,当然在前期学校抽象学习是比较痛苦的,但只要你能坚持下去,一定能够成功的。 袁老师的过程是从抽象—具体的过程。

    金老师的想法是:计算机理论非常抽象,多数人在上大学时没有接触过计算机,更没有实际编程的经验,包括社会上的人想自学程序设计的人。在这种情况下,先学习程序设计,用比较好用的计算机语言快速做出简单的程序软件来,这样学习的兴趣不会减退,随着自己对计算机程序的理解,再回过头来有针对性地学习计算机以及相关的基础理论。这样,自己已经有了部分编程的经验,再来理解理论知识就比较容易。这种学习方法刚开始时可能基础知识的掌握会不太牢固,但它能够迅速到达实践应用的前沿,最后也是能够掌握好理论。金老师的过程是从具体—抽象—具体的过程。

    让我们跳出软件的范畴,站在获取知识,学习并运用到实际这样的层面,两位大师的观点都是很有启发的。无论是先抽象再具体,还是先具体再抽象,这都是一种学习与实践的过程,关键在于我们学习什么,如果只是复制书本上的理论,那么后面的实践只是理论的证明,显然这样的实践的意义是最低限度的;什么才是最大意义上的实践呢?

    曾经一位老师曾这样说过,我传授一种思维方式,一种思考角度,希望我的学生由此能够有更好的思维方式,考虑问题能有更多的思考角度,这才是我教学的目的。也就是说,如果我们学编程,那么我们学的应该是编程思想;我们上哲学课,是为了学习与形成我们自己的哲学观,以此类推。我们去实践,更大的意义是去不断完善这种思想。 
 
原创粉丝点击