伟大的产品:Windows进化启示录
  • 推荐0
  • 收藏0
  • 浏览762

伟大的产品:Windows进化启示录

【美】Raymond Chen(雷蒙德·陈) (作者)  聂雪军 , 聂雪军 (译者)

  • 丛  书:工程师软修炼系列
  • 书  号:978-7-121-27829-7
  • 出版日期:2016-04-08
  • 页  数:476
  • 开  本:16(170*240)
  • 出版状态:上市销售
  • 原书名: The Old New Thing: Practical Development Throughout the Evolution of Windows
  • 原书号:9780321440303
  • 维护人:许艳
说起Windows系统,很多人都是又爱又恨。它为我们的工作学习生活带来很多便利和乐趣,提供了无数的可能,也带来了不少烦恼。凭借在微软Windows开发团队十多年的工作经验,本书作者Raymond Chen将向你揭示你不可不知的Windows系统内幕。为什么Windows的工作方式是这样的?为什么按“开始”按钮能够关机?为什么GetWindowText函数的行为很奇怪?Windows系统的很多奇怪行为是有逻辑可循的,有其历史原因。本书帮助你了解Windows这个伟大的产品的进化史,理解Windows设计人员在技术和用户体验、区域文化、政治等因素上的权衡与考量,从其中获得启发。
- 既有对技术严肃的探讨,也有令人忍俊不禁的八卦。
- 从内部开发人员的角度,讲述Windows设计中的一些决策过程,对Windows的某些内部工作机制进行深入地剖析,指出官方文档未讲透彻的技术点,帮助Windows平台开发者,尤其是C++编程人员提高工作效率。
- 讲述Windows是如何做交互设计和用户体验设计的。对于遍布于全球的几十亿用户,怎么做才能保证大多数人拥有良好的用户体验,避免产品被牵扯进文化和政治纷争,Windows做了什么样的工作,从本书中可以窥见一斑。
我记得在 2007年前后曾经阅读过“The New Old Thing”这本书,给我留下深刻印象的是,这本书介绍了 Windows开发团队中经历过的一些趣事。未必是高深的理论,却揭示了我们每天使用的 Windows是如何长成这个样子的,一些编程套路是如何形成的。
Windows操作系统可算得上是人类复杂工程的一次成功实践,一套代码服务于几亿规模的来自于不同硬件厂商的 PC机器,而且持续进化了二十多年。这其中的经验和教训何其宝贵,本书展示的正是作者亲身经历过的各种编程实践活动,涵盖了用户体验设计、API进化,以及系统层面的设计,甚至还涉及了 Windows团队的工程师文化。
多年以后再来翻阅这本书,怀旧的感觉非常强烈。最近 5年,我已经不再使用 Windows开发平台了,但仍然坚持使用 Windows作为自己的办公系统。偶尔在公共场所看到 Windows出丑的界面,比如广场大屏出现蓝屏、地铁闸口出现 Windows 2000风格的出错对话框、自行车租赁处出现 Windows启动界面,瞬时感觉无比亲切。在信息技术飞速发展的过去二十多年,Windows影响着大多数技术人员,本书中讲述的各种技术和非技术的点点滴滴,是大家曾经共同面临或感受过的。
今天,随着智能设备的快速普及,智能操作系统获得了软件开发人员的广泛关注,Windows已经风光不再。但是在 Windows平台上的开发经历却仍然是许多开发人员的共同话题,本书中绝大多数章节的内容依然是技术人员的共同语言。我不止一次见到过这样的场景,Android或者 iOS的开发人员在向他们的老板描述一个技术问题时,用 Windows平台上的对应术语或做法进行解释。在这样的场景中,管理者的 Windows背景被强化了,年轻一代更易于接受新的技术和平台;另一方面,也说明了 Windows平台虽然不再像以往一样被广泛使用,但它倡导的编程模式和技术框架依然被沿袭到各种后来的开发平台,甚至嵌入式系统或移动智能操作系统中。
这不是一本教你如何进行 Windows编程的书,也不是讲解 Windows的核心技术的书,但是,阅读本书会有意想不到的收获。你可以理解 Windows背后的一些设计来源,以及 Windows进化过程中的一些有趣故事。如果你有过 Windows平台的开发经历,那么,很多章节的内容一定可以引起你的共鸣,并且更好地理解 Windows之所以成为我们看到的 Windows。
Windows NT是一个具有强设计的操作系统,在二十多年的进化过程中,其初始的设计始终主导着它的每一个版本。但是,在一些细微或局部的方面,也会随着版本的进化而发生变化。这种变化可能是做了妥协,也可能是做了优化,甚至是一些意想不到的原因导致,但通常可让系统更加满足实际的需求。通过本书,我们可以轻松地了解到 Windows曾经经历过的各种设计选择和变化,也可以让我们在面对其他系统的时候有更深刻的理解。
潘爱民
2015年 12月于杭州城西前言
在一些技术书籍中,有不少篇幅都是侧重于介绍“如何”使用Windows 以及“如何”在Windows 上开发软件的,但很少有作者会去探究“为什么”。虽然有些事情乍看上去不可思议,但却总能找出完全合理和符合逻辑的解释,所有这些其实都折射出了微软的Windows 操作系统中所蕴含的历史背景、发展演变以及基础理论。本书的内容并不是为了告诉你如何去做(虽然这方面的内容也不少),而更多地是帮助你理解为什么Windows 发展成为现在这样。因此,在了解了Windows 的历史背景和基础理论后,你就能够成为一名更高效的Windows 程序员。
本书重点讲述的是隐藏在Windows 背后的基础理论。本书既不是一本参考手册,也不是一本指南,而是一部“真实的历史”。书中包含了一系列简短且独立的文章,阐述了Windows 的核心思想,而叙述方式采用的则是谈话式而并非说教式。
因此,你可以直接跳到自己感兴趣的(或者某个专门技术的)主题进行阅读。本书根据所阐述问题的共性对这些短文进行了分组,并且当对某个主题研究得很深入时,将进一步把这个主题分成几个连续的小节来讨论,这也是一种有效的教学方式。需要指出的是,即使在这种情况下,对该主题的讨论仍然不会超过整个章节的范围。
经常有人问作家兼评论员David Sedaris,他讲述的故事是否是真实的。他的回答是,“这些故事是‘足够真实的’”。就像David Sedaris 的故事一样,本书的内容同样也是“足够真实的”。我们要把注意力放在大的方向上,而不要拘泥于小节;要重点突出单个要点,而不是吹毛求疵。在本书中,我们将重点强调一些关键的细节,而那些不重要的东西都将被暂时搁置。而且,即使有一些内容可能比较重要,但如果与所讨论的主题没多大关系,也会被忽略掉。
本书面向的读者应该对编程技术有所了解,并且对Windows 的历史有一定的兴趣。在本书中,大约有一半的主题不需要具备编程的背景知识;而在剩下的那一半主题中,大多数也只需要读者有基本的软件设计和软件开发的知识就够了,并没有什么特别深奥的东西。对于那些与Windows 编程相关的专门主题,则要求读者熟悉Win32 用户界面编程和COM。在后面,根据普通读者、普通程序员和Win32 程序员各自不同的需求对这些章节进行了分类。当然,你也可以跳过那些不感兴趣的章节,不过或许你也能够在这些章节中找到一些感兴趣的东西。
你从本书中将得到什么?正如在前面所提到的,本书的主要目的是讲述隐藏在Windows 背后的基础理论,而这些设计或许乍看上去是不合理的。此外,你还将了解到在什么情况不能在Windows 中使用某项技术,并且这种限制往往是出于好意;而且,你将了解Windows 为了维持向后兼容性所付出的努力(以及为什么维持向后兼容性是一项很重要的工作)。当然,在阅读了本书后,你还可以在鸡尾酒会(即Windows 狂热爱好者们参加的鸡尾酒会)上讲述这些有趣的Windows 历史故事。
本书的大多数文章中都已经在作者的网站“The Old New Thing”(http://blogs.msdn.com/oldnewthing/)上以各种各样的形式出现过,但为了更好地满足本书的需求,我还是补充了许多新的内容。读者可以到介绍本书的网页上(www.awprofessional.com/title/0321440307)下载附送的两章, 分别是“ 关于应用程序兼容性的故事( Tales of Application Compatibility)”和“如何让程序无法在Windows 95 上运行(How to Ensure That Your Program Does Not Run Under Windows 95)”。你可以把这两章看作在电影的后期制作中被剪掉的两幕独特而富有见解的场景。此外,在网站上还提供了本书的示例代
码和勘误表。

目录

目录 阅读
第1章 用户界面设计初探 
第2章 Windows 95 的精选回忆录 
第3章 GetWindowText函数的秘密
第4章 任务栏与通知区域 
第5章 令人困惑的界面问题 
第6章 GlobalAlloc 函数的历史 
第7章 Windows编程中的一些话题
第8章 窗口管理 
第9章 关于硬件的回忆录 
第10章 对话框管理器的内部工作机制
第11章 常见的软件问题
第12章 深入研究Visual C++编译器
第13章 向后兼容性 
第14章 一些名字的来源和历史 
第15章 窗口消息的发送与接收 
第16章 国际化编程
第17章 安全 
第18章 Windows 2000 和Windows XP 
第19章 Win 32中的设计问题 
第20章 税赋 
第21章 一些可笑的故事 

读者评论

同系列书

  • 人人都是演说家:来自80个经典案例的致胜演说技巧

    (美)Jerry Weissman(杰瑞 · 魏斯曼) (作者) 闫术 (译者)

    本书内容分成五大部分,每部分紧紧围绕一个主题展开叙述,涵盖了演讲内容、表达技巧、演示稿平面设计等诸多方面。主体的80篇小故事,以美国人喜闻乐见的题材居多,从分析...

    ¥49.00
  • 大师访谈录:成就非凡的软件人生

    Sam Lightstone (作者) 李庆雅 (译者)

    本书作者Sam Lightstone 是MakingItBigCareers.com的创始人。他在IBM工作了20年,担任过软件设计师、高级经理和主程序员。在本...

    ¥99.00
  • 伟大的产品:Windows进化启示录

    【美】Raymond Chen(雷蒙德·陈) (作者) 聂雪军 聂雪军 (译者)

    说起Windows系统,很多人都是又爱又恨。它为我们的工作学习生活带来很多便利和乐趣,提供了无数的可能,也带来了不少烦恼。凭借在微软Windows开发团队十多年...

    ¥99.00

相关图书

B站运营大揭秘:百万Up主真想教会你的创作笔记

本书由B站的三位百万级Up主(GenJi是真想教会你、鱼C-小甲鱼、阿Test正经比比)联合打造,为读者提供了B站独家运营秘籍。 全书总计8章。第1章重点讲解...

 

期货交易——日内投机常用技巧与实战

李俊峰 (作者)

本书主要讲解日内投机交易的各种常用技巧。第1章讲解日内投机操作的基础知识,让投资者详细地了解日内投机交易的特点、流程、风险性等。第2章讲解如何确定交易方向,以及...

¥69.00

基金定投——投资小白盈利指南

于佳蓉 (作者)

随着国内外投资市场环境的变化,投资者的风险偏好也发生了巨大变化,无论是对个人投资者来说,还是对专业投资机构来说,投资难度均有所加大,对投资小白来说更是如此。他们...

¥69.80

小马白话期权3——交易新手入门指南(全彩)

随着更多商品期权品种的上市,越来越多的投资者开始关注期权。本书讲解期权的基础知识、交易策略、操作方法和风险控制等,最后提供了期权的实际操作案例,书中的每个案例几...

¥79.00

股票多因子模型实战:Python核心代码解析

陆一潇 (作者)

本书深入浅出地介绍股票多因子模型的原理与构建方式,从基础知识、单因子测试、因子合成、股票组合构建等多方面进行介绍。 本书共6章:第1章对量化投资进行概述,引出...

 

数据赋能:数字化营销与运营新实战

姚新军 (作者)

本书围绕数据为企业数字营销和运营赋能的两大主线:数据驱动和数据分析展开。详细介绍了企业如何在基于获取各种重要数据的基础上,将这些数据应用于数字广告投放、数字渠道...

¥168.00