哪些人需要学编程?

Author: 程虎 Date: 1997-01-01

#3  计算机已诞生半个世纪,至今,其硬件、软件都发生了巨大变化。特别是近年来可视化技术的发展,大量应用软件的出现,计算机语言的多样化和升级换代,给用户带来极大的方便。在这种情况下,是否还需要编程?哪些人需要学编程呢?本文想从语言本身的特性、客观上的需要和培养人才等几方面来探讨这个问题。
  首先,正如语言是人类社会交流的工具一样,计算机语言也是计算机和应用者、计算机和计算机、应用者和应用者之间进行交流的一种工具。
  计算机语言经历了半个世纪的发展历程,从机器语言、汇编语言发展到高级语言(如C、Ada、Fortran、Basic等);高级语言又从结构化发展到面向对象(如C++、Ada 95、Java等)。有些老语言,如Fortran等至今还在使用,并不断修改完善,新语言又层出不穷。
  这数十年用各种语言编写的程序是人类的一大财富,虽然有的被淘汰了,但不少还在使用。所以从计算机应用的需要来看,目前,计算机语言仍然是计算机应用和开发的最重要的工具。而且,过去的有用程序要维护,包括修改、扩充等。
  随着计算机应用的广度和深度的拓展,对计算机语言有更高的要求,例如现在网络的发展,促使Java应运而生。高科技如卫星上天、核试验、气象预报和石油勘探等技术的发展,其程序非常复杂,而其可靠性要求又极高,为了方便使用,产生了可视化技术,还有可复用技术(即程序能重复使用)等,这些都是客观上对计算机语言的需要。
  那么,哪些人需要学习编程呢?专门研究开发计算机软件、硬件的当然需要学习,但计算机应用人员呢?我们来仔细分析一下。接受大学教育的各行各业专门人才是需要学习计算机编程的,对他们来说,至少需要掌握一门计算机语言。因为,虽然各行各业都已有一些现存的应用程序,但要得心应手地应用,还是需要对计算机语言有一些了解。另外,实际工作中,常常需要对现有程序作一些修改扩充,而且技术在不断发展,开发一些新的应用软件必需具备相当的编程知识。现在计算机不但在城市各行各业中应用,而且已开始应用于农业生产,即或作为新一代的面向下一世纪的新农民,我认为也应该学习一点基本的计算机语言编程知识。
  最近出现一种新情况,就是可视化技术的发展,使应用人员不必编程,只要用鼠标拖放图标等,就能产生相应代码。但是并不是所有方面都是如此,就目前来说,还只有一小部分是如此。
  最后,我想从计算机教学的国内外情况来谈一下。我国已普及九年制义务教育,劳动者将普遍达到初中文化水平,有一些还要接受高等教育,甚至取得硕士、博士学位,以适应国家经济建设和国防建设现代化的需要。对高等教育来说,可分成计算机专业和非计算机专业。国际上,计算机学科的教育也在不断发展,美国ACM/IEEE-CS不断发展新的教学计划,最近的是1991年发表的。其中提到利用理论、抽象和设计这三个过程来描述计算机学科方法学的基本内容,各院校有不同的侧重点,计算机科学可侧重理论与抽象,计算机工程可侧重抽象与设计,但各院校均应特别重视通过各种实施手段来达到使学生对基本概念的牢固掌握和灵活运用的目的。而计算机语言不但本身是一门重要课程,而且还是其他一些课程(如数据结构等)的编程工具,是非学不可的。
  我国已参照美国91年教学计划制订了计算机学科教学计划1993,现正在逐步实施中。这个教学计划还以九个主科目领域和十二个重复出现的概念作为指导思想,不在于局限于多学一门课、少学一门课,而在如何从根本上培养人才。十二个重复出现的基本概念贯穿于九个主科目领域、三个过程之始终,揭示了计算机学科的内涵和内在联系。下面就作一介绍。
#2  九个科目领域是:
  1.算法与数据结构
  2.计算机体系结构
  3.人工智能和机器人
  4.数据库与信息检索
  5.人机通信
  6.数值与符号计算
  7.操作系统
  8.程序设计语言
  9.软件方法学和工程
  其中,不但第8个科目就是程序设计语言,而且其他不少科目(如1、3、4、6等)也都以它为基础或与它有关。
  限于篇幅,这里不再展开论述。我认为,凡是涉及计算机应用的人员,均应具备一定的编程知识,他们在编程能力方面只有深浅的区别,但不是学与不学的问题。
  编程语言的学习还有助于锻炼人们的思维,就象数学对人的思维起作用一样。学习编程,使人思维更精确、细致。
  在我看来,编程不是一门纯粹的技术或技能,而是一种训练思维方法的工具。现在全国各地的儿童电脑夏令营(或学习班)中,许多把电脑基本绘画、电脑基本音乐作为儿童的电脑入门训练,其实就包含一个编程的思想在内———要画一幅画,先画什么,再画什么,就要讲究程序。
  当然,随着计算机软件技术的发展,编程手段将会越来越简单,学习的过程也将会越来越轻松;学习编程,将主要是学习编程的技巧与方法。