我这个半吊子

| No Comments | No TrackBacks

我是半路出家学的计算机(原因无外乎就是高中打游戏上网,搞的自己没学上,无奈提前进入了社会,搞上了IT),一度觉的自己学的还不错。直到前几年自己开始写程序、看别人写的好文章的时候才发现自己在这件事上的幼稚,用某人的话讲就是:too young, too simple, too naive。

一度觉得学得还不错,那都是一时的幻觉,那只是我掌握了一些非常简单的小技巧(little tricks),说的更明白一些就是"在他人面前炫耀的小资本"。

当我发现自己和计算机科班出身的人之间存在巨大差距的时候,我终于也意识到了,这是我几年前沉迷游戏和上网所种下的因。这些差距是需要付出更多的努力才能追回来的。那么究竟又差在了那些方面呢,正是数学、数据结构、算法、计算机体系结构,是这些非常基础的东西。这也是最近1~2年都在自学的东西,可惜的是目前都还没有学出什么东西来。

就我自己学习的过程来看,要说操作计算机这事,那是最为简单了,只要不傻,应该不成问题。甚至写程序也是简单的,只要逻辑清楚就好,但是要想认真的了解计算机是如何运行的(How to work?),并且依据这些来设计程序,那还是有很多东西要学的。我姑且简单的分成三段:

  • 操作计算机:动动鼠标,打打字,简单排版都是这个范畴。
  • 更好的操作计算机:初级程序也算这一段。
  • 理解计算机:知道什么是对的,什么是错的。
就在刚才我看ericsk写的新工作的來由,又顺着看了《程式設計師懺情錄》和《不要學電腦、不要學英文》,其中有一个算法有没有用的例子很是给力,就是从1加到100,处在二段的人许是会这样写:
int sum = 0 ;
for(int i = 1 ; i < 101 ; i++)
    sum = sum + i ;
三段的人就会这样写:
int sum = 100(100+1)/2;
其实这个算法是最为基本的了,在初中的时候就已经学习过了,没记错应该是有说某个数学家聪明的课文或是故事,里面提到这个算法的。

为什么我到现在也就只是停在第二段上呢?科班出身的人经过训练,可以经常以数学的思维来看待计算机和代码。我只能机械的靠逻辑来写,与其说是在写程序,不如说是在把要做的事程序化。甚至某些东西的对错,我只能试,而科班的同学也许仅靠理论判断就知道了,这其中的差距可想而知。

::...
免责声明:
当前网页内容, 由 大妈 ZoomQuiet 使用工具: ScrapBook :: Firefox Extension 人工从互联网中收集并分享;
内容版权归原作者所有;
本人对内容的有效性/合法性不承担任何强制性责任.
若有不妥, 欢迎评注提醒:

或是邮件反馈可也:
askdama[AT]googlegroups.com


订阅 substack 体验古早写作:


点击注册~> 获得 100$ 体验券: DigitalOcean Referral Badge

关注公众号, 持续获得相关各种嗯哼:
zoomquiet


自怼圈/年度番新

DU22.4
关于 ~ DebugUself with DAMA ;-)
粤ICP备18025058号-1
公安备案号: 44049002000656 ...::