分享 程序的本质复杂性和元语言抽象 (转)

yfractal · 2013年12月14日 · 最后由 yfractal 回复于 2014年02月07日 · 3528 次阅读

麻烦各位移步http://coolshell.cn/articles/10652.html

没怎么看懂,但觉得很牛逼,想听听大家的解释和看法!

这只能证明 Erlang 风格在这种情况下更具生产力

“声明式编程”这五个字居然硬是没有说出来

没看懂的原因是作者使用了大量定义不明晰的词汇,例如组件、抽象维度、抽象层次、抽象维度不匹配、本质复杂性、逻辑维度、控制维度、元、元语言、元编程,等等等等… 其实主旨用“内部 DSL”就能概括了。 最开始那个例子,单用函数就能实现复用。每个 field 一个函数,然后用函数指针数组来定义消息格式就行了。完全不需要引入其他机制。

大概是说,先把所需要用到的数据表格化的表示(配置)出来,无论是表格,或者 hash,或者 struct,反正就是一看就明白的。然后对这堆数据的怎么用就不管了,就完全在于你函数的实现了,因为需求是无法预测的。

#3 楼 @reus #4 楼 @guyanbiao 我还得再想想。。。功力不够啊。。。

#1 楼 @bhuztez #2 楼 @edokeh 觉得那篇文章逼格很高!!!

#6 楼 @yfractal 感觉很低啊 ... Erlang 里面一种常见的写法也有必要吹嘘得那么神。但为什么整天见他们黑 Erlang 的

这个“元驱动编程”说的不就是函数式编程的思想么,还是我没看懂

#7 楼 @bhuztez 呃。。。没学过 E。黑 ruby 的不也不少嘛。。。 #8 楼 @knwang 我一直把函数编程理解为,如果想要 sort,好的,你告诉我如何 compare。 数据决定怎么做,而不是做什么。 至于元驱动编程,就不知道是什么了。。。

#9 楼 @yfractal 矛盾在于这里,他们一边黑 Erlang 的写法难学难用没有生产力,一边吹嘘自己在另外一种语言里面重新发明的同样的写法易学易用极具生产力 ...

没什么更具生产力可言,生产力低只是不熟悉这门语言而已。

读这篇博客,需要《SICP》这本书作为前置知识。它说道的过程抽象、数据抽象、元语言抽象等词汇都是指的过程式编程、OOP 的抽象基础。

这篇博客我认为写得非常棒,高屋建瓴,虽然它的主题是 DSL 和声明式编程,但从编程的复杂性和抽象方式这个更本质的角度说明了元语言抽象的益处。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号