锁定老帖子 主题:丧钟为谁鸣?
该帖已经被评为精华帖
|
|
---|---|
作者 | 正文 |
发表时间:2005-12-22
wolfsquare 写道 早上就看到了,现在才转过来.貌似小桃重blogjava而轻je哦...
纯粹挑拨离间,请在意. 这小桃莫非是指徐x? 不是说taowen吧? 哈哈哈 |
|
返回顶楼 | |
发表时间:2005-12-22
其实,这篇文章还应该进一步界定为:给没有类型推导的,泛型支持有限的,基于名字而非结构的子类型系统的,静态类型面向对象语言敲响的丧钟.(说穿了不过就是java, c#, c++等寥寥几个俗语言罢了)
老早跟老庄说让他划定讨论范围或者定义的时候,就是看到老庄话说的挺大,结果讨论来讨论去不过就是java, c++那点东西.文不对题.不过可能老庄认为所谓的"面向对象"必然就是java这个样子,所以下定义属于多此一举。 批判oo而不研究ruby们,smalltalk们,ocaml们; 批判静态强类型而看不见haskell们,clean们,oz们,那就最好小心一点,把标题变成"给我目前所知的OO敲响丧钟"。 |
|
返回顶楼 | |
发表时间:2005-12-22
冰云 写道 wolfsquare 写道 早上就看到了,现在才转过来.貌似小桃重blogjava而轻je哦...
纯粹挑拨离间,请在意. 这小桃莫非是指徐x? 不是说taowen吧? 哈哈哈 桃之夭夭好不好…… |
|
返回顶楼 | |
发表时间:2005-12-22
raimundox 写道 经过一些学习之后,我写了一个系列的文章,来修正老庄的丧钟系列。URL如下:
第0 面向对象 http://www.blogjava.net/raimundox/archive/2005/12/20/24851.html 第1 接口 http://www.blogjava.net/raimundox/archive/2005/12/21/24889.html 第2 继承 http://www.blogjava.net/raimundox/archive/2005/12/21/24891.html 第3 一切皆对象和面向对象的理论基础 http://www.blogjava.net/raimundox/archive/2005/12/21/24957.html 很不错的文章。我来补充两句。对象行为也是在变化的,比如徐X的吉他就剩下一根弦的时候估计就不会在能演奏合声了吧 ![]() 这样我们却是可以更好的描述真实世界中的对象了。但是就像函数式编程中引入赋值一样,变化对象行为引入了更多的复杂性。我想这也就是为什么java、C++这种静态类型的面向对象语言能够流行的原因。 至于动态语言,能够是以后的发展方向?我表示怀疑。 |
|
返回顶楼 | |
发表时间:2005-12-22
raimundox 写道 我们有理由说,对象其实就是一个lambda抽象,所以一切皆对象不过是一切皆lambda抽象的演化,这也是为什么SICP里把面向对象称作一种“方便的界面”而不是一种抽象的方法的原因了。
正解。 结论是,大家都该看看SICP,至少可以看穿一些流传已久的语法糖。 |
|
返回顶楼 | |
发表时间:2005-12-22
ajoo 写道 其实,这篇文章还应该进一步界定为:给没有类型推导的,泛型支持有限的,基于名字而非结构的子类型系统的,静态类型面向对象语言敲响的丧钟.(说穿了不过就是java, c#, c++等寥寥几个俗语言罢了)
老早跟老庄说让他划定讨论范围或者定义的时候,就是看到老庄话说的挺大,结果讨论来讨论去不过就是java, c++那点东西.文不对题.不过可能老庄认为所谓的"面向对象"必然就是java这个样子,所以下定义属于多此一举。 批判oo而不研究ruby们,smalltalk们,ocaml们; 批判静态强类型而看不见haskell们,clean们,oz们,那就最好小心一点,把标题变成"给我目前所知的OO敲响丧钟"。 ajoo有时间给大家介绍一下oz吧,这个东西我认为内容很多,似乎是一种包罗万象的东西。 |
|
返回顶楼 | |
发表时间:2005-12-22
ozzzzzz 写道 ajoo有时间给大家介绍一下oz吧,这个东西我认为内容很多,似乎是一种包罗万象的东西。 oz.... 貌似和 ozzzzzz 很有渊源。 发展的过程,猜想如下: c, c++, c++++ (c#), c++++++ (c6+)... |
|
返回顶楼 | |
发表时间:2005-12-22
ajoo 写道 批判oo而不研究ruby们,smalltalk们,ocaml们; 批判静态强类型而看不见haskell们,clean们,oz们,那就最好小心一点,把标题变成"给我目前所知的OO敲响丧钟"。 能给oo敲钟应该不是什么ruby smalltalk 而是xml军团. oo编程会成为系统的底层 要快速的开发应用程序 需要更灵活 更宽松的东西. |
|
返回顶楼 | |
发表时间:2005-12-22
ajoo 写道 其实,这篇文章还应该进一步界定为:给没有类型推导的,泛型支持有限的,基于名字而非结构的子类型系统的,静态类型面向对象语言敲响的丧钟.(说穿了不过就是java, c#, c++等寥寥几个俗语言罢了)
老早跟老庄说让他划定讨论范围或者定义的时候,就是看到老庄话说的挺大,结果讨论来讨论去不过就是java, c++那点东西.文不对题.不过可能老庄认为所谓的"面向对象"必然就是java这个样子,所以下定义属于多此一举。 批判oo而不研究ruby们,smalltalk们,ocaml们; 批判静态强类型而看不见haskell们,clean们,oz们,那就最好小心一点,把标题变成"给我目前所知的OO敲响丧钟"。 的确是非常惭愧,努力学习ing... 现在我也可以很负责任的说,当初我的批判对象,实在是过广了。OO的领域其实非常的大,而我对于OO的了解,却始终不出Java、C++的范围。当徐昊跟我谈起Pure OO的鼻祖SmallTalk的时候,我还是只是懵懵懂懂的感到,这不过是一个相当古怪逻辑的OO,跟现在的主流OO,不可同日而语。 后来才逐渐理解到,我所向OO开的跑,90%只应该打在Static Type OO的身上。当初夸下了海口,如今只能羞愧万分,还是学习得不够多啊! 再次特别感谢徐昊和ajoo。 |
|
返回顶楼 | |
发表时间:2005-12-25
raimundox 写道 经过一些学习之后,我写了一个系列的文章,来修正老庄的丧钟系列。URL如下:
第0 面向对象 http://www.blogjava.net/raimundox/archive/2005/12/20/24851.html 第1 接口 http://www.blogjava.net/raimundox/archive/2005/12/21/24889.html 第2 继承 http://www.blogjava.net/raimundox/archive/2005/12/21/24891.html 第3 一切皆对象和面向对象的理论基础 http://www.blogjava.net/raimundox/archive/2005/12/21/24957.html 你可以去信问问 Alan Kay ,看他是否认同“对象其实就是一个lambda抽象,所以一切皆对象不过是一切皆lambda抽象的演化”这种说法。 我是完全不认同的,而且简直觉得这有点扯了。对于建筑在 lambda 演算基础上的函数式语言来说,非常重要的一个特征,在我看来也是带有本质性的特征,就在于无状态、无副作用以及由此引出的引用透明特性。换句话说,你完全不需要区分“这个对象”和“那个对象”,“这份数据”和“那份数据”,这和面向对象重视对象、重视对象之间的交互的想法 …… 不说背道而驰吧,至少不像是亲密无间的关系。至于说“带有副作用的lambda抽象” …… 说实话,我有点不知如何来理解这个说法。 另外,我也觉得奇怪为什么讨论“给面向对象敲钟”最后会扯到计算理论上去。说起来,这计算理论研究的是什么是“计算”,研究和分析不同模型的计算能力,弄明白哪些问题是可以计算的,哪些不可以,哪些问题是能够有效计算的,哪些不能。然则我们对面向对象不满是因为“计算”能力上的问题么?显然不是 …… |
|
返回顶楼 | |