作者reader (读者)
看板CSSE
标题Re: [问题]各位是花了多少时间在练功呢?
时间Mon Oct 2 17:49:09 2006
※ 引述《final01 (牛顿运动定律)》之铭言:
: 请问是花了多久的时间跟
: 做了哪些功课呢?
昨天有一点小感冒,没办法多讲,今天补充一些个人经验。
我在开始学习写程式之前,就已经被国中时的资优班数学老师逼着学会了
许多电脑相关的数学,在国一的上学期就学完了二进位运算、基本的数值
方法、递回函数、布林代数等等东西,考试要拿到及格的分数都很困难,
那时候所用的教科书就是叫做《电脑之基本数学》。
但是到了後来,才渐渐发现那些东西的用处,至少在一开始接触程式设计
之时,我和同学们都没有什麽陌生感,方法都是已知的,大多数的时候,
似乎就等於是解题而已。
很多人一开始都是从学习程式语言开始,由於程式语言的复杂性,就会有
一些因为不熟悉而产生的畏惧感,但我们却是以工具的角度来看待,觉得
几个重点知道了,不管哪个程式语言都一样可以很快就拿来写程式,其他
部分就是需要时再学习使用就好。
也就是说,我们在学习电脑时,直接看见的就是它的脉络,而不是表象,
在别人还在炫耀自己会几种程式语言之时,我们已经在谈软体的设计了。
我们会去分析每一个自己所用到的软体,不会把自己写的程式和商业软体
分开来看待,觉得那是同一件事情。而为什麽人家可以卖钱,我们自己却
卖不了钱,自然就是人家画面漂亮好用、错误处理得好,所以这些部分就
显得相当重要,而不会因为自己只会写运算处理的部分,就用精神胜利法
觉得核心功能或演算法才是唯一重要的事,其他都不重要。
因此,我们很快地就觉得,自己其实能够做出跟商业软体一样好的东西,
问题在於别人可以找很多人合作,我们却没那麽多人那麽多时间,於是,
如何增进生产力,以及能不能有一些部分做得比别人更好,就成了下一个
重点。
到此为止,程式设计就成了软体工程和电脑科学两个方向的问题,就不是
在 coding 细节上纠缠的事情。我们知道好用、漂亮和功能强,都是影响
软体竞争力的因素,知道软体事业是长期的竞争,如何有效改版,使软体
能够永续维护发展是最需要关心的议题。
在我们学电脑的第一年里,我们就知道了这些事情,知道了我们以後需要
努力的方向,所以我们进入软体产业的时间就比别人更早、拥有的机会比
别人更多,却不见得是我们更努力学得更多更深入。
所以,如果要我说的话,学习之中最重要两件事,就是拥有正确的观念和
目标,什麽时候有了正确的观念和目标,就什麽时候入门了。
什麽叫做正确的观念? 就是认知到自己所学习的东西,有着更深的学问,
不是记忆得多、练习得多就会变厉害的,而需要学习理解的学问是什麽,
则是需要先问清楚自己学习的目标在哪里。
而最常见的错误观点,就是认为程式设计即是利用程式语言与机器沟通,
所以用学习外语的态度来学电脑,只关注在程式语言的熟练上,觉得学会
写程式,就如同学会一种外语一样是一种在未来可能有用的技能。
这是很严重的错误,程式设计是在解决问题,更是软体产业的核心专业,
不是让人类跟电脑沟通情感的。
所以培养解决问题的能力,则是学习程式设计时最为基本而重要的训练。
这也是为什麽在资讯教育中,解决问题是那麽重要的一件事。在很多时候
「解决问题」被认为就是演算法,但其实它们是有差别的,加上人们往往
会把资讯教育、电脑科学和资讯产业的内容混在一起,才造成那种演算法
天大地大,其他不过是下人们的工作的想法,但这也是不对的观念。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.222.173.30
1F:推 taiwancat:好文推... 10/02 18:09
2F:推 pao0111:大推! 10/02 21:17
3F:推 idogo0701:说的太好了...我也是认为程式要写的顺畅易懂,结构明确갠 10/04 23:07
4F:推 metalalive:推一个~ 蛮适合给初学程式OR进入软体设计的人一点方向 10/09 01:44
5F:推 chiayen920:真的说的太好了,写的太贴切了......... 10/10 16:02