Arduino是类C++语言,很多人在刚开始学习这门编程的时候,都会有人向他推荐“谭浩强”。是的,我也不例外,早在我高一学习数学算法的时候,当时的物理老师就郑重向我推荐:此书值得一看。如果你是大一的学生,刚开始学编程,我也郑重向你推荐
然而随着后续我对编程了解的逐步深入,这本毕竟主要内容写于30年前的书的一些问题开始凸现出来。(特别特别滴声明,我个人非常尊重谭浩强教授,也完全认可这本书对于把门外汉带进门的贡献。)
下面简要谈几点:
1、书中都是小程序,变量命名随意,譬如int a,b,c
这会让初学者一开始就养成不好的习惯,变量命名最好见名知义,对读者后续继续深入编写大规模程序不利。
2、书中对抽象和代码可重用性强调不足,容易让人养成抠细节的习惯。
对于 追求开发效率>运行效率的 应用程序而言并不值得,但是却对学生了解计算机运行细节和为后续硬件相关知识(如微机原理、组成原理)做了一些有益的准备。
3、书中描述的语言细节较为陈旧,部分如今已经不常见,学生花费过多时间研究这些细节除对二级考试有帮助外实际用处不大。
譬如指针的高级应用,探讨编译器对语法的优化问题,这不是一本入门书应该做的事情。参考国外相关书籍,把指针内容分散到各个章节,并带上星号,分散讲述这个难点是个不错的选择。而编译的问题有专门的课程,如编译原理,应该交由专门的课程去系统论述,对大一的学生讲这个,其实他们不怎么听得懂的。