新手学编程的捷径 新书学编程,第一件事怕的就是怕看不到编程的全貌,这种由未知带来的信息恐慌是很真实的,因为: 1,首先,你不懂得该如何选择语言,而选择语言,几乎是任何编程(工作或个人爱好所致)的第一步; 2,即使已经自认为选对了语言,你也时不时会被各种其它的问题所困扰,你会发现编程远远不止是搞定了一门语言和“hello world”之类的范例(或者即使比helloworld复杂一点吧)那样简单,这是因为,语言问题从来都不只是单纯的语言问题,它还涉及到诸如平台,设计这样的问题体系,所以,对于这门你认为选对了的语言,你可能永远不能熟悉它; 3,所以你就难于真正用这门语言去开发实际的东西(即使是对于那些在某某语言某某库工作了多年,“有经验”的开发师而言); 4,所以你就难于对编程界的新东西提起兴趣(而这几乎是致命的); 5,更多所以...... 6,而无论如何,这是一个问题,not or not to be,that is a question; 7,一切,仅仅需要找出问题的所有症结; 8,而答案只有一个:你得从基础上去理解“编程”,这对新手和高手都是相同的; 9,新手成为高手的捷径就是“从基础上去理 解编程”; 学编程与学英语的对比 对于学英语,在学校教育一般有以下几个阶段: 1,语法教育,对于母语不是英语的东方人来说,语法几乎是他们学习英语的拐棍,因为母语是可以先熟悉然后去学的,而英语,我们只能走一条先理解后熟悉,然后再最终学会用的道路。 2,其次是单词,句式等语言元素的教育,这就是所谓的“背单词”。 3,即是培养对英语言的语感,最终学会“用英语”,比如,你能用学到的英语看懂一篇文章(或者完成英语考试中的阅读理解),这也属于使用英语(阅读理解就是“模拟使用英语”)。 编程的教育与学习与英语有着从基础上相似的特性: 1,理论教育:计算机平台原理,软件原理,编译原理,语言语法,编程范式,软件工程,工具的原理; 2,类库,API,这些编程中要使用到的一切元素,以及对领域问题的理解; 3,结合所学到的理论和实践,用编程语言和类库来解决问题; 《编程新手真言》理论与实践巧妙地对应了这些过程: 1,理论篇构架了一个从平台原理到软件工程的整个网络,使新手能够全面地看待整个编程; 2,《附录-习题与演练》中提供了对语言实践的讲解,英语实践不一定指实时实地地与外国人交流或外交活动,任何能加重语感,对以后你运用英语有帮助的活动都可称为实践,比如阅读理解等,故编程实践也不局限于用一种编程语言去实现某个问题,促成某个软件,任何能陪养以后编程能力的活动都是编程,在《编程新手真言》的实践部分,我们提供了一套基于python这种类似自然语言书写的编程实践。这对新手的学习是尤为有利的。因为这可以使他们在没有任何实践或很少实践的情况下了解编程实践,与《编程新手真言》理论部分提倡的科普式的教学效果有着紧密的对应。 3,穿插在整书第二部分的《c++,boost实践》提供了对c++语言,python语法,及 boost的全部解说,并提供相关实例,使新手能够在编程时有实际的例子可依. 网上流传的语言教程大部分只配称为参考书,只有传授思想的才能称为教学,它们只是一遍一遍地重复记载那些属于参考级的知识,本书即是对它们的一个突破 4,《libevase开发实践》从无到有地,从工程眼光的角度构建了一个实际项目(素材是涉及到编程几乎全方位的游戏开发); 解编程”; 学编程与学英语的对比 对于学英语,在学校教育一般有以下几个阶段: 1,语法教育,对于母语不是英语的东方人来说,语法几乎是他们学习英语的拐棍,因为母语是可以先熟悉然后去学的,而英语,我们只能走一条先理解后熟悉,然后再最终学会用的道路。 2,其次是单词,句式等语言元素的教育,这就是所谓的“背单词”。 3,即是培养对英语言的语感,最终学会“用英语”,比如,你能用学到的英语看懂一篇文章(或者完成英语考试中的阅读理解),这也属于使用英语(阅读理解就是“模拟使用英语”)。 编程的教育与学习与英语有着从基础上相似的特性: 1,理论教育:计算机平台原理,软件原理,编译原理,语言语法,编程范式,软件工程,工具的原理; 2,类库,API,这些编程中要使用到的一切元素,以及对领域问题的理解; 3,结合所学到的理论和实践,用编程语言和类库来解决问题; 《编程新手真言》理论与实践巧妙地对应了这些过程: 1,理论篇构架了一个从平台原理到软件工程的整个网络,使新手能够全面地看待整个编程; 2,《附录-习题与演练》中提供了对语言实践的讲解,英语实践不一定指实时实地地与外国人交流或外交活动,任何能加重语感,对以后你运用英语有帮助的活动都可称为实践,比如阅读理解等,故编程实践也不局限于用一种编程语言去实现某个问题,促成某个软件,任何能陪养以后编程能力的活动都是编程,在《编程新手真言》的实践部分,我们提供了一套基于python这种类似自然语言书写的编程实践。这对新手的学习是尤为有利的。因为这可以使他们在没有任何实践或很少实践的情况下了解编程实践,与《编程新手真言》理论部分提倡的科普式的教学效果有着紧密的对应。 3,穿插在整书第二部分的《c++,boost实践》提供了对c++语言,python语法,及 boost的全部解说,并提供相关实例,使新手能够在编程时有实际的例子可依. 网上流传的语言教程大部分只配称为参考书,只有传授思想的才能称为教学,它们只是一遍一遍地重复记载那些属于参考级的知识,本书即是对它们的一个突破 4,《libevase开发实践》从无到有地,从工程眼光的角度构建了一个实际项目(素材是涉及到编程几乎全方位的游戏开发);