怪怪 | Nothing, Everything

"有过一个发疯的时刻,有感觉的钢琴以为它是世界上仅有的一架钢琴,宇宙的全部和谐都发生在它身上." - 狄德罗
随笔 - 101, 文章 - 3, 评论 - 1996, 引用 - 42
数据加载中……

喧嚣

过去两到三个月,一些总结是有的, 但很难说有很大进步,这是不得不意识到的。

 

从状态上来说:


1. 基本放弃了自我管理。

 

2. 目标对我来说似乎也没有威慑力了,毫无紧迫感。

 

3. 不能说毫无意义, 但确实一点也不充实。

 

从技术上来说:

 

1. 除了少数想法算一些整理, 没有悟到更多东西。

 

2. 一些地方反而过于热衷于言语, 而放弃了本质。

 

比如关于面向对象和其它范式的语言; 最早我就明白Anders说的“对象说到底不也是语法糖吗?”、“delegate就是函数式的全部了”, 但是实际上在这方面的思考并没有新的进展, 也包括对泛型、模板、元编程的体会上,还差那么一点点。

 

而对于“语法糖”这个概念, 不要光停留在表面理解, 类似于面向对象的非本质性, 对我个人来说,已经无需再讨论。相反,delegate并没有把C#变成强大的函数式语言,恐怕在于类型系统的配合度还不够,所以delegate在C#中就很容易表现的像个语法糖。作为具体的议题,后者是一个还存在模糊的地方,而我缺乏深思。

 

关键在于, 哪些东西不是语法糖; 这个地方我没有好好的把握住。 抓住这一点, 在设计和实现时就不会被迷花了眼, 在语言的学习和设想上, 也能更加的击中要害。 再重复一遍,哪些东西不是语法糖?界限在哪里?

 

实际的产品开发,也要重新进入轨道。最近缺乏实践的带动, 而在此之前, 对Web框架的理解,对各种编程范式的理解, 从经验上来说,都是被实践带动的。所以重新回到根本,即便对于高一层次的研究, 也是必要的了。

posted on 2008-07-23 06:17 怪怪 阅读(949) 评论(6)  编辑 收藏

评论

#1楼    回复  引用  查看    

对于“语法糖”这样的概念,我认为没有必要去深究,哪些是哪些不是,如果界定……你能想象一堆没有标准没有定义的东西能够被分得清清楚楚吗?
在你的设计与实现中,语法糖并不会成为障碍,障碍应该来自于其他方面,甚至有可能只来源于你自身,比如是否有长时间的精力集中,是否能一直保持清醒等等
2008-07-23 06:36 | 丁学      

#2楼 [楼主]   回复  引用  查看    

@丁学
这么早...

分得清楚分不清楚,我是这么看的: 以谁为标准。 有一个自己的理解是好事, 如果这些定义能被更广泛的接受, 那就是价值观输出了。不过说实话, 我不应该感兴趣后者。

障碍当然不是语法糖, 但认清出哪些元素是必要的或非必要的是很重要的一点。 当然,跟你说的后面这些内容相比, 又是小事情了。 妈的, 人就是一个以自己为敌的生物。
2008-07-23 06:45 | 怪怪      

#3楼    回复  引用  查看    

“对于语言的热衷”,多半会出现副作用,认为这个语言会成为主流,而没有考虑一些其他的因素,看了D,就会感觉,D会成为主流。但是不要忘了,那家伙在一个人搞,能搞过ms吗?再说ms也不示弱,现在前沿的语言ms都有涉猎,F#,DSL.在wiki里还看到了一种fuxi(国人开发)的语言,看起来跟D还相似。
弄来弄去,就感觉很浮躁。现在看起来光用那种都不行了,多范式语言是语言发展的方向。应该是于oo为主线,在这个基础上扩展其它范式中优秀的东西。

我觉得应该把oo把个精光,出去语言为它添加的那些东西。这个是我的困惑。

"delegate并没有把C#变成强大的函数式语言,恐怕在于类型系统的配合度还不够" ms可以想D那样做。

