现在的位置: 首页 > 综合 > 正文

编程和番茄蛋(大家使劲拍砖)

2012年02月03日 ⁄ 综合 ⁄ 共 2168字 ⁄ 字号 评论关闭

   今天晚上,要给我们软08级的新生做一个交流会,要我去做专业学习方面的,自己最多也算是勉强刚刚入门,我面对的是没有任何基础的学弟学妹,想来想去就那这个番茄鸡蛋作比喻了,希望大伙给点意见!

1.       怎么学习编程

分析:这个应该是大家最关心的问题,也是我觉得最不好讲的问题。编程就相当于做菜,老师课堂讲的语法知识相当于菜谱,至于你能炒出什么样的菜,就看你自己在下面的练习和体会了。

 如何炒好一盘番茄鸡蛋?

第一步, 确定一个菜系

                            中国有八大菜系,鲁菜 川菜 苏菜、 粤菜 闽菜 浙菜 湘菜 徽菜 ,也就是说同样的番茄鸡蛋至少会有八种不同的风味,你要选择那种作为学习的起点呢。其实,不同的编程语言就相当于不同的菜系,区别在于实现同样的功能(番茄鸡蛋)采用了各自不同的处理机制(风味不同)。   对于一个从没做过菜的人,学习那个菜系的番茄鸡蛋是不是一样的,选择菜系的意义在于通过该菜系去了解番茄鸡蛋的入门级的基本方法,同样选择一们编程语言的目的在于选择你是从哪个门去进入编程这个领域的,对于什么都不同的新手而言,最开始学哪一门都是一样的。

 

第二步,记菜谱。

     选好了菜系,那么就要记菜谱了,菜谱告诉了我们:1.不能番茄鸡蛋里没有番茄,也不能番茄鸡蛋里没有鸡蛋。2.以怎样的方式使用番茄鸡蛋,比如放多少盐,什么时候放。菜谱告诉你炒番茄鸡蛋一些规则和方法,也就是说我们在学习编程的时候,书本上的语法知识仅仅是告诉了我们一些编程的必须遵循的规则和方法,这个是所有编程开发的基础。

 

第三步,炒出能吃的番茄鸡蛋。

  菜谱记的再熟不见的你能炒出好吃的番茄炒鸡蛋。课本上的语法记得再熟不见得你能写出漂亮的程序。厨师要把菜谱告诉的信息变成现实中的番茄鸡蛋才有意义,我们要把课堂学到的变成实际存在的代码才能体会到编程的意义。这个转化的过程中目的在于学习,只要你炒出来的东西能吃就行了,只要你能实现老师布置的作业或者书上的练习题就好。

 

第四步,炒出好吃的番茄鸡蛋。

                              我们的要求不能这么低吧,肯定不能满足于能吃而已,那我们尝试做一盘好吃的番茄鸡蛋。重复的背菜谱能提高番茄鸡蛋水平吗,不能!多炒几盘才是硬道理。那么重复的记忆书上的语法规程能提高编程水平吗,不能!多写几遍才是王道。从能吃到好吃这个过程是经验的积累,从实现功能到熟练的编程这个过程也是经验的积累。

 

第五步,炒出创意的番茄鸡蛋

                               已经能中规中距的炒出一盘好吃的番茄鸡蛋了,还不满足,那就在创意点吧。比如,我们能不能变化番茄鸡蛋的存在形式,菜谱上一定是最好的吗。把鸡蛋换成煮好的茶鸡蛋怎么样,换成鸭蛋呢。换到编程上来,同样的功能,我们是不是可以用另外的方法实现,老师讲的就一定是最好的方案吗?我们完全可以去尝试使用自己的方法实现同样的功能。从好吃到创意是个思维延展的过程,从熟练到怀疑的态度也是个是思维延展的过程,但这个过程有一点很重要,不论的你的思维怎么延展,一定要把你想的编程现实,能用了才是对的。就相当于光更改菜谱没有用,创意版本的番茄鸡蛋能不能吃,还要炒出来尝尝看。

 

第六步,炒出人性化的番茄鸡蛋

                             经过前面的训练,我们现在已经可以炒出来相当有水准的番茄鸡蛋了,但是我们忽略了点,我们炒番茄鸡蛋的目的是什么,也就是说我们编程的目的是什么。 除了自炒自吃,更多的时候是炒出来的番茄鸡蛋给顾客吃的,而这个顾客又是厨师所不能控制的,顾客的爱好有很多,稍咸一点儿、清淡一点、要辣椒、不要辣椒等等,这个时候你要根据不同的顾客去炒出不同的番茄鸡蛋了,才能让顾客满意。那么编程呢,除了自娱自乐,编程或者说软件开发最重要的是服务于客户,你不能去要求客户什么,那么就需要我们自己根据不同的应用环境来变通了。从创意到人性化这个是认识挺高的过程,不要把自己的思维局限于技术本身,某种程度上可以说是客户的需求决定你要选择的一切。当然类似于番茄鸡蛋不要鸡蛋,这个没事找抽的可以不予理会。

 

第七步,炒出其他菜系的番茄鸡蛋

                             经历以上六步,修炼成一个番茄炒鸡蛋的高手是没有问题的了。这时候你肯定会发现各个菜系的番茄鸡蛋从菜谱到手法上其实差不多的,区别仅仅是一些调料的或者其他方面的小差距。对于编程而言,你会发现其实很多语言在设计上同样有很多相同的地方,但是由于一些具体细节的实现机制不同会有一些细微的差别。对于番茄鸡蛋而言,炒菜所需的方法是固定的,具体实现上会有些小差别,对于编程而言,编程的思想是固定的,具体到实现方式上会有一些不同。

 

      当然番茄鸡蛋比较简单,编程又是个比较复杂的东西,这个我体会的方法希望会对大家有所帮助。经常炒才炒出好吃的菜,经常练才能写出漂亮的程序。 菜谱记得再熟,饭店不会要这样的厨师。决定厨师水平的就烧菜的能力怎么样,也就是菜烧得好不好吃。 语法记得再熟,公司不会要这样的程序员,决定程序员水平的是编程的能力怎么样,也就是程序写得好不好。

 

重要的不是菜谱,而是使用菜谱的能力。对于学习编程而言,重要的不是语言本身,而是驾驭语言的能力。

【上篇】
【下篇】

抱歉!评论已关闭.