您现在的位置:首页 --> 查看专题: 编程珠玑
首位 ACM 图灵奖得主 Alan Perlis 曾说过:“如果一门编程语言不能影响你的思维,就没有学的必要’。尽管能通过这个严苛测试的语言稀稀朗朗,在我看来,PostScript 在这个测试中至少得 A。作为一个着重于平面出版应用的领域特定语言(DSL),PostScript 彻底地改变了桌面出版行业。除此之外,PostScript 还是一个设计简单但功能强大的编程语言,含有许多至今仍可以借鉴的珠玑。
中间语言可用于程序优化的原因是显而易见的:这种中间格式既贴近机器代码,又保存了原有程序的结构。程序优化并不是一门魔术。像循环展开,死代码消除等技术,都依赖于程序控制结构,而中间语言可以保持这样的控制结构。事实上,目前我们所知的编译优化技术,无一不是建立在结构分析之上。中间语言的出现让程序优化成为了一个独立的问题。原本单列的 C 程序优化, FORTRAN 程序优化如今统一归结为 RTL 程序优化。编译器前端可以千差万别支持许多语言,但负责优化和翻译为目标代码的后端均归为一个,就此一点,就大大简化了语言编译器的设计门槛。现如今,几乎没有一个语言设计者需要考虑如何生成高效目标代码了。
我欢迎所有的 UNIX 使用者加入痛恨者阵营,因为我也是 UNIX 痛恨者。只有成为了 UNIX 痛恨者,你才是一个真正的 UNIX 使用者。至于 Windows, 我们对它没有感情,无所谓爱恨。
进程间通信的技术细节繁杂,以Linux 系统为例,就有文件,管道,消息队列,信号量,RPC,UNIX Socket, RPC 等等多种方式。Windows 系统还有邮件槽, COM 对象等等。Mac OS 则有 AppleEvent 等等。在这里我们介绍 Plan 9 系统中一个不太为人所知的 IPC 机制:Plumber,或者叫做管道工。我在”开发人员为何应该使用 Mac OS X 兼 OS X 小史“中曾赞扬过 Mac OS X 系统中的 AppleEvent 进程间通信机制对工作效率的提升。和AppleEvent 类似,管道工也是对图形界面下进程间通信的一个尝试,不过在通信的粒度上有所区别。
从某种意义上来说,工具是个桥梁。工具的设计者是为了解决一类问题而设计工具的,工具的使用者也是为了解决一类问题而使用工具的。这两者对于工具都有自己的理解。工具的设计者通常会预测此工具会被用来解决怎样的问题,在设计工具时预见使用者的偏好,而工具的使用者则根据所面临的问题选择合适的工具。
(本文是对于之前编程珠玑番外篇系列中 Plan 9 的八卦这一篇的彻底修订,本文得到了博文视点的卢鸫翔编辑的很多帮助) 计算机发展史上,创新性产品层出不穷。其中,有些想法和产品在技...
LISP 语言前传 Lisp 的主要设计者 John McCarthy 曾经就 Lisp 的发展史,专门写过一篇 History of Lisp 的文章。这里介绍的历史,基本史实部分参照了 John McCarthy 的这篇文章,以及同时期 MIT 的关于 Lisp ...
由于以前的Domain对象都是不需要序列化的,所以为了操作数据库查询的方便,直接采用继承BaseDomain的方式来完成。这样在传递动态参数的时候,只需要把参数放到Map总,就可以很好的在ibatis配置文件(map.xx来直接获取值)中使用。 这样导致的一个害处就是对象看起来有直接根本就不需要的属性,即使你添加关键字transient,不少程序员依然在set的时候会费解一些不必要的属性。例如:在insert()设置属性的...
Scheme 是 LISP 的一个方言(dialect)。著名的 SICP 书就是以 Scheme 为教学语言(实际上 SICP 的作者就是 Scheme 的作者)。 虽然 Scheme 本身只是一个精简化的适合教学的语言,可它首先提出的一些重要的思想,引领了新一代的LISP语言的出现。 实际上, LISP 语言发展的历史是连续的,之所以我在这里人为的把 LISP 的发展史划分为上一代和现代,是因为随着 Scheme 首次引入并规范化了一些重要概念, LISP 语言出现了很多以前从来没有大规模普及的新特性。以 Common LISP 为代表的 LISP 语言也因为这些新特性,而焕发了第二春。 人所共知的 Paul Graham 大叔,借着这一波 LISP 复兴的浪潮,不光写出了 On Lisp 这样的好书;而且还用 Common LISP 写出了一个在线电子商务平台,在 1998 年的时候以近 5 千万美元的价格卖给了 Yahoo! (凭借这笔买卖, Paul 大叔现在经营着 Y Combinator 天使投资,成为硅谷著名的天使)。前段时间卖给 Google 的 ITA,负担着世界上大部分的航班资讯查询,核心系统也是 Common LISP。 虽然不该把 Common LISP 的很多成就全部归结到 Scheme, 但 Scheme 作为一个重要的历史分水岭,探究一下它的历史来源还是很有趣的。
[ 共9篇文章 ][ 第1页/共1页 ][ 1 ]
近3天十大热文
- [55] Oracle MTS模式下 进程地址与会话信
- [55] IOS安全–浅谈关于IOS加固的几种方法
- [54] 如何拿下简短的域名
- [53] android 开发入门
- [52] Go Reflect 性能
- [52] 图书馆的世界纪录
- [49] 【社会化设计】自我(self)部分――欢迎区
- [49] 读书笔记-壹百度:百度十年千倍的29条法则
- [38] 程序员技术练级攻略
- [32] 视觉调整-设计师 vs. 逻辑
赞助商广告