时间:2017-11-2来源:本站原创作者:佚名

年《计算机教育》第8期封面文章

0引言

年,教育部高等学校大学计算机课程教学指导委员会发布了《大学计算机基础课程教学基本要求》(简称《基本要求》)[1]。《基本要求》结合信息技术发展及国内高校开展教学情况,建议将C、VB和Python作为首门程序设计课程的教学语言,课时48~64学时。近2年来,国内一批高校逐步开设了Python语言,成为教学改革热点。20世纪90年代以来,编程语言从Pascal、C经历了VB、C#、Java,发展到今天的Python,很容易让任课教师产生一个认识——Python仅仅是编程语言的同质更迭。本文试图说明这种认识的片面性,并阐述Python语言进入高校教学体系的必然性[2]和教学方案。

1程序设计语言的时代适应性

1.1计算机技术的时代性

第一阶段“计算机系统结构阶段”(—年)。这个阶段计算机技术主要围绕计算机系统结构设计开展,服务于科学计算和商业数值计算,产生了超级计算机等不同类型的计算机系统。与这个时期计算机有限的计算性能和功能相对应,程序设计需要在程序逻辑和系统结构之间、处理能力和存储容量之间、计算和通信之间寻找优化和折中。这个阶段的计算需求催生了执行高效的C语言(年)。

第二阶段“计算机网络和视窗阶段”(—年)。这个阶段以TCP/IP协议标准化为标志。计算机技术主要围绕网络技术、视窗技术、多媒体技术发展,计算机技术提供满足个人计算需求的视窗应用和网络服务。网络带来的跨平台需求产生了Java语言(年)。由于微软Windows操作系统在个人计算机领域的高度普及,“所见即所得”的开发需求产生了VisualC++、VisualBasic(年)等视窗编程语言。

第三阶段“复杂信息系统阶段”(年—)。这个阶段以安卓开源移动操作系统的发布为起点,一批新的计算概念和技术几乎同时提出并显著推动了计算技术的升级换代。虽然概念众多,很难有任何一个技术领域独领风骚,任何系统都需要不间断地完善才能提供更加安全可靠及更佳用户体验的功能。面对复杂的功能性和紧迫的迭代周期,计算机需要更高抽象级别的程序设计语言来表达高层次编程逻辑。一批脚本类型、高效表达高层次编程逻辑的编程语言相继诞生,包括Swift、Go、Ruby、R、Lua、Python等。其中,Python(年3.0版本)已经成为这个阶段的主流编程语言。

第四阶段“人工智能阶段”(年—)。随着深度学习、开源硬件、智能机器人、在线搜索引擎、量子计算等技术的发展,未来某个时期将会出现人工智能主导计算的技术阶段。—年间出现的AlphaGo、无人驾驶汽车、自然语言翻译等应用进展预示了未来阶段的逐步临近。计算机将逐步接管人类所有非创造性工作,计算机技术将进入一个未知的新阶段。

1.2编程语言的适用性比较

计算机技术发展具有鲜明的时代性,程序设计语言发展也有类似特性。这里,以我国高校最常讲授的编程语言为例,如C、VB、Java、C++、Python、Matlab等,阐述各语言的历史定位和发展前景,综合比较见表1。

C语言最初用于编写UNIX操作系统,因此,该语言既表达基本程序逻辑,又表达软件对硬件的高效利用,如指针、精细到字节的数据类型等。编写与硬件紧密相关的程序是该语言的历史使命,因此,讲解该语言将重点培养学生对计算机系统结构的抽象能力。C语言适合计算机类专业学生学习。

编写Windows视窗应用是VB语言的历史使命。该语言在基本程序逻辑外,主要表达视窗系统中事件、控件和视窗体系下人机交互的关系。因此,该语言将重点训练学生视窗交互逻辑的理解。然而,随着移动互联网的快速发展,视窗应用已经逐步被以Web为基础的应用所取代,该语言的发展前景暗淡。至今,已经比较难找到学习该语言明显的受益群体。与该语言类似的语言还有VB.Net、VF.Net、C#等。

Java语言以运行时和跨平台为技术创新,同时,纯面向对象语言具有更高层次的代码封装能力,也为编程中更大规模库的构建提供了基础。Java语言主要训练学生通过“类”的概念理解计算问题中对象及对象间的主客体关系。此外,Java语言成为Android平台的首选开发语言,因此,软件类学生比较适合学习该语言。尽管Java语言现在十分流行,但其在移动互联网应用领域的份额逐渐被以HTML5为代表的前端脚本语言所替代,该语言未来的应用空间将逐渐变窄。

C++语言目标是取代C语言成为适合多人协作编写大规模程序的高效编程语言。从几十年发展来看,该语言的确成为软件工业中“大规模程序”的主流语言,但其复杂的语法和继承自C语言对系统结构的抽象使该语言仅成为专业人士的小众语言。C++适合计算机类和软件类专业同学学习,但并不适合作为入门语言教学。

Matlab严格来说是一个工具而不是编程语言,其主要优势在于对数据的处理。Matlab天然以矩阵为数据的基本单元,通过友好的用户界面、相对简洁的编程逻辑和大量的工具箱极大简化了数据处理的难度,成为工程领域重要的计算软件。Matlab适合信息类专业学生学习,其工具箱可以简化工程分析的复杂性。至今,Matlab仍然具有重要的使用价值,但不适合作为编程语言入门内容,因为严格来说,它不是一门通用的编程语言。

Python语言产生于年,受限于上世纪90年代程序设计语言理解的局限性,并未成为国际







































北京哪里有治疗白癜风医院
单唾液酸神经节苷脂能否治白癜风

转载请注明原文网址:http://www.helimiaopu.com/cxfz/5659.html

------分隔线----------------------------