background image

学习C语言,千万不要用我们在学校里学英语的方法,而要用小孩学说话的方法。我

们学英语的方法,就是我们在本科时学C语言的那种模式(这里,我们的这个网友同志给
我们很漂亮的玩了一把很标准的循环逻辑):详细搞懂每一个细节,背大量的规则,很
少上机实践,没有解决实际问题,最后由一纸考卷来断定学习成果。这种模式的后果大家
都清楚:我们不少人学了十几年英语,可还只会四五千个单词,写百把字的文章,但不
会说,更不能听;尤其要命的是,居然看不懂计算机中的英文帮助文档。我们要象小孩一
样,在使用中学会语法、修辞和词汇;一开始肯定只能编出最糟糕的程序,就好像小孩开
始只会说:“

爸爸坐车车 ;但“爸爸” “

和 车车”,这样的学习效率反而最高。学C语言的时

候,应从我的需要出发,先做一个最简单的东西,然后一点一点复杂起来,象滚雪球一
样。

这是一个单片机网友关于编程语言学习的观点,他把语言学习概括出两种模式:①

不少的大学生的模式;②小孩的模式。

他跳开学习C语言和英语的具体情况,来讨论语言学习中的两种方法;他从我们母语

学习的实践,来思考英语和C语言学习中的共性问题。这就是一种居高临下的心态。我们很
需要这样的心态。积极主动地进行这种反思和讨论,无论是对我们的英语学习还是对C语
言学习都很有意义,所以介绍给同学们,并进行讨论。

我的意见:第一:在语言学习中的确存在这两种模式。他所谓的 大学生模式 不妨认

为是从 一般 指导 具体 的模式; 小孩模式 不妨认为是从 具体 上升到 一般 的模式。
但是不要推到极端,不要绝对化,尤其不要作非此即彼的简单割离和划分。小孩学习语言
效率高,不完全是事实,还因为任务负担不重、驱动力很强烈、没有其它语言的干涉。

第二,强调小孩方式,强调积极进行语言实践,在用中学,这是对的。但有小孩学母

语,有两大不同的因素:在无处不在的母语环境中学习自然语言的母语。过程极其复杂而
漫长,因为其间还伴随着思维方式和思维习惯的形成。我们大学生和小孩大不一样,大学

生已经很难完全 复制和克隆 小孩的这种过程了:语言环境不同,智力状态和思维习惯
不同,任务负担不同,尤其,我们这里学习的是人工语言C51。

C51语言是人工语言,它不是自然语言,规则性比自然语言强得多,语言现象简单多

了。而且我们面临的C51,或多或少已经具有C

语言的背景。因此我主张从 一般 指导 具

体 的方式,但强调语言实践,首先强调在用中学。

第三, 在用中学 不能无所用心,不在意、无所用心,抱一个消极的 用多了自然就

会 的幻想是不行的。在 用中学 ,这是基本原则。处处留心皆学问 ,一定要自觉的刻意
的 “

用 一般规则 指导 学语言用语言中的具体 ,自觉刻意地从 具体 验证、领悟、强化、上

升到 一般 (什么是领悟?啊,是这样的,学苏东坡, 浮一大白 )。就是说,读程序编

程序的时候既要 一般 指导 具体 ,也注意从 具体 上升到 一般 。勤于实践,双管齐下,
左右逢源,怎么得劲儿就怎么来。

在用中学 ,一定要勤于语言实践,网上有5000行的说法。勤于语言实践。

第四,这个网友的 滚雪球 的说法,即从一个最简单的东西开始,然后一点一点复

杂起来,象滚雪球一样。这个观点我们很赞同,特别推荐给你们,我们要由浅入深,逐步

推进。先读程序(范文的重要性,真所谓 熟读唐诗三百首,

不会作诗也会吟 ),再写程

序,在编写中也是先做一个最简单的,然后一点一点复杂起来,滚雪球。但是,我们必须

注意,刻意 上升到一般 、刻意模仿。

对于C语言学得比较好的同学,在C51

学习中可以找到 轻车驾熟 的感觉;曾经在C

语言学习中举步为艰的同学,也会在找到 似曾相识 的感觉。只要不轻言放弃,可以在
C51这里找到感觉,重建信心。说不定,一下子豁然开朗柳暗花明,于是不善罢甘休,得
寸进尺,返回去深入学习C语言,一不留神又把C语言给搞定了。这是有例子的。这是我们
的一种期待。