说软件行业技术更迭快的人很多,认同的也很多,我个人也是认同的,但大致有多快这事儿老是没有一个真切的概念。
为了有一个直观的印象,我们来用一个简单的办法。
就是选一本比较有代表性的,系统介绍某一类技术的书籍。
接下来看一下10年里,这本书里究竟有多少知识被更迭掉了。
这里选的是袁峰先生所著的《Windows图形编程》,这书只要看过的就知道它可以很好的代表Windows图形编程这一领域(不含3D)。
下面是这本书的目录,看过目录后我们来具体看一下这本书里那些东西在过去的10年里被更迭掉了,而那些没有?
第1章基本技术和知识
1.l用c/c++进行基本的Windows编程
1.2汇编语言
l.3程序开发环境
1.4Win32可执行文件格式
1.5MicrosoftWindows操作系统的体系结构
l.6 小结
第2章 Windows图形系统体系结构
2.1Windows图形系统组件
2.2 GDI体系结构
2.4打印体系结构
2.5图形引擎
2.6显示驱动程序
2.7 打印机驱动程序
2.8 小结
第3章 GDI/DirectDraw内部数据结构
3.1 句柄和面向对象的编程
3.2 解码GDI对象句柄
3.3 定位GDI对象句柄表
3.4 解码GDI对象句柄表
3.5GDI对象的用户模式数据结构
3.6存取内核模式地址空间
3.7Windbg和GDI调试器扩展
3.8GDI内核模式数据结构
3.9DirectDraw数据结构
3.10小结
第4章Windows图形系统窥视
4.1Win32api调用窥视
4.2Win32GDI窥视
4.3DirectDrawcom接口窥视
4.4GDI系统调用窥视
4.5DDI接口窥视
4.6小结
第5章图形设备抽象
5.1现代视频显示卡
5.2设备上下文
5.3 格式化设备上下文
5.4 样例程序:通用框架窗口
5.5 范例程序:绘图和设备上下文
5.6小结
第6章 坐标空间和变换
6.l 物理设备坐标空间
6.2 设备坐标空间
6.3 页面坐标空间和映射模式
6.4 世界坐标空间
6.5使用坐标空间
6.6程序举例:滚屏和缩放
6.7小结
第7章像素
7.1GDI对象、句柄和句柄表
7.2裁剪
7.3 颜色
7.4 绘制像素
7.6 小结
第8章 直线和曲线
8.1 元光栅操作
8.4 直线
8.5 bezier曲线
8.6弧线
8.7 路径
8.8例子:用自己定义风格的线做图
8.9小结
第9章区域
9.l 画刷
9.2 矩形
9.3 椭圆、弦、饼状图以及圆角矩形
9.4 多边形
9.5 闭合路径
9..6 区域
9.7 渐变填充
9.8 实际中的区域填充
9.9 小结
第10章 位图基础
10.l 设备无关的位图格式
10.2dib类
10.3 显示dib
10.4内存设备上下文
10.5设备相关位图
10.6使用ddb
10.7 dib段
10.8小结
第11章高级位图图形学
11.l三元光栅操作
11.2透明位图
11.3不用屏蔽位图实现透明度
11.4Alpha混合
11.5小结
第12章 用Windows位图进行图像处理
12.l 通用像素存取
12.2 位图Affine变换
12.3 快速专用位图变换
12.4 位图颜色变换
12.5 位图像素变换
12.6 位图空间过滤器
12.7 小结
第13章 调色板
13.l 系统调色板
13.2 逻辑调色板
13.3 调色板消息
13.4 凋色板和位图
13.5 颜色的量化
13.6 减少位图颜色深度
13.7 小结
第14章字体
14.1 什么是字体
14.2位图字体
14.3向量字体
14.4TrueType字体
14.5 字体的安装和内嵌
14.6 小结
第15章 文本
15.l 逻辑字体
15.2 查询逻辑字体
15.3 简单文本绘制
15.4高级文本绘制
15.5格式化文本
15.6文本特效
15.7 小结
第16章 元文件
16.l 元文件基础
16.2 增强元文件内部结构
16.3 枚举emf
16.4 emf做编程工具
16.5 小结
第17章 打印
17.l 理解打印池程序
17.2 用GDI实现基本打印功能
17.3 打印设计
17.4 在打印机设备上下文中绘制
17.5 小结
第18章DirectDraw和Direct3D立即模式
18.l 组件对象模型
18.2DirectDraw基础
18.3建立Direct图形库
18.4 Direct3D立即模式
18.5小结
其中第一章,第四章牵涉的是一些基础知识,比如Windows基本结构、如何HookAPI等,因此虽然部分内容有点过时,主体上仍然是有现实意义的。
第十章、第十一章、第十二章主要和位图格式相关,而位图格式变化不大,所以这几章的主体部分仍然是有现实意义的。
第十四章主要讲的是字体,而Truetype字体即使在今天也是字体的主流,因此也还是有现实意义的。
其他的章节则因为主要是和GDI相关联大致上是过时了(不意味着完全没用,但使用比例已经比较低了),也就是说18个章节里只有6个章节还有较大的现实意义。
这本书在国内的出版时间是2002年,到2012年正好是间隔10年,10年时间淘汰了某一类技术差不多80%的内容。不知道还有那个行业会有这种淘汰率。
如果任何人以为书里被淘汰的那80%的内容容易学,那就错了,在当年即使是有Windows基础编程知识的人(知道线程、消息机制等)把这部分知识搞通至少也需要1年(工作后)。
这种估计一点也不精确,仅供参考吧。
顺道一说,《人月神话》很是个奇迹,但我感觉其中很大一部分内容也过时了,那天有空也估算下究竟有多少内容过时了。