张晓:我与程序

CSDN教师节感恩专题活动网址:http://subject.csdn.net/teachers%27/

 

感谢清华大学电子系的徐士良老师

 

       第一次看见计算机是在小学的机房里,那时老师教我们利用计算机作文本录入、画画等基本的任务。虽然觉得这些事情很有趣,可毕竟当时年纪比较小,新鲜劲儿和热情只持续了一小会儿。第二次接触计算机是在上中学以后,家里买了电脑,父母期望我能走在信息时代的前列。

       虽然在这台机器上绝大多数的机时都用来玩游戏,但是这台机器无疑激发了我对计算机的兴趣,为我以后学习计算机打下了基础 (一个有趣的现象是当时跟我一起玩电脑游戏的几个好朋友大学时大部分都选择了计算机相关的专业,所以我感觉游戏其实对激发一个人学习计算机兴趣有积极的作用) 。

       真正学习如何编程,如何利用计算机来完成一些更高级的任务是在上了大学的第一学期,徐世良老师的C语言课上。徐老师的课风趣幽默,又能切中要害。但是由于以前没有接触过任何编程语言,所以刚开始上C语言的课,觉得很痛苦,而看C语言的书时,感觉基本上跟看天书一样。在费劲了脑力,终于把书看得半懂半不懂之后,我和几个寝室的室友在晚上来到计算机机房,打开并不友好的turbo C界面,开始写我们的第一个计算机程序。按照书 上的示例,我把代码敲完,却怎么也编译不成功….  于是我便开始了我的第一次debug。

       在无数次对照我写的代码和书上的示例却查不出可能的错误之后,我的脑袋上已经出满了汗珠。于是我请来了我的室友帮我查错,他过来仔细的看了一遍我的代码之后,指着屏幕说:”这,缺了个分号”. 我恍然大悟,赶紧加了个分号,编译,通过,运行,美丽的”Hello World!”出现在屏幕上。如果把我人生中每一个瞬间,按心情激动的程度排一个顺序,那个晚上看见Hello World后的瞬间绝对可以进入前十。在那一瞬间我 也学会了很多,比如学习编程,看书看十遍都记不住的东西,动手写过一遍代码之后就能记住。比如自己debug不出来错的时候,请别人来看一看,往往能很快发现问题。

       从此之后,我对编程的热情一发不可收拾,图书馆,机房里经常能看到我的身影。我的书包里也经常放着一两本大部头的编程入门书籍。大一下学期我和同寝室的同学又选修了Java,这是我第一次接触面向对象的语言,教授该课程的是郑利老师,她轻松活泼的教学风格和对Java的深刻理解激发了我对Java语言的兴趣,虽然这门课不是必修课,但我也投入了相当多的时间。另外,由于我们寝室四个人都选了这门课,所以在经常性 的讨论中,我们对面向对象的概念和Java语言本身的掌握有了很大的提高。

       大一的暑假,学校为了提高我们的编程能力,开设了编程语言的暑期课程。当时,我觉得虽然上一学期学到了很多关于Java的知识,但是还没有完全了解Java背后的设计思想。所以我决定再上一门Java的暑期课程,通过另一个老师的讲解,和自己的大量实践来巩固和加深对Java的理解。 开设这次Java暑期课程的老师是雍俊海老师,雍老师严谨的治学风格,对编程的热情和报效祖国的理想都给我留下了深刻印象。在课上,雍老师教授了一些更有趣的Java的操作,比如在记事本里写程序然后在命令行里编译等等。 课程的最后,为了发挥同学们的想象力,老师让同学们自由命题,用Java写一个软件。

       出于对游戏的热爱,我选择了实现一个贪吃蛇的游戏。我的贪吃蛇与大家在手机上玩的贪吃蛇不同,因为游戏里被蛇吃的果子是可以固定在某个位置,也可以被另一个玩家操纵着移动的。写作这个软件,从设计模式,到界面的素材,到功能的设计,我都花了比较大的心思。写完之后,我请隔壁寝室的同学来试玩这个 游戏。我来 操纵蛇,他来操纵果子。那一次,我们玩的很投入,很过瘾,可能是因为加入了对抗的元素后,游戏变得更有可玩性了。这是我第一次体验到自己写的软件能为别人的生活带来乐趣的感觉。之后,那位同学给这个游戏提了很多宝贵的意见。修改之后的作品取得了很好的成绩。

       回首我编程的起步阶段,学校里那些认真负责的老师功不可没。另外,同样重要的,是和我一起学习,一起成长的同学。特别是我同寝的三位同学,辉很善于学习,无论是读书还是上网搜集信息都有独到的地方;谷写出的代码就像艺术品,每次看了他的代码,我都想把自己的代码重写一遍;万哥志向远大,记得他曾想用Java写一个word出来。

       他们帮助我调试程序的耐心,他们在计算机前专心编程的身影,他们在试用我编写的软件时的认真,汇聚成我成长过程中一股巨大的推动力量,使得我在编程方面能够有一个顺利而愉快地起航。衷心的感谢他们。

       最后,我还想对刚开始学习编程的朋友一些建议。刚开始学习编程时,面对纷繁复杂的编程语言,C/C++/Java/C#...,往往最大的困惑就是要学哪门语言。我的感觉是先学习一门基础的语言,比如C或者C++,这种语言给程序员更多控制机器的自由,比如内存的分配等等,也可以说更接近底层。

       在入门时学习这些语言可以帮助我们把计算机程序与硬件系统联系起来理解。然后再学习一门更新的语言,比如Java,C#等。这些语言中的很多概念是对C/C++的改进,所以学习C/C++后,我们可以更好的理解这些新兴语言背后的设计思想。

 

献给老师,我的编程之路系列文章

邹欣:回忆编程路上的启蒙老师

刘铁锋:物理老师的程序入门课

莫瑜:编程,从简单的开始动手

胡睿:感谢清华大学计算机系的朱仲涛老师

梁举:恩师的鼓励,从数学到计算机

李东:我的编程起步

陈远:兴趣是永远的老师

张晓:我与程序

posted @ 2008-09-09 16:53  博文视点  阅读(771)  评论(0编辑  收藏  举报