前言:

一直有个目标:出一本书,适合大众阅读的书有趣的书。 一直有个目标:让更多的人体会到程序设计的乐趣。

在遇到乐高积木前,这两个目标是分离的。现在这两个目标可以合二为一了。

有许多人可能没想过成为程序员,但想过了解一下电脑的神秘,成为程序员是最好的办法,可又苦于无处下手,选什么语言来学好呢,纠结于哪种既简单又有趣;也有人想成为小说家,但想一下子写出经典作品来,一直未出手写,所以老是处在想的阶段。其实最重要的是行动,走出第一步至关重要。这本书的目的就是引导读者——不论你是中学生小学生或是大学生,是少年人还是老年人——成为一名程序员,工作就在入门上,先不要考虑难与易,先动手再说。

动手之前,还有点私人感慨抒发一下。

将程序员和小说家联系到一起很偶然,有两点原因。首先,程序员与小说家有许多相似之处,都是用语言来写东西,都需要熬夜,都需要创造性,都显得很神秘很高尚一般人象无法深入其中。另外一点是,很有意思也很幸运,我在这两方面都曾尝试过,并且在我的周围,出来一个世界级的大小说家——莫言。由此,诺贝尔文学奖成了家乡最大的事,这成为高密这个县级市里面最热闹人们最为关心的话题,此事件从莫言获奖开始一直持续不断的热了几个月时间,现在冷却了,但是,诺贝尔的世界级的份量仍然很沉重地摆在那里。诺贝尔奖是许多领域中很多人的梦想。我儿时也有一个梦想,不知是因为当时受小有名气的莫言的影响还是别的什么原因,想成为一名小说家,从初中开始写小说,作品屡投不中屡次未能在刊物发表,看来与收获诺贝尔奖是差距巨大了,但写作给我最终的收获是使自己成了一名程序员。

真正开始深入的研究电脑编程,是从2000年开始,些时离我大学毕业有六年了,说实话,大学里的日子写小说的时候比看专业课的时候要认真得多,而成为一名教师后,开始教相应的程序设计课程时,小说写作不得不暂时放下,但写作还在继续,从写作小说到写作计算机编程,慢慢开始认识到小说与程序类似的魅力。

转变的开始是迷茫而艰难的,选择什么样的语言,针对什么样的东西来写程序,使自己思索了很多,现在的Scratch以积木的形式,可以使许多初学者以其为初始,向更多的计算机语言扩展。我刚开始选择的是BASIC语言,思考着改变素材能否提高对编程技术与电脑的兴致的同时,进入Visual Basic(以下简称VB)语言编程的提升时期。

从2000年开始,由于教学过程中遇到的教材陈旧问题,开始更新计算机语言教学方面的资料,开始研究VB计算机语言应用,从教学实际情况出发搜集素材,整理成游戏编程系列。有扫雷、迷宫、出圈游戏等游戏等代表作品,不仅如此,开始从实际应用出发解决问题,通过烟囱弯脖问题、选择题考试等作品来归纳,并且第一篇作品《用VB实现选择题考试》在《计算机世界》周报上发表。现在看来这个程序实在太稚嫩简单了,但那却是一个开始,正是自己真实转变的写真,大家可以看本书第2章第二回的爱因斯坦的板凳,这个问题其实也非常简单,象不值一提,但任何简单的哪怕简单到简陋的东西,都是我们很好的起点。以此为开始,通过与数学等科目结合整合教材增加教学资料的趣味性与可用性,写成趣味数学问题解题,编程小博士等系列作品。总起来看,此阶段主要研究工作集中在程序设计与学习层次。通过将资料集中与再造,以推出适合学生学习的趣味生动教材为目标,通过结集发表将自己的经验同更多人交流和分享,获得反馈后继续加以改进,最后经过不断努力,将写作与编程结合,有了作品出炉,开始在报刊杂志上发表,先后推出扫雷编程系列,编程小博士系列以及趣味数学编程系列和阿兰程序演义系列四个系列集,本书中第2章和第3章主要来源于后面两个集子。其实写作与发表作品并非想象的那么难,因为之前有过写作十年却只字未发的窘境,而这一转变使得我开始对程序着迷,开始深入程序设计。从一个写作的老者到一个编程的新手,如何成长为一个编程的优秀者?带着对这个问题的思考,我的编程进入第二个阶段。

第二阶段开始对最成功的程序设计者的经历与经验进行探索,通过成功人士的方法以启发我们学习一种东西以达到成功。通过探索成功程序人物和及其研究方法,有了新的系列,寻迹系列专访。这个过程与自己对所教学生的思考和自己的思考密切相关,教学的过程中,面对初中升学过来的文化课成绩最差的一部分学生,是否他们天生不是学编程的料?一遍遍教不会的历程,也一次次问自己,是否自己不是当教师的料?这两个追问,激发了向最优秀者去寻找答案的想法。

