Scratch/Python/C++ 少儿编程该学哪个?

梁老师
梁老师 北京小升初老师~

0 人点赞了该文章 · 65 浏览




Scratch/Python/C++都是一种编程语言,所谓“编程语言”和我们人说的语言本质上是一样的,区别就在于说话的对象不同,“编程语言”是对计算机说的,而我们说的“汉语”、“英语”和“法语”等等,则是对人说的。
明白了这一点,我们心中就大概会有一点谱了,这个就好比我们写作一样,不同的语言,都能写出传世的作品,因此“语言的选择”从来不是“写出好作品”的关键

这个对于少儿编程的语言同样如此,不管是Scratch、Phtony还是C++,都能做出酷炫的作品,同样也能写出让人不忍直视的渣作品。
当然,不同的编程语言,也会有它自身的特点,这也是他们的立足之本。
图片

Scratch

图片

Scratch最大的特点就是简单,通过简单的拖拽,像搭积木一样来编写程序,就算是一个不识字的小朋友,也能通过积木的颜色和形状,辨识每块积木的作用,来编写程序。

因此,从学习的角度,Scratch是最符合儿童认知心理的一门编程语言。

更重要的是,Scratch并没有因为使用简单,而弱化语言的功能。

使用Scratch同样可以编写大型、复杂、酷炫的程序,特别是在图形化程序上,例如下面短短的几行代码,就可以画出任意边数的正多边形,乃至圆。这就是Scratch设计的高明之处,它的积木不多,上手容易,但经过这些积木的简单组合,往往就能实现复杂的功能。

图片
其次,Scratch也是深入理解程序后面的计算机原理的一个最佳切入口,像编程中的核心知识,如变量、数组、分支、循环、方法调用和递归等;以及进程间通信机制,如消息广播;还有鼠标、键盘事件及响应处理机制;以及位图和矢量图机制;甚至包括面向对象等特性在Scratch中全都有涉及。
艾叔从事研发十多年来,使用过的编程语言包括C、C++、Pascal、Basic、Java、PHP、C#和Scala等,总体感觉而言:对于初学者,在学习难度和语言功能之间的平衡做得最好的,还是Scratch
图片

Scratch容易上手,不意味着学不到东西,相反,它能更节约我们的学习时间;更容易让我们体会到成就感;更能够让我们集中精力放在我们要创作的作品上,能让我们更方便地理解隐藏在程序背后的复杂原理。


我们选择Scratch后,学什么、学到什么程度、和谁学,这才是关键。

图片
图片

Python

图片

对初学者而言,Python和Scratch最大的不同在于编程方式,Python是一种代码式编程语言,需要我们一个字符一个字符输入,所有的代码,包括编程语句以及函数都是基于英语的,因此,学习Python之前,掌握基本的英语是必须的。

Python是目前最流行的编程语言之一,其流行的主要原因有两个:简单易懂和功能强大。

所谓“简单易懂”,是指它可以精确表达问题逻辑,代码接近我们人的自然语言,而且Python语言自身非常精简,就好比我们汉语中的词汇一样,Python中的词汇(保留字)只有33个,非常简洁且容易掌握。

而“功能强大”,更多的是指基于Python的函数库众多,这些函数库,就好比Python的外挂和工具包,其范围涉及科学计算、医学、视觉处理、人工智能、可视化、大数据等多个领域,无论是做哪个行业的开发,使用Python总能找到强大的支持,非常方便。

图片

Python学习真正的精髓在于,Python丰富的函数库的学习及其应用,这对于少儿编程的学习者的知识层次结构和编程基础,以及老师的水平,都要求极高。而如果零基础学Python的话,往往只是学习Python的基础语法或基本使用,很难学到Python的精髓。

图片
图片

C++

图片

对于少儿编程的学习者而言,学习C++的最大意义在于,C++是信息奥赛的唯一指定语言。但是,和Scratch、Python相比,C++的学习难度更大,首先,它和Python一样,需要一个字符一个字符地输入来编码;其次C++有63个关键字,是Python的一倍;再次C++中还有很多难懂的概念,例如指针等等。

因此,如果是零基础的少儿编程学习者,C++上手会比较慢,更重要的是,C++是纯字符的,学习起来十分枯燥,这对于学习者而言,也是一个不小的挑战,能否坚持下去还要打一个问号,因为对于小朋友而言,自律和自我驱动是非常难的,兴趣和趣味对于学习的持续而言,更为重要。

而如果是小朋友通过Scratch的学习,掌握了编程中的核心概念,理解了程序后面的计算机的基本原理,并累积了一定的编程经验,那么,他迁移到C++的学习会非常容易。

例如,Scratch中有变量的概念,C++中同样如此,两者是一样的,只是表述形式不一样而已;同样的,Scratch中也有数组,C++中也有数组,等等。

如果今后不是奔着信息奥赛的话,少儿编程学习C++并无太大的意义,更何况,信息奥赛中所使用的C++还是一个阉割版的C++,例如C++语言“面向对”等特征几乎用不上。

总之,在选择编程语言的问题上,没有"该不该"的问题,只有”合不合适“的问题,具体应该根据学习者的规划、期望、自身基础以及教师等多个方面的情况,再结合编程语言的特点来综合决策

图片


添加 家长论坛微信 



发布于 2024-04-24 08:19

免责声明:

本文由 梁老师 原创发布于 家长帮 ,著作权归作者所有。

登录一下,更多精彩内容等你发现,贡献精彩回答,参与评论互动

登录! 还没有账号?去注册

暂无评论

广告
All Rights Reserved Powered BY WeCenter V4.1.0 © 2025 京ICP备20005761号-2