我有在反省,但我不后悔。 收藏本站
登陆 / 注册 搜索

阅读:2.7K   回复: 1

自下而上的编程

[复制链接]
空谷幽兰 踏破虚空 2019-12-13 16:00 |显示全部楼层

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

精华达人 主题破百 以坛为家 论坛元老 五周年纪念
by Paul Graham

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

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

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

在Lisp中,你不仅要将程序写入语言,还要将语言建立在程序上。当你正在编写一个程序时,你可能会想"我希望Lisp有这样一个操作符。" 所以你就去写了。
👦‌🩲🪜😀👀
当你自下而上工作时,你通常会得到一个不同的程序。你得到的不是一个单一的,整体的程序,而是一个更大的语言、更多的抽象运算符,以及一个更小的程序。
上一篇
下一篇
帖子热度 2711 ℃

柔光的暖阳 「龙战于野」 2019-12-13 16:03 |显示全部楼层

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

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

本版积分规则

快速回复 返回列表