最近发现一个神奇的现象,不管从几年级开始接触编程,不管刚开始学的是机器人、Scratch 还是 Python,四年级后同学们都纷纷开始学习 C++……
为啥 C++有这样的魔力,能让学习编程的同学们都殊途同归,在小学高年级后选择学习它呢?
低年级的时候,小朋友的认知发展水平还不是很高,对于“好看”、“刺激”的东西更感兴趣,而理解和解决问题的意愿则弱一些。这时候,与学习围棋、画画、舞蹈类似,接触一些机器人、Scratch 编程可以引发小朋友的好奇心、创造力。
到了四年级,小朋友的阅读能力、数学基础都已经可以满足学习 Python、C++ 这类高级语言编程所需。这个阶段,有目标地用 Python 中的 Turtle 画图、用 C++ 求解问题都是合适的。
加之 C++ 作为后续唯一可以参加信息学竞赛使用的语言,对升学、选校有长远规划的家长往往也会引导孩子在小学高年级开始尝试 C++ 学习。
对于热爱科技的青少年来说,在中学阶段能得到中国科协和国家自然科学基金委的资助,能代表国家参加的计算机领域国际竞赛只有国际信息学奥林匹克竞赛(IOI)。而如果有同学想为国出战,则需要先在中国计算机学会组织的全国青少年信息学奥林匹克(NOI)中获得优异成绩。
根据国际信息学奥林匹克竞赛组织委员会的安排,2021 年及之后,IOI 竞赛中只支持使用 C++ 语言;相应的,自 2022 年开始,国内的 NOI 竞赛中也不再支持其他编程语言,只支持使用 C++ 参赛。
有的同学可能会好奇,为什么信息学竞赛不支持 Scratch、Python、Java 等语言呢?其实这是因为信息学奥赛重在对思维与算法的考察。
1、 C++ 相比于 Scratch 这种拖拽式的语言,编写起来更快速,更适宜用于快速求解清晰描述的问题。
2、而相对于 Python、Java 这样面向工程开发语言,C++ 内置提供的类库、包恰到好处,“拐杖”不会过多,因而也不会导致“会背书但思维差”的同学在竞赛时有不合适的优势。
3、另外,C++ 语言更底层,运行速度快。在编译器、编译参数确定的情况下,统一使用 C++ 语言完成的程序之间的效率是具有可比性的。这使得信息学竞赛不需要考虑如何合理地对 C++ 程序和其他“慢”语言的程序进行性能比较。
当我们知道了这些原因,应该就不难理解,为什么信息学竞赛只支持 C++ 作为参赛语言、为什么想要参加信息学竞赛的同学一定要学习 C++ 了。
很多家长选择让孩子学习 C++ 的另一个原因:为孩子以后的发展考虑。
随着前几年 Web 应用、数据科学领域的发展,Java、Python 等语言的工程师供给已经出现了供过于求的现象。而对于云计算、物联网、工业互联网、芯片、元宇宙等快速发展的领域来说,C++ 人才需求在快速增长。
据专家预测,C++ 工程师将是未来几年热门和受欢迎的职业,薪资水平也有望逐年升高。
家长千万不要觉得孩子还小,学不了 C++。其实学习 C++ 充分锻炼孩子理解和求解问题的能力、提升“计算思维”,会促进孩子更高效地完成其他课程的学习,让孩子有获得更好教育资源的机会。
(本文信息来源于网络,如有侵权,请后台联系管理员进行删除)