佛说:握紧拳头,你的手里是空的;伸开手掌,你拥有全世界。 收藏本站
登陆 / 注册 搜索

阅读: 522   回复: 1

[# 其他] 自下而上的编程

空谷幽兰 仗剑天涯 2019-12-13 16:00 |显示全部楼层

从前车马很慢,书信很远,一生只够爱一个人,但是可以纳很多妾啊!

精华达人 主题破百 以坛为家 论坛元老
by Paul Graham

传统的方法是,一个大型的程序必须分成几块,程序越大,它就越需要分割。你如何划分一个程序?传统的方法称为自上而下的设计:程序的目的是做这七件事,那么我把它分成七个主要的子程序,第一个子程序必须做这四件事,所以它又有四个子程序等等。

这个过程一直持续到整个程序具有合适的粒度级别 - 每个部分都足够大,可以做一些实质性的事情,但又足够小,可以被理解为一个单元。

有经验的 Lisp 程序员对他们的程序进行不同的划分。除了自上而下的设计之外,他们遵循可称为自下而上设计的原则 - 改变语言以适应问题。

在Lisp中,你不仅要将程序写入语言,还要将语言建立在程序上。当你正在编写一个程序时,你可能会想"我希望Lisp有这样一个操作符。" 所以你就去写了。

当你自下而上工作时,你通常会得到一个不同的程序。你得到的不是一个单一的,整体的程序,而是一个更大的语言、更多的抽象运算符,以及一个更小的程序。


柔光的暖阳 「出类拔萃」 2019-12-13 16:03 |显示全部楼层

这个用户很懒,还没有填写自我介绍呢~

鼎力支持!!
您需要登录后才可以回帖 登录 | 免费注册  

本版积分规则

关于本站|大事记|小黑屋|古黑论 网站统计

GMT+8, 2020-10-22 05:28 , Processed in 0.030005 second(s), 22 queries , Redis On.

© 2015-2020 GuHei.Net

Powered by Discuz! X3.4

快速回复 返回列表