《C++ Primer》一书极不适合我国“国情”
客气地说,《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》竟也无法以她的厚重、凝练与深邃,唤醒众人回归理性和沉稳的道路。
奈何哉?
[解决办法]
学生党深表认同啊,感觉学校教的好乱,自学又不知道从何下手,只能一步一步慢慢摸索,效率好低。。。
希望能有个专业点的部门或学校、公司什么的能出一套系统化的教材,哪怕大纲也行,不求有多经典,只求能让我们能对整个计算机科学能有一个比较完整认识,而不是现在这学一点,那学一点,今天c++,明天java,后天又告诉你这东西得先看看操作系统,过几天又来一批老师说要了解8086,要学汇编,看样子是什么都涉及到了,其实搞的是什么都不懂~~
[解决办法]
哇哈哈哈哈~
和我刚接触C时差不多。弄了个TC,不知道怎么用。
现在虽然写了几年代码,但是对编译链接什么的,也没有关注太多。
对IDE的依赖太严重了。
[解决办法]
[解决办法]
楼主说出了一个真实的现象。
其实对《C++ Primer》这本书的书名的翻译,我一直有不同的看法,翻译成《C++精粹》比较好。 Primer本意是“入门书、初级读本”,比如国内古代《三字经》、《弟子规》、《龙文鞭影》之类的启蒙书;Prime则有“精华、精粹”之意。Primer是由Prime派生出来的。
[解决办法]
[解决办法]
我不同意楼主的观点
虽然我现在也是个C初学者
但就你引用的学生话语做个分析
我感觉你把问题夸大了
我刚开始学C时根本不知道IDE是个什么东西,一直到用了一个月VC才知道IDE是集成开发环境
直到现在也只知道创建工程建项目编程,但这丝毫不影响我学习编程
你所说的 大多数情况 是可以通过上网查使用说明解决的
问题的根源,恐怕就是在于:学生无法把握整个(哪怕部分的)计算机软件体系的结构性脉络
如果什么都要从最最底层一步一步开始,那几乎是不可能做到的,虽然看起来是最正确的
------解决方案--------------------
不能不提到一个“历史原因”,就是由于“经济压力”,建国以来的许多学生已经习惯于一本书的学习过程了,除了一本指定的教材外就没有看过其它的参考书、除了考试要考核的内容就没有看过其它的内容了、除了教师指定的范围就没有看过指定教材中的所有内容了;
这就是
“多--一本教材供全国、一个教师教他(她)都认不过来的多个学生”、
“快--只需教给学生最基本的、只用最短的时间教、考”、
“好--教师、学生的压力都不大、自然就好”、
“省--省时、省力、省心”。
这已经思维定型、行为定型了。
不是吗?就连许多教师也是这样的:一本教材数年不换(换了自己就讲不明白了)、连本象样的参考书都指不出来(自己没看也不想看)、拒绝回答学生从其它书籍中找到的习题(自己不会)、拒绝回答学生在指定范围以外的问题(也是自己没研究过)、。。。。
这样的话,最好是国外大而全的书籍视而不见、教学内容选自己会的、对学生过剩的学习热情冷嘲热讽、将学生的学习能力压制在啃那些基本条条难题怪题上(各种等级考试的题目)。。。。后果就是今天的大学生拿到大而全的书籍就不会看了、遇到与职业生涯真正有用的东西就不会学了、需要多种知识+能力综合时就不会用了、坐到计算机前就什么都忘了、。。。。。。
不是书不好,只是不会读
[解决办法]
LZ你让小弟情何以堪!!!
小弟接触的第一种编程语言就是VB(可以成为语言吗……?)
自己没事写写小程序 就觉得……我不能自己写代码吗?我一定要用他们写好的控件吗?我
我想要纯代码的!就是电视上面看到的密密麻麻的一排排的代码 我喜欢那种感觉!
so~VB自学了一段时间 开始自学C++感觉很好玩 我就要这种感觉!我就是要代码一排排!不要IDE MFC!
当然……我希望写出有图形界面的程序 甚至游戏 所以 我从底层努力!
[解决办法]
《c++ primer》注重的是用是动手,开始也没说明这样做是为什么。很明显作者是让读者先自行体会C++编程,当你累积了一定的基础与一定的不解时,他会在以后的章节来为你解释。---让你先碰壁,自己摸搜,然后解惑。
而我们国内的教材却是以基础为先,逐步深入,这种风格很符合我们的思想,没什么可说的。但必须要强调的是:我们这一代年轻人太浮躁,顺风顺水的没什么,一旦受挫折的话,就坚持不下去了,当然能坚持下去的基本也就支持了《c++ primer》这本书……这也许就是中国的国情。
没努力,不坚持