浅谈高中生兴趣课学什么编程语言比较好
随着我国经济社会的进一步发展,家庭条件的不断改善,计算机已从以前的一种高档消费品正转换成人们日益依赖的必需品,越来越多的家庭开始配置了计算机。与此同时,信息技术的教学也越来越正规化,学生的学习兴趣也在多样化,不少学生对编写计算机程序兴趣浓厚。但众所周知,计算机语言众多,大家熟知的就有c、c++、pascal、java、vb、c#等语言,那么对于初涉计算机编程的高中生来说,如果学校开设相关的课外兴趣课学习什么编程语言会比较合适呢?这个问题仁者见仁,智者见智,笔者想在本文中谈一下个人的看法。
首先,笔者要声明,本文不考虑noip(全国青少年信息学奥林匹克联赛)这个层面的问题(noip的语言指定为c、c++、pascal三选一),而是单纯站在学生兴趣,并适当考虑今后的发展这一层面来进行思考。笔者个人的观点是:c#是比较适合高中生学习的一门语言。
笔者首先是不赞成高中生初学编程学习c或c++还有pascal语言的。对于没有接触过编程的学生来说,任何一门计算机语言在他们看来并没有什么大的不同。伴随着强烈的好奇心,学生在学习的初始阶段兴趣会十分浓厚,课堂上常常流连忘返。然而随着时间的推移,不同的语言课学生表现出来的差异就开始体现出来,而这其实是语言本身的性质开始就决定了的。
笔者曾经带过好几届的程序设计的兴趣班,除掉最后一届,之前教授的语言都是c或c++。正如笔者如前所述,一开始学生热情高涨以至于教室人满为患,但后面却几乎没有人坚持下来。是笔者课上得太烂吗?还是有别的原因?经过细致的调查、反思,才出问题的关键所在。
众所周知,现在个人电脑的操作系统基本上都是视窗化的了,不管是windows,还是linux、mac os,都无一例外。c和c++最大的问题在于,使用c和c++进行可视化编程学习周期太长,难度较大,看看一个简单显示窗体的程序,其主函数winmain函数的长度、窗口类众多的成员变量、复杂的消息循环及分发结构就可以想像其难度了(c++使用mfc也没有好得太多)。基于这个原因,学生学习c或c++的时间里,基本上都是在编写枯燥的控制台应用程序(因其界面和dos目前流行的编程语言程序相似,许多人将其误称为dos程序),以及过深地陷入到算法的纠结中,还有重复去发明链表(list)、队列(queue)、栈(stack)这些数据结构(c语言的标准库中是不包含这些基本的数据结构的),而学生生活中的许多问题实际上算法都比较简单,但需要更友好的图形界面的呈现方式(比如一个随机选人的程序),这就导致学生在漫长的学习过程中不能学以致用而缺乏成就感,故而渐渐失去学习兴趣。而这在其他三门语言中是很容易就可以实现的事(事实上这在c#中最短不超过10行代码就可以
完成了)。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论