计算机堪称20世纪以来人类最伟大的发明之一,对于人类的影响更甚于工业革命所带来的冲击。计算机是一种具备数据处理与计算功能的电子设备。自从人类发明并开始大量应用计算机之后,无论是政府、企业还是个人,对于数据和信息处理的效率都有了极大的提升,如图1-1所示。
图1-1 工厂生产线与大楼自动化安保管理
对于一个有志投身信息技术领域的人员来说,程序设计就是一门和计算机硬件与软件息息相关的学科,是计算机诞生以来一直蓬勃发展的一门新兴科学。之所以说它是新兴科学,是因为计算机的程序设计还在不断地发展和演变,只不过现在的方向是大数据和人工智能等领域。为了发挥计算机强大的运算能力,我们必须掌握程序设计的基本方法和了解它的基本概念。所谓程序,是由符合程序设计语言(Programming Language)语法规则的程序语句、程序代码或程序指令所组成的,而程序设计的目的是通过程序的编写与执行来满足计算机用户的需求。
程序设计语言是一种人类用来和计算机沟通的语言,是由文字与记号所形成的程序语句、代码或指令的集合。程序设计语言主要的功能是将用户的需求使用程序指令表达出来,让计算机按照程序指令替我们完成诸多工作和任务,每种程序设计语言都有各自的文法规则,即语法(syntax),也就是它的使用规则。程序设计语言的语法一直朝着易于使用、易于调试、易于维护以及功能更强的目标持续发展和演变。
对于我们学习程序设计而言,目标无疑就是让我们设计的程序更有效率、可读性更高。我们知道,与计算机作为硬件工具一样,程序设计语言也只是一种应用工具,因此没有最好的程序设计语言,只有是否适合的程序设计语言,各种程序设计语言都是实现目标的方法。例如,著名的积木式程序设计语言Scratch,其集成开发环境的界面如图1-2所示。
图1-2 积木式程序设计语言是指设计者能
图1-3 云计算加速了新一代人才必须具
随着信息技术与网络科技的发展,当前进入物联网(Internet of Things,IoT)、大数据、人工智能的云计算(Cloud Computing)时代。一个国家或地区的程序设计能力已经被看成是国力或者地区竞争力的象征。程序设计不再只是信息类学科的专业,而是新一代人才必备的基本能力,各个先进的国家或者地区纷纷将程序设计(或简称编程)列入学生的必修课程,发达地区的城市中小学都开设了编程的信息课程。通过学习程序设计的过程让学生获得解决问题的能力,只有将“创意”通过“设计过程”与计算机相结合,才能顺应这个快速发展和演变的物联网、大数据、人工智能的云计算时代,如图1-3所示。
“云”泛指“网络”,这个名字的源头是工程师通常把网络架构图中不同的网络用“云朵”的形状来表示。云计算就是将网络连接的各种计算设备的运算能力提供出来作为一种服务,只要用户可以通过网络登录远程服务器进行操作,就可以使用这种计算资源。
“物联网”是近年来信息产业界的一个非常热门的议题,它是指将各种具有传感器或感测设备的物品(例如RFID、环境传感器、全球定位系统(GPS)等)与因特网结合起来,并通过网络技术让各种实体对象自动彼此沟通和交换信息,也就是通过巨大的网络把所有东西都连接在一起。