前 言
超级计算机在新闻报道中常常被简称为“超算”。根据TOP500榜单定期发布的世界最快的超级计算机排行榜,我国的天河系列(2009年)和神威(Sunway,2016年)超级计算机曾经先后占据世界第一的位置累计5年之久,而目前最新的排行榜中位列第一的是美国IBM的Summit。神威是世界上第一台运算速度超过10亿亿次的超级计算机,Summit则是第一台运算速度超过20亿亿次的超算机器。中美两国都在研发100亿亿次的超算机器。神威和Summit这类运算速度极快的机器,能够解决过去被认为不可能计算的复杂任务,也能够模拟自然环境、探知未来世界和宇宙空间等。中美在网络技术发展方面也在逐力,华为公司被美国列入“实体名单”,很大原因在于华为是第5代移动数据网络技术的领先者。不可否认,数据网络原创地是美国,但中国作为后来者已经在应用方面成了事实上的领先者。不仅如此,人工智能将是接下来角逐的领域之一。
上述现实也充分说明了人类社会发展到数字时代,国家之间的竞争已经进入了非传统领域。无论主观意愿如何,我们都将融入数字世界。显而易见,仅仅会使用计算机和手机是远远不够的。要能够从容应对这个被计算机主导的技术化社会,就需要有相关的、宽泛的知识背景,而不是简单地会上网和使用流行的应用软件。
本书前后有多个版本,书名从最初的《计算机导论》到今天的《数据与计算》,也蕴含着计算技术的发展从计算机器到深层次的应用,如大数据、智能计算等。另一方面,本书的主要读者是大学新生,他们都是计算机和互联网的“原住民”。他们诞生之时,互联网已经开始快速发展,而计算机特别是个人计算机早就是最流行的消费类电子产品了。从这个意义上说,他们更应该去理解信息社会特征,掌握计算机科学的基础知识。即使单纯将计算机视为工具的读者,也肯定明白这个道理:用好工具的前提是了解工具的原理。
本书力求具有较好的可读性,尤其考虑到很多读者是非计算机专业的学生,他们今后的专业学习也将与计算机密切相关。毫不夸张地说,无论哪个专业,计算机都是不可或缺的学习、研究的重要工具,也是工作和生活的重要帮手。
本书从2015年开始以“数据与计算”为名,就是突出其数据组织和表达的抽象特点,介绍建立在数据之上的各种计算过程、方法,以帮助“原住民”们更好地理解计算机这个机器的计算能力。
本书安排的主题是从计算机器开始。其实这并不是新概念,恰恰是“旧观念”:计算机的重要贡献者冯·诺依曼就是以“数字计算机器”描述计算机的。第1章介绍的是具体的计算机。在计算机科学中,计算机这个硬件装置可能是唯一能够被触摸的实体。从实体机器到抽象的数据概念,这样有利于理解计算,有利于理解数据的抽象表达。因此第2章就自然过渡到计算需要的数,引出了二进制和相关的二值逻辑表达,介绍逻辑关系实现了算术计算。二进制和数字逻辑是计算机科学的最重要的基础内容。计算机中的所有数据都是二进制的,如何使用二进制数表示各种不同的对象,如文本、文档和多媒体数据,即为第3章所介绍的内容。
任何一种数据表示都需要有相关的算法,第4章会介绍算法的基本知识。算法的概念很重要,社会学家把人分为“数据提供者”和“算法设计者”,其中的内涵不言而喻。算法有趣、有用,也深刻地揭示了计算机的本质就是按照人类预先设定好的步骤去完成任务。算法源于数学,已经成为计算机科学的基石。如果把编程语言和算法集合起来,就是今天成千上万的应用程序。第5章介绍了编程语言和程序,这里充分展示出计算抽象的另一面:形式化表达。尽管算法和程序的逻辑关系很简单,但由简单到复杂的算法和程序的设计过程,也充分展示出人类聪明才智的巅峰:大型程序的复杂性堪比人类已知的复杂工程。
本书后续几章都是围绕应用展开的:第6章的数据库、第7章的网络与网络计算、第8章的大数据、第9章的先进计算。超算、人工智能和计算理论、计算复杂性等作为本书的内容,也留下了很多待解的疑问。未来有很多是不确定的,在计算领域也是如此。
相关计算机安全、虚拟化世界等问题,本书在第7章中进行了介绍。尤其是计算机与网络安全、隐私、数据保护等相关技术和社会问题,这些都是“原住民”们应该知道其技术背景和进一步思考其深远影响的大问题。
最后是写给本书的主要读者——大学新生的。
首先,你们需要学习的东西远远超过书本上提供的。你们已经熟悉如何从网络中获取知识,但需要了解这些“知识”的来源及其正确性、真伪性。
其次,理解知识比了解知识更重要,理解计算机、理解信息、理解数据,不仅仅是概念,重要的是它们对你的影响。设想,你是否可以一整天不使用手机、不使用计算机?
再次,学习很重要,你们需要学会学习。书中的很多名词、术语真的难记,不要紧,理解即可。知识需要积累,只有积累了足够的知识,才能重构你的思维,才能从已有的知识中发现解决问题的新方法。本书提出了很多问题,有些有意没给出解答,有的解答也可能是含糊的,也许这些问题是没有答案的。希望你们能够认真地低头看书,然后抬头思考。有很多问题值得追问“为什么”。
感谢您阅读或使用本书,希望本书没有让您失望。也希望读者能够发现和纠正书中的各种错误,无论是观点错误,还是概念错误,包括错别字,作者都真诚地欢迎并接受,并将在今后的重印或修订中予以纠正。
感谢电子工业出版社长期以来对本书的鼎力相助。
感谢作者所任教的浙江大学计算机学院的很多老师。有他们对本书的指导和鼓励,作者才有写作本书的动力。
陆汉权
2019年6月于浙江大学