“语法糖”可不可以认为是一种简化的写法,但是它有一个范式的上下文,如果用机器码的标准,那所有的都是语法糖,如果把这个上下文限定在oo中,应该就能看出来了。

实践,说得对。
2008-07-23 09:43 | bmrxntfj      

#4楼 [楼主]   回复  引用  查看    

@bmrxntfj
我说的是“热衷于言语” :)

语法糖, 就如你所说,不能以机器为标准, 不过我的想法是,在这里应该更虚一点, 连范式都不要考虑, 范式也是为了表达。 主要是目的是什么, 达成这种目的需要什么元素。

之所以对象是语法糖, 就在于实际上person.Speak()实际上就是Speak(person),而通过接口隐藏实现去改变行为, 实际上就是选择一个不同的过程: QueryAMethodAndExecute(person, speak的标识)。

这种看法并不是以机器指令为依据, 而是以表达这个目的为依据。 最基本的,过程及其标识不是语法糖。 当要求和目的变多的时候, 情况就会变复杂。

我过去说的问题, 就在于比如上面例子里的“speak的标识”,流行语言中太过简陋, 它不应是语法糖级别的东西, 却被轻易对待甚至干脆忽视了。所以呢, 大言不惭的说, Anders虽然很明确的指出对象是语法糖, 恐怕还是没意识到对于表达来说,什么*不是*语法糖; 其它语言大师也有类似的模糊点。

这个我个人认为仍然要从本体论(哲学)、集合论(数学)上寻求答案,而不是总是基于现存流行语言的形态改良。

相对于“语法糖”, 还有一个词叫做“语法盐”,指的是一些不好的特征,让一件事变得更难做。 实际上我们可以简单的认为, oo的流行, 就好比炒菜, 结构化编程的盐多了或者其它佐料不够, 简单的想想就决定加糖,而没有从“这道菜到底需要什么佐料”去出发, 终于造成了“坏的变成了相对好的”; 类似一招鲜, 吃遍天的做法, 不是在解决任何问题时都是稳妥的。

主流不主流的就不好说了, 因为语言作为一个工具, 并非是有足够强的表达能力就马上成功, 但事物总是会往好的方向上发展, 无论快慢。 即便像你说的, 以oo为主线, 最后扩展到某一天, 正好做对了路子, 很可能就会发现, 这里面最不重要的特性, 就是oo了;因为oo的各种特性, 并没有弥补本来不充分的元素, 同时新加入的又难说是必要的...

本来不想针对oo来说了, 不过既然老兄又提到这个话题, 就再把我的想法表达一下,不见得可靠哦 :)
2008-07-23 22:24 | 怪怪      

#5楼    回复  引用  查看    

2. 目标对我来说似乎也没有威慑力了,毫无紧迫感。

想要有紧迫感吗?想想人生短暂就可以了。

你是不是想在有生之年实现你的目标,达成你的一些想法?

那么想想你还有多长的时间?这个基本上是不能预测的,能的话就是往小了说是算命,往大了说就是预言了。这些都被定为了迷信,所以呢,不可信,就是说,你还是不知道你到底能活到多大的年纪。

那么可以用“时间有限”来形容,这个对于每个人都适合吧,对于我也是。

记得那篇文章里说过,bill 就是因为在大学的时候,他的一个好朋友(也是程序员)在一次怕雪山的时候遭遇雪崩,不幸遇难。由此感受到人生的短暂,所以才更加的努力。他现在的成就,有一部分原因就是由于当初有很强烈的紧迫感吧。

我要在四年内把我的想做的都做出来。
2008-07-24 06:56 | 金色海洋(jyk)      

#6楼 [楼主]   回复  引用  查看    

@金色海洋(jyk)
想想人生短暂, 我反而感到庆幸。 活着比死, 要简单多了...

我这个人有个大缺点, 喜欢乱想, 想得多了, 劲头儿就不够了,烦。
2008-07-25 00:34 | 怪怪      

标题  
姓名  
主页
Email (只有博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2008-07-23 07:00 编辑过


相关链接: