学什么编程语言好?Python等于容易学,C++等于全都要?

各地初三高三开学时间陆续确定,其他年级返校日子似乎也有眉目,正常开学指日可待下,兴趣班再次成为家长群中热议话题,其中尤以青少年编程最受注意。

孩子要不要学编程?

学哪种语言好?C++还是Python?

哪种语言就业前景理想?

学什么编程语言好?Python等于容易学,C++等于全都要?

灵魂发问三连击

这确实是个好问题。

到底该不该教孩子写程序,如果教,该教哪一种程序设计语言,怎么教?

以编程从业人员的角度来看,哪种语言并不重要,关键是从编程语言学会软件开发的方法,这才是安身立命,可以用来吃饭的本事

如果说你的孩子学习编程语言的目的,是将来希望从事这一行,那么C++或许是较好选择

C++,任何学编程的人,对其或多或少都会带有憎恨,而且一辈子可能也不会用C++写一个超过100行的程序。C++之所以不招待见,因为它太接近计算机硬件了。

作为一种强类型语言,也就是说,C++需要直接声明和定义变量的计算机语言,写程序的人必须了解,什么是整数,什么是实数,什么数有符号,什么数无符号。解决问题,我们必须搞清楚,实数需要小数点后几位的经度,整数需要几个字节。问题复杂了,需要分配内存,需要传递复杂变量,就要涉及地址和指针。把这些细节搞清楚,的确是需要花点时间学习计算机的硬件和原理。

因为这个,很多人都望而却步打了退堂鼓。然而,对那些肯花时间钻研的人,一旦弄明白了底层细节,以后操作计算机就像是庖丁解牛一样,可以轻松玩耍。通过C语言学习编程,起点高,的确有点难。对很多人来说,就像是撞墙一样痛苦。可是一旦把墙撞破了,就可以把头伸进计算机的内部世界,能够享受把自己的想法转变成计算机程序的自由,最终可以驱使计算机替你思考。

相对于厚重坚实的C++,Python在软件开发上,更倾向短平快的特点。Python可以算最成功的解释型语言,没有之一,而是唯一。而之所以受编程人员喜爱,其中原因离不开以下几点:

学什么编程语言好?Python等于容易学,C++等于全都要?

其一,严格的程序书写规范。

Python的作者深受Perl语言自由灵活书写风格之苦,要求Python的开发者,必须按照既定的规则,书写每一行程序,否则Python解释器跟你没完没了地抱怨,这样确保了Python代码有良好的可读性。

其二,Python程序既能面向过程,也能面向对象。

什么是过程,什么是对象,如果你写不了200行的程序,没必要去敲破脑袋搞清楚。

其三,Python提供了丰富的基本数据结构,例如元组(tuple),列表(list),字典(dictionary)和集合(set)之类的数据结构。

对于C++的开发者,如果使用这些数据结构,需要学习复杂的标准模板库,要么自己去开发,总之是费时费力。而Python的用户,可以轻松使用这些数据结构带来丰富功能。

最后也是最重要的一点,Python有极其丰富的共享资源。

对于一个应用Python的软件开发人员而言,一定要记住,你是在用Python而不是开发Python。对于任何一个常用的计算机操作,不管复杂与否,开发人员基本上都可以在网上找到免费的Python代码库。开发人员需要做的,就是开发尽可能简单的Python代码,调用这些代码库,完成自己的任务。

Python容易不容易学?

Python强大不强大?

我的答案是Python很强大,但是我不知道对于小孩子来说,到底容易不容易学

学什么编程语言好?Python等于容易学,C++等于全都要?

现成的Python代码库,真的既丰富又强大。随手抓来的Python代码库,让我们不必关注细节,直奔主题地开发程序,完成我们的工作。有大人帮忙,孩子们可以轻松用Python写一个收发电子邮件的程序。

可以说,用Python来引导孩子喜欢编程是一点问题也没有的。毕竟上手即可输出作品的成就,更容易吸引孩子的爱好,从而走入编程这一世界。

不过,如果希望孩子在编程上有所成绩,有所钻研,终究需要了解细节的。

教孩子学习写程序,不应该是简单的让他们学会怎样用别人的代码搭积木,而更应该让他们了解每块积木是怎么工作的。大人用Python写程序,是因为我们只看重结果。孩子们学习写程序,更应该侧重过程。如果没有计算机基础,只学习Python,孩子再聪明,怕也只能是囫囵吞枣式地学习。在大人的指引下,他们能够写出小程序,离开了大人指导,他们还能走多远?

个人看来,学习程序设计,还得从长计议。要是列一个课程表。第一个必修课就是数学。

理解程序设计的一个基本需求就是,孩子得理解数学中函数的定义。不管是面向对象还是面向过程,我们都会把相关的一组计算机操作组织到子程序(或者叫做函数)里。理解了数学中的函数,孩子们就可以学习面向过程的程序设计了。能写出几十个子程序(函数)构成的程序,才有学习面向对象程序设计的基础。

学什么编程语言好?Python等于容易学,C++等于全都要?

有了一定的数学基础,第二个必修课就是计算机操作

好多孩子会在计算机上打游戏,却从来没有在计算机上发过一封电子邮件。编程的一个基础就是,计算机打字。孩子正确使用键盘和鼠标,也得点功夫。学会操作计算机,就可以真正接触程序设计了。也就是说上课一定从最简单的文本编辑工具开始,教孩子怎样打开命令行窗口(Terminal),怎样启动文字编辑器,怎样输入程序,怎样保存代码,然后怎样编译程序,最后怎样执行程序。

从课程设计上看,要从从数据类型,条件判断(IF语句),和循环结构开始,让孩子了解一个程序的基本构造:数据,判断和循环。也就是说,怎样把一个复杂的问题分解成若干步骤,每一个步骤又通过一个函数来实现。让孩子们学会,怎样把这些函数组织在一起,解决他们的问题。

学什么编程语言好?Python等于容易学,C++等于全都要?

图灵编程L 1课程设置

想想看,我们为什么要写程序?写程序的目的就是为了解决问题。在写程序之前,我们脑子里要形成一个解决方案。这个方案,往往包括多个前后衔接的步骤,甚至有条件判断,还有重复性的步骤。这些步骤,都可以通过程序中的函数来实现。用计算机求解问题,真正的难点不是写程序的过程,而是开发问题的解决方案。

计算机代码,只不过是解决方案的计算机实现

家长应该认识到这一点。教授孩子写程序,其实是教授孩子用计算机来解决问题。面对相对复杂的问题,如果孩子们可以设计解决方案,可以写出包括十几个甚至更多的函数的代码,那说明孩子们可以进一步提高了。我们可以随后教授孩子,怎样以数据为中心,进行面型对象的程序设计,开发更大规模的软件了。当然这是后话,对于初学者的父母,完全不需要上来就考虑面向对象。

最后,对于各种编程语言的发展前景,下面这个小视频或许能解答你的疑问。

播放

暂停

进入全屏

退出全屏

00:00

00:00

重播

刷新

试试

学什么编程语言好?Python等于容易学,C++等于全都要?


分享到:


相關文章: