在解答“孩子为什么要学编程”,“Python和C++,我们怎么选择”之前,我们先澄清家长们选择让孩子学习Python或C++的两个误解。
信奥与C++之间的误解:我们可以这样说,C++是信奥的必要条件,但信奥不是C++的充分条件。即如果想参加信奥,就必须学C++,因为信奥采用的语言是C++(之前还有PASCAL,但后面这个语言会取消,只有C++了)。
但是学C++,并不只是针对信奥。C++(其实是C/C++)在计算机领域,可以这样说,在语言里,它是较贴近计算机底层的语言,象我们耳熟能详的操作系统Windows、Linux就是用C/C++来开发的。所以如果想要了解计算机底层的工作原理,我们也需要选择学习C/C++。
Python与人工智能的误解:为什么我们现在说到人工智能就剑指Python,这是因为Python在科学计算和数据分析上有它的优势,且语言本身又容易让人上手,所以可以说是机缘巧合,Python成为了当前人工智能的主流语言。
但其实人工智能的核心算法很多是依赖于C/C++的,象的机器学习框架TensorFlow其核心代码就是用C/C++写的。所以我们或许应该这样说,目前Python是人工智能应用领域的主流的语言,C/C++是人工智能核心算法的主流语言。
接下来我们通过一些类比再来尝试解答下“孩子学编程是选择Python还是C++”。首先声明一下,由于本人对于音乐的理解有限,仅限于一个普通人对于音乐的认识,而且这毕竟是两对完全没有相关性的事物之间的类比,所以下面类比不可能可以完全等同而言。较重要的是想通过这样的类比,让对编程几乎没有了解的家长们可以有一些直观的认识。