<h3></h3><h3><b>选Python还是Java解惑,青少年编程Java班</b></h3><h3><br></h3><h3><br></h3>关于孩子学编程,家长们经常问我一个问题就是,到底是应该让自己的孩子学python还是学习Java?我希望能够通过本篇文章,让完全不懂编程的家长们,对这两种编程语言有一个初步的认识。其实对于大部分的程序员来说,最终两种编程语言可能都会去学。但是家长们总是希望自己的孩子在学习编程的道路上最好少走弯路,另一方面也是希望知道将来哪一种语言在学校或者工作中最为普及,毕竟很多孩子的课外活动安排的比较满,无论家长还是孩子的时间精力都是有限的。当然我也碰到有些家长循序渐进,让孩子通过不同编程语言的不同应用,开拓思维和视野。<br><br>Java和Python都是属于“高级”编程语言,也就意味着他们都可以轻松的胜任从网站开发、游戏制作到企业级的软件编程。这里有一个概念,简单来说,越“高级”的编程语言,开发者就可以越专注于程序的逻辑,而不用把太多的精力花在错综复杂的语法上,去让程序运行起来。也就是说,使用“低级”编程语言的时候,需要考虑到很多诸如内存管理等问题。而相对来说,“高级”的编程语言就会自动把这些“低级”的活给做了,当然通常会损失一些程序的执行效率作为代价。<br><br>那么既然Java和Python都是属于“高级”编程语言,而Python一般被认为是比Java更“高级”的语言 – 这就意味着Python因为程序的执行效率问题,有些工作就不适合交给Python去编写了,比如说编写复杂的3D游戏等,但是它的好处就是比较容易学习。<br><br>那既然Python比Java“高级”,是不是Python就要比Java更好?当然不是。所谓的编程语言更“高级”还是更“低级”,主要是指像诸如内存分配以及内存垃圾收集等任务,是让编程语言本身去多做些还是让程序员去多做些。所以“低级”编程语言并不等同于“低等”或者“差的”编程语言。<br><br>另一方面,Python因为它的灵活性,所以在大学里被广泛的使用。<font color="#ed2308">具体的讲,在计算机科学基础课程中,前10所中的8所(80%)和前39中的27所(90%)高校,在CS0或CS1入门课程(computer science)中教授Python</font>。全球三家最大的网络在线课程服务商edX,Coursera和Udacity也全都提供了基于Python语言的编程入门课程。之前就有人指出Python将在教育部门崛起,现在这一观点已经成为现实。<br><br>如果您的孩子对编程非常感兴趣,家长们也愿意让孩子将来在这个领域继续学习和发展的,那么就有必要去理解这两种编程语言了。<br><br>经常也有学生的家长问我如果孩子没有任何的编程基础的话,那么更加适合学习Python还是Java?大部分情况下我会推荐python,除了容易上手之外,Python语言力求代码简洁、优美。通过减少大括号,去除语句末尾的分号,使得代码的可读性显著提高。阅读一段良好的Python程序就感觉像是在读英语一样,它使你能够专注于解决问题,而不用太纠结编程语言本身的语法。虽然大部分孩子可能从python开始入门,但是我也遇到不少喜爱编程的孩子,他们也非常适合从Java或者底层的编程语言学起。<br><br>于目前AP计算机课程考试使用的是Java,所以Java就成为很多高中编程课程中使用的标准教学语言。所以,<font color="#ed2308">如果您的孩子已经最少14,15岁,而且在2-3年内准备让您的孩子参加AP课程计算机考试;那么,既然我们开始学习编程的目标就是AP计算机考试,而且学习时间已经不像11,12岁起步的孩子那么充裕,那Java就是必修的一门编程语言了</font>。另外如果您也想让孩子试一试滑铁卢大学举办的加拿大计算机竞赛(CCC)的,那Java也是重要的选择之一(比赛指定使用Java,C/C++或Pascal)。<br><br>最后我想重申我在《课程介绍1-青少年编程Scratch&Python》中的观点。我们设计的青少年编程入门课专注于教授通用的编程思想和知识,并不是细究编程语言的细枝末节。无论是Python还是Java,只是课上为学生做演示的示范编程语言。今天介绍的Java班和之前介绍的Python班是姊妹课程关系,课程中涉及的核心编程思路是相同的和通用的。只是Java班用Java作为课上举例,Python班用Python作为举例。学生只要系统扎实的学习编程,到达一定的基础和时间,无论起步使用的是Python还是Java,他们都可以在短时间内掌握其它编程语言。我们刚才讲到加拿大计算机竞赛(CCC),虽然比赛指定使用Java,C/C++或Pascal,但是即使学生一直学习的是Python,只要他达到了参赛水平,那么他就已经有能力在短时间内掌握Java,做参加竞赛的专项准备。毕竟计算机竞赛更多考察的是编程思路和解题能力。<br><br>无论是学习任何一门语言,基础知识,就是基础功非常的重要,找一个有丰富编程经验的老师带着会少走很多弯路, 孩子的进步速度也会快很多。综上所述,无论是Python还是Java都是值得付出时间去学习的优秀编程语言。<br>