C++如何学,一对一教学效果好吗?
国内计算机系C++教学质量低下
1 除了少数985,基本上都在教C with class.
2 作业里大量用到C的数组,字符串,不介绍STL。
3 输入输出文件没有用STL体现C++的优势。
4 C++的核心语言特性复制控制没有重点介绍。这是大量问题代码产生的根源,也是C++高效优雅处理问题的利器。工作多年的开发有的都抓不住这个重点。
5 学生没见到过高质量的示例代码。
6 国内计算机系教材不以经典优秀书籍作为范本,而是使用不知道什么人写的垃圾教材。985院校的教材:
计算机研发人员的核心能力
无非就是:理论+实践。
理论包括:数据结构与算法、组成原理、操作系统、计算机网络、编译原理、数据库。
实践包括:编程语言、集成开发工具使用、基于动态库的工程组织、版本管理、代码规范、重构、文档、产品思维、市场思维、需求意识、沟通方式方法。
工作以来,我越来越觉得让我在各种框架里游刃有余,在各种规模的代码里游刃有余的无外乎3点:1 扎实的C++基础;2 DLL模块化;3 工程实践经验。
带学生的感触:
每当带学生远程写代码,看到他们秒懂,立刻开始敲键盘写代码的时候,我都羡慕他们。羡慕他们精力旺盛,思维敏捷,简直就是学习机器。这么美好的时光,不去进步,怎么对得起自己的这状态啊!
教的目的是为了尽早不再教。千万别以为我是辅导班老师,希望你续课。我只负责带你入门,带你上路,不能陪你走到最后。因为还有更需要帮助的人需要我。
新人学习开发常见的几个误区:
1 案例选择不恰当
很多同学总是想去实现一个线程池,内存池。他觉得面试官用人单位会觉得有实力。在没有实际需求场景的情况下硬去实现这样的库肯定是空中楼阁不得要领的。
2.3k赞 形象的比喻介绍了多线程多进程的概念,以及Linux Windows 多核 少核 场景下的不同。
2 眼高手低
数据结构与算法不想去写,觉得都会了。相反,我的作业恰恰很多都是各种C++容器的实现。根据我的经验,这些都合格了,看任何规模的产品代码,库代码你都可以游刃有余。
但是,同学们在真正参与到大规模代码之前,总是认为要弄一个足够复杂的项目来做才能提升实力。这一点我不否认,但就我遇到的情况来看,绝大多数人都不具备进入这一阶段的条件。目前为止,具备了迈向更大规模代码的能力。
实际情况:无论是做产品还是做项目,90%的工作都是搬砖,都是基础,都是规范,扩展,复用,迭代,工程,你职业生涯就算70岁退休,也许实际项目里都不会写一个什么内存池,线程池。99%的人都不需要这玩意儿。相反,基本功到了,写这个也是分分钟的事。
我和其他人最大的区别是什么?
1 知乎上,各大博客上,视频网站上不乏文章,视频教程教人写程序,做设计,学开发。但最大的特点就是没人陪,没有一个活生生的作者陪着你!语音电话,语音消息,截图,或者远程。