《数学与泛型编程:高效编程的奥秘》一第1章 内容提要

第1章

内 容 提 要
不懂数学,就无法了解世界。
——罗吉尔·培根(Roger Bacon),《大著作》(Opus Majus)
这是一本谈编程的书,但是它与大多数的编程书都不太一样,因为除了算法和代码之外,本书还会给出数学证明和一些讲述从古代到20世纪各种数学发现的历史材料。
另一个更为具体的特色在于:这是一本谈论泛型编程(generic programming)的书。泛型编程是出现于20世纪80年代的编程方法,在20世纪90年代随着C++标准模板库(Standard Template Library,STL)而变得流行起来。我们可以这样定义它:
定义1.1 泛型编程是一种专注于对算法及数据结构进行设计的编程方式,它使得这些算法及数据结构能够在不损失效率的前提下,运用到最为通用的环境中。
用过STL的读者可能在想:“不对吧?泛型编程的概念只用这么简单的一句话就能定义出来?模板和迭代器(iterator)等特性怎么没有提到呢?”其实那些特性应该说是工具,它们使得编程语言能够支持泛型编程。程序员固然应该学会高效地使用那些工具,然而泛型编程主要谈的是编程态度(attitude),而不是某一套工具。
笔者认为,所有的程序员都应该抱持这种编程态度,也就是说,都应该试着以这种通用的方式来编写代码。如果能够写出高品质的泛型程序,那么很容易就能使用并修改其中的各个组件。这要比那种采用硬代码来编写的程序好很多,因为后者会针对具体的应用程序来给数据结构、算法以及接口施加一些毫无必要的限制。把程序写得通用一些可以令它变得更为简洁,也更为强大。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值