《C++ Primer》真的适合入门吗?

来源:互联网 发布:软件测试技术语言 编辑:程序博客网 时间:2024/06/05 09:39
客气地说,《C++ Primer》不适合大学C++基础课堂教学,也不适合初学者入门。

不客气地说,恐怕你们的大学老师也搞不定《C++ Primer》,更别说拿这本书教学生了。

更不客气地说,国内能把《C++ Primer》读精、读透的人,能有多少?

从某个层面说,《C++ Primer》极不适合咱们的“国情”。

当代学生学习(包括自学)计算机编程语言的“基本国情”是什么?

恐怕最突出的一点,莫过于 —— 追求IDE的直观效果(虽然他们中的许多人压根儿就不知道“IDE”是什么)。

计算机软件方面的学习,没个图形界面的东西怎么行?没个窗口,哪里还是什么软件?

你让我学编程,在哪儿编?在哪儿写?

在写字板里写?在Word里写?写出来怎么运行?

写字板和Word能把我写的东西“另存为”.exe文件吗?

那还不得有个工具啥的?最好来个“txt2exe”或者“doc2exe”!

不是有那啥“rm2mp4”可以让我下片子转到手机里看的嘛!格式转换嘛!

听说,有个工具,叫“编译器”,可以把程序变成.exe文件。

好,咱下载了cl,还有g++,行了吧!

双击它,唉?怎么有个黑窗口一闪而过呀?!别是中病毒了吧!杀毒杀毒,那啥,360杀一下……

《C++ Primer》书上说,可以用“C:\directory> cl -GX prog1.cpp”。

这是啥意思啊?在程序里加一行“C:\directory> cl -GX prog1.cpp”?是加在#include那边,还是加在main(){}里面呀?

不管加哪儿,我都试过了,没反应啊!保存了再双击打开,还是啥反应也没有呀!

《C++ Primer》这个大砖头,到底怎么教我编程啊?里面怎么连一个编程窗口也没有呀!!

—— 诸位看到了吗?这就是咱们学生学编程的“基本国情”。

IDE、编译、链接 …… 等等这些极为重要的基本概念,很少有被厘清过。

不夸张地说,现在的大学老师,你去问他“编译”究竟是咋回事,具体怎么操作,能为学生讲清楚的,有多少?

你不是问“编译”吗?你自己去找书看!

好嘛,学生屁颠儿屁颠儿地去搞一本《编译原理》来看……

原来是一个大砖头,现在是两个大砖头,极尽坑爹之能势!

问题到底出在哪儿?

问题的根源,恐怕就是在于:学生无法把握整个(哪怕部分的)计算机软件体系的结构性脉络,课堂教育无法给与他们准确和细致的向导。

对于广大学生来说,计算机软件在他们意识中最感官、最直接的印象,几乎都是从图形界面、游戏、QQ聊天、淘宝网购等等获得的。

就拿命令行对话模式(一种一维顺序性对话模式)来说,大多数学生对它是极其陌生和难以理解的。他们已经太习惯于图形界面(二维的甚至是三维的(加上时间维度体现出的动态过程))。所以,对于编程这门学科,他们仍然认定IDE甚至是RAD才是学习和操练的基础。

如果把《C++ Primer》交给这群学生,作为入门教程,他们的反应可想而知。

《C++ Primer 中文版(第4版)》(人民邮电出版社)是一本16开、足有近千页的大书(售价近百元人民币),可是里面没有任何关于IDE操作的教导。

更要命的是,对于这些学生 —— 在GUI丛林中泡大的孩子、GUI的中毒者、WWW的滥用者,他们学习编程如果有“明确的”目的的话,那几乎一定就是编写Windows GUI软件:搞个QQ盗号木马似乎遥远了些,但起码也要写出个GUI计算器才行呀!

《C++ Primer》能满足这样的需求吗?

用C++去编写Windows GUI程序,即便算是MFC、VCL这样的“捷径”,对于这些学生来说,仍然太过深奥和遥不可及。

有些学得稍微“深”一点儿的学生,知道Visual Basic可以“编写”GUI程序 —— 其实那种“编写”是基于RAD的 —— 他们便望文生义地将“Visual”与RAD画上等号,于是,他们自然地选择了Visual C++,可是结果必定让他们失望,Visual C++ 从6 到 .Net,没有任何RAD的迹象。

也就是说,即便他们读懂了《C++ Primer》(虽然这是极难的事情),也无法获得关于RAD的半点“实用知识”;《C++ Primer》也无法提供他们达至MFC、VCL这些实现GUI编程的“捷径”的“捷径”。

在一个充满虚无感、焦躁习性的世代,《C++ Primer》竟也无法以她的厚重、凝练与深邃,唤醒众人回归理性和沉稳的道路。
1 0
原创粉丝点击