学软件是先学编程还是先学基础理论

  先具体还是先抽象,鸡和鸡蛋的问题

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

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

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

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

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值