有关 Windows 哲学的书籍或网页

有关 Windows 哲学的书籍或网页

对于 *nix,我发现 Eric Raymond 的《Unix 编程艺术》很好地表达了 Unix 哲学背后的思想。整本书都可以在线阅读,我推荐本章看看我在说什么。它基本上阐述了 Unix 操作系统及其应用程序背后的统一概念。例如:

  • 模块化规则:编写简单的部分并通过清晰的接口进行连接。
  • 透明度规则:设计时考虑可见性,使检查和调试更容易。

然后他讲述如何应用这些规则。

什么构成了 Windows 哲学?
我从来没有真正理解过 Windows 操作系统背后的哲学,而且从未真正认识任何知道足够多知识来回答这个问题的人。对我来说,谷歌搜索这个问题只会带来一堆抱怨。 是否有与《Unix 编程艺术》相当的书籍或文章集,但适用于 Windows 操作系统?

如果有人认为他们有一个好的答案,我也会感兴趣,但这篇文章可能会太长了。

答案1

看看 MSDN 的频道 9。在那里,您可以深入了解 Microsoft 工程师对某个产品或功能的意图/推理。

对于 Windows:我最喜欢的是 Dave Probert 关于 Windows 内核的视频博客(其中包含一些关于与 Unix 的区别的评论):http://channel9.msdn.com/shows/Going+Deep/Windows-Part-I-Dave-Probert/ .... 以及另一部分 2-4....(您可能还想看看其他“Going Deep”视频:-)。

玩得开心。

HTH,托马斯

附言:此外,您还可以在《Windows NT 内部》一书中找到很多信息,第一部分版本对于理解 Windows NT 的内部工作原理非常有用。

答案2

Unix,从“管道”向上,都是围绕使用纯文本协议进行通信的进程而设计的。因此,各种互联网协议(SMTP、HTTP、IMAP、POP 等)的设计都是人类可读的。因此,开发人员必须编写协议编写和解析代码,但与您无法控制的程序进行互操作通常很简单。

相比之下,Windows 是围绕过程调用/方法调用构建的。COM 和后继者提供了将过程调用扩展到 DLL、跨进程线程、跨进程和跨网络的方法。所有这些都相当透明,尤其是在面向对象语言中。这使得编写非常大的网络应用程序变得更加容易 - 只要您控制所有组件。这使得将复杂的互连系统的一部分替换为新代码变得更加困难。例如,Microsoft Word 文件格式作为一种文件格式非常奇怪,但作为 Word 使用的内存中对象的表示却很简单。Exchange 有线协议是 MAPI-over-DCOM:从 Outlook 开发人员的角度来看,他们需要做的就是获取邮箱对象并调用其方法,而试图实现替代客户端和服务器的人则会看到一种不易互操作的有线协议。

答案3

Raymond Chen 的博客 (http://blogs.msdn.com/oldnewthing/) 是此类信息的绝佳来源,同时还提供了有关为什么 Windows 中某些事物如此存在的详细信息(例如:为什么必须单击“开始”才能关机?因为在测试期间,当要求用户关闭他们的 PC 时,他们单击的就是那里)。

答案4

我认为,通过查看 Windows 开始菜单并将其与 KDE 或 Gnome 开始菜单进行比较,您可以很好地感受到系统之间的差异。 *NIX 菜单按任务或类别组织,而 Windows 菜单则按软件公司组织。这充分说明了创建者优先级的差异。

(是的,是的,KDE/Gnome 不是“UNIX 哲学”,但这仍然是一个显著的区别。)

相关内容