2004年开始,因为在通过实际教学体验体会到教材的改进方面对于教学效果改进局限性,教学效果不很明显,开始将重点从语言本身转到和语言相关的方面,如语言的诞生过程、学习语言的方法、语言与语言之间的整合等。通过一系列专访,通过互联网或面对面采访了十多位计算机方面的专家学者,开始形成这方面的体系。采访对象包括C++语言之父、C语言之父、STL之父、Pascal语言之父,互联网之父、N-S图之父、LOGO之父、计算机程序设计艺术教授以及LEGO头脑风暴机器人之父等专家。通过专访系列的完成,对行业发展有所对比,对于教学中出现的问题有了更好的借鉴,也从中看到了自己专业知识方面的差距。C++、Pascal语言与C语言之父的经验说明,对于专业知识要执着地研究,坚持不懈,最终会取得受人瞩目的成果,他们在自己的行业内都坚持三十年之上,特别是C语言之父,在自己的行业内乐此不疲达到五十年,正是半个世纪的坚持,才使其技术成果光芒四射。通过计算机程序设计艺术教授,告诉我们对于后续的教学与研究,要积极地总结前人的知识,将其形成可交流的文字材料,更要积极利用现在的互联网等先进手段。而通过N-S图之父,LOGO之父以及头脑风暴机器人之父,更进一步体会到教与学要讲究方法,教学的过程中,要增加多感官利用,手脑并用,通过实际与实践加深学习的效果。不论是莫言的成功还是这些成功的程序语言成功人士,都离不开坚持,莫言坚持35年之久实现了自己的最高理想,诺贝尔奖,而现在已作古的C语言之父在自己热爱的行业里坚持达半个世纪之久。坚持的精神是至关重要的,成功没有捷径,只有不懈的努力。又是什么塑造出这种长达几十年的忠实的努力呢,以此为出发点,进入个人程序设计的第三个阶段,提升行业兴趣。要提升对行业的兴趣,先要了解这个行业。

第三阶段,深入了解和观察行业,对行业的问题提炼我们自己的观察和思考:IT评论与行业观察——博客写作。将自己的观察与体验整理,与更多人交流。

方法和教材的改进仍然不能解决教育教学过程中的许多问题,教育本身并不能解决所有的问题,IT教育也是如此。从2006年开始,对行业进行观察与思索,想通过建立一个广泛的行业通识圈子,以达到提高学生学习兴趣的目的。通过IT评论《请放网吧一马》,开始对行业进行综合思考与评价,当年发生在方山县的全国首个“有网无吧”县事件在业界震动很大,将许多地方对网吧的极端态度显露无疑。以此开始,在《计算机世界》发表IT评论,由时下新闻积极加入自己的思索,而后,通过和《电脑商情报》家用电脑周刊、《电脑报》网络与软件版合作,在新闻版推出热点新闻评论专栏,对每周IT新闻热点事件进行比较综述。由于网络的普及,许多日常事件同IT关系越来越密切,IT事件很多,其中涉及许多值得业界思考的地方,时下的热点事件很多,象网络游戏、杀毒软件、盗版、搜索引擎等都引起业界极大关注。由于纸媒传播的局限性,此时也开始个人网络博客创作,通过IT博客IT狼闲评发表自己的观点,与网友和相关专业人士形成互动。这些相关的知识对于编程能力的提高有一定帮助,但作用并非立竿见影式的。原因在哪里呢? 我们教学或自学或学习某一专业知识起效趋微的原因在哪里?我们需要如何学。优秀的个体给我们提供了最好的例证,我们需要从最优秀的个体中学习如何求知,如何处事,如何做人。是教法、教材还是因为我们的学习环境太简陋,导致我们不能好好地学习知识,还是由于其他的原因,使我们对知识缺乏必要的兴致与兴趣呢?是由于我们的父母对我们管教太严厉或太宽松,还是由于初中小学时某一位老师,激起同学对某一学科的义愤?这些可能都有,最根本的原因在哪里?还在我们自己。

我们需要检讨自己的行为,重拾自己的优点,以获得对生活、对知识的热爱与激情。从2011年起,通过对幸福课(积极心理学Positive Psychology)的实践,教与学起效趋微的原因慢慢浮出水面,最重要的点在于我们每一个人自己。谁能解决这一问题,还要靠我们自己。爹娘,老师,朋友都是外力,最重要的是我们自己。重新认识自己,在传统与新潮间找好自己的定位,在优势与缺点的对照中重新发现自己的优点和优势;改造自己思考问题的方式,以开放的态度面对问题,多看到问题的积极一面,注重实现的过程而不仅看最终的结果,使普通的你变优秀,使优秀的你变卓越;培养自己的兴趣爱好,以百分百的热情对待新知,以百分百的投入来干一件事,想干任何事都没有一下子成功的秘笈,秘笈都是老老实实努力刻苦地去干,并且从任何时候开始都不算晚。在追问幸福的秘密时,我们的学习生活中需要什么样子的自己?重新发现自己的优点,正视自己,实现个人的成长。这看起来与编程没有关系,但正是从程序与写作的融合中让我看到兴趣的力量,从写作的兴趣扩展到编程的兴致,从一个方面的优势扩展到另一方面的优势,编程让我找到了自己的生活目标和努力方向,同写作结合的编程给了我许多充实的时间和快乐的体验。

我不可能象生活在与我同一时候的高密籍作家那样获得诺贝尔大奖,但通过写作我收获了编程。计算机程序就是这样一种可以帮助人们天赋获得发展的良好的辅助用品,可以让人们收获更多的人生幸福和快乐。写作和程序让我重新发现了自己,找到了充实的可以稍有作为的生活,希望对于计算机初学者和编程初学者能有所启示。图形化的Scratch语言,通过积木的直观形式,可以将语言的有趣的部分传达给更多的人,通过一种巧妙的工具,人们会发现自己更多的东西。

下面的书中,是本人在电脑商情报、软件报,中小学电脑报、电脑报等报刊发表相关编程类文章的再创作,因为用了N-S图,有了图形的方式,使我从一个写小说的非著名小说家成长为一名程序员。因为有了Scratch,图形化可以直接变成可执行的电脑程序,这样,这部原本非专业人士才能艰难解读的书,可能被更多人了解,并从中体会到乐趣。

(初稿发于2014年2月上《电脑编程技巧与维护》)

博客地址:http://dadalaolang.blog.ccidnet.com/。

百度一下:IT狼闲评

电子邮件:zhao.yuyong@gmail.com

赵玉勇 2014年10月1日