Profil de Derry凡心的共享空间PhotosBlogListesPlus ![]() | Aide |
|
10 octobre 觅职中。。。6 juillet 猫狗说人话,关于语义是什么的讨论今天不说技术,诸位去优酷搜索一下 “狗 猫 说人话” http://v.youku.com/v_show/id_XMjEyMjQ5ODQ=.html http://tech.qq.com/a/20080603/000103_2.htm “猫咪真的会说话吗?为此记者咨询了长春市博仁宠物医院的周院长。跟宠物打了多年交道的她也是第一次听说猫咪会说话。周院长说,猫所说的大多是常见的生活用语,这可能是咪咪与主人生活时间很长,主人经常说这些话,所以它就开始模仿人的发音,其实它可能根本就不懂这些话是什么意思,这与很多狗会模仿人唱歌是一样的道理。” 看来“专家”只会瞎猜,最好找人工智能专家出来说话,可惜大家看到狗猫说人话往往就是图一乐呵,也不会想到麻烦大专家,所以找个小专家了事了,再说他们只是“模仿”而已,也就是说“他们其实根本不懂那些话是什么意思”,真得他们不懂吗?那为什么人在说话时,他们能接得那么好呢,为什么平时人们都在说狗很通人气呢,人说得话,很多时候它们是能听懂的,在我看来,它们一是没有足够聪明的大脑,二是没有一副先天的发音系统,对于变异的小猫小狗,足够聪明又能控制发声的话,他们似乎就像婴儿一样应试咿呀学语了,那小孩子知道他们发出的“爸爸”,“妈妈”是什么意思吗? 语义到底是什么?什么叫真正地理解,孩子很早就会说爸爸妈妈,他们当时理解这个语义吗?像狗狗一样,主人跟它说,不叫爸爸不给吃饭,它就真叫出来了,你说它理解这个语义了么? 欢迎讨论~~ 14 mai 标准与简化
今天看SearchSOA上面有大量的文章在讲REST对于SOA的价值,大体的结论就是SOA由于现在有太多的标准而且其中一些标准更多是利益问题导致的,最终给开发人员带来了诸多的不便,如何寻找一条简化的道路便成一个值得关注的问题。 J2EE是一个典型的案例,由J2EE的标准过于庞大导致大量的J2EE上的开发人员转而投向了Spring, Struts等等第三方框架而弃Sun标准而去,这令我想起了,当下我正在以较高的视角来看待“元”的问题所做出了很多大型架构想法的问题,如何一个从较角度看到的东西往往更长远,往往更有生命力,但是如果最终导致优秀的东西因为复杂而不可被接受,这是很多项目最终失败的原因,目前我常用的GMF框架就是在这方面做得不好,如果用户要用GMF建模,就不应该让他们去关心模型最终实现的代码的细节而只关心生成的应用程序的对应样式 就行了。 所以,简化将成为目前我所思考的“元”的主要问题之一,在构建了庞大的框架之后,一定要回到可接受度上来简化操作去掉一切不必要的信息。 12 mai 面向对象程序语言与其理论基础摘要本文没有合理的逻辑组织,仅仅是从当前的一些思考去探究面向对象程序语言相关的理论问题,以期获得令人振奋的语言的根本和初衷。 过程式语言早期的过程式语言LISP(面向人工智能)完全采用了递归式进行程序设计,其理论基础是1958年John McCarthy的论文《Recursive Funtions of Symbolic Expressions and ***》(我记性现在奇差),证明了递归式语言与图灵机的等价,从而说明该递归式语言可以做图灵机所做的任何事情,FORTRAN语言曾经是最为流行的程序设计语言,对后世的影响很大,当然LISP的影响很大(尤其是对动态语言的影响),当然那个时代还有BASIC,后来最风靡的还数C,C语言对人类做出了重大贡献,各种产业的各种软件系统都采用C语言来实现,直到今天C语言仍然是最权威的TIOBE编程语言排行上列第二的位置(2008-2009年度),C语言作为过程式语言的典型代表,集成了历史上许多语言的精华,以其灵活性和高效性而著称,令无数人喜爱又令无数人讨厌的指针是C语言的核心法宝,那么C语言是如何和图灵机相等价的呢,而其他语言的研发又是如何考虑语言的图灵机等价问题的呢?这是一个很直观的问题,任何一门编程语言都要保证与图灵机等价才行(不等价会怎么样呢?)! 这里,本草根做一下研究,这个研究是很土的,因为C语言是结构化编程语言,结构化编程语言是在迪杰斯特拉(Edsger W. Dijkstra)《***》的论文中提出了 三种控制流程结构即顺序、判断、循环,与if-goto语言是完全等价的,而if-goto和内存可操作是与图灵机等价滴!所以三种流程结构+内存可操作是与图灵机等价滴!所以C语言是图灵等价滴!也就是说过程式语言都要与图灵机相等价,这样才能去解决图灵机所能解决的算法问题、判定问题等等问题。既然结构化语言都使用了三种流程结构、也支持goto,但他们有什么不同呢?这个问题太大了,我只看到一小部分,即语法的关键字不同,C语言语法最为简练,而用过pascal的人就知道什么是繁琐了,c语言有指针的概念,虽然不用指针,同样可以做到各种事情,但指针带来了前所未有的灵活性,但指针也会给不会用的人带来大量的麻烦。 说到这儿,我突然明晰一件事情,一门语言的价值已经超出简单的图灵等价,而向更加方便、好用的方向前进,这个时候,人们发明出各种新型语法以方便快速书写程序,switch就是最早的对if..else的简化。而后来for..int也开始被广泛使用。 但是语言的书写规则的变化并不能真正解决软件危机的问题,编程语言呼唤新的设计哲学,面向对象方法学带来了新的希望。 面向对象语言面向对象的初衷就是想以人类惯用的思考方式来进行软件设计,所以从一开始就将类、继承、对象等等从现实世界中抽象出来的概念融入到了面向对象语言里面,虽然面向对象语言的出身很早,但真正风靡起来还是进入20世纪90年代,而之前都是结构化语言的时代,那个时代的软件还没有复杂到结构化语言不能胜任的地步。而之后,设计变得越来越重要,软件设计师、软件构架师开始在软件行业出现,与此同时也进入了分工细化的软件时代,在很多地方开始出现IT民工式的程序员,这是时代发展的必然。 虽然我似乎明白了面向对象语言的来由,但你若问及我它的理论基础是什么?我还真是一头雾水! 我想这个在世界计算机行业最牛逼(根据citer上的引用排名)的期刊POPL上,或许我们可以找到答案!不过,我没有去翻POPL,也不知道是哪个老大最先写了object-oriented这个词组,但是面向对象方法学已经上升到了新的语言层面,它提出的都是各种软件最基本的搭建方式,比如一个面向对象语言应该可以定义一个类,类中可以包含方法和属性,方法应该可以被重载,类应该可以被继承等等,慢慢地面向对象语言和面向过程语言一样形成了一个独立的语言家族,在他们中有共同的软件开发方法学,这个时候的程序代码已经变成了一种更加富有思想的原料。而用面向对象语言写出的程序也被以一种全新的角度进行审视,以建立全面的软件开发环境!现在的理论更多地是围绕这些可被考察的东东来进行了,在这种设计哲学的基础上诞生了一个庞大的软件设计帝国。 11 mai Time-时间谈谈时间,关键词项目是一个以时间为基础的关键词时间线,我的认识还在加深中,关键词的底级时间线与日历在本质上是一致的,都是关于一个主题(Subject)的一维时间线,关于两者的本质我将在以后写一篇日志进行详细的分析。今天的主要话题还是时间。 时间,是一个哲学层次的概念,被各种领域的人进行研究,其中最经典的著作要数霍金的《时间简史》了。在wikipedia上有关于time的详尽描述今天我这个领域的人研究时间的话题,围绕的是时间的呈现方式,如果在计算机中以一种有远见的、统一的、**的、**的,总之是各种好处的,一种时间表示方式,人类就曾经吃过千年虫的亏,那就是时间表示方式的草率处理引起的问题。 当代数字计算机的最核心最简单最重要的原件之一就是晶振,这个元件以一定的频率发出的电子脉冲波,是整个电子计算机运行起来的基础,所以计算机天然地对时间就有最基本的支持。在此,我们最关注的是时间的准确表达、可伸缩性和全球一致性。 时间的表示时间格式(Date-Time Format)的标准问题的解决方案是目前时间格式的国际标准为ISO-8601,定义的格式为 Year:
YYYY (例2009)
Year and month:
YYYY-MM (eg 2009-05)
Complete date:
YYYY-MM-DD (eg 2009-05-10)
Complete date plus hours and minutes:
YYYY-MM-DDThh:mmTZD (eg 2009-05-16T19:20+01:00)
Complete date plus hours, minutes and seconds:
YYYY-MM-DDThh:mm:ssTZD (eg 1997-07-16T19:20:30+01:00)
Complete date plus hours, minutes, seconds and a decimal fraction of a
second
YYYY-MM-DDThh:mm:ss.sTZD (eg 1997-07-16T19:20:30.45+01:00)
这里: YYYY = four-digit year
MM = two-digit month (01=January, etc.)
DD = two-digit day of month (01 through 31)
hh = two digits of hour (00 through 23) (am/pm NOT allowed)
mm = two digits of minute (00 through 59)
ss = two digits of second (00 through 59)
s = one or more digits representing a decimal fraction of a second
TZD = time zone designator (Z or +hh:mm or -hh:mm)
总之,时间格式主要的包含的内容为年,月,日,时,分,秒,秒可以精确到任意位和时区,同时,该国际标准支持可伸缩的时间表达,即可以以最大粒度年为单位进行表达,由于最大粒度是年,所以该国际方案还不能达到完美的伸缩性要求,这时需求增加自定义的时间单位扩展,在支持标准的同时,提供对更模糊时间的表达,新型时间单位的定义。 时间的线段时段是另一个时间概念体系中的重要概念,很多事情都是以时段来进行管理的,任意一个时段都可以由两个时间点来定义,从而可以衍生许多和时段相关的操作。时段通常与任务,事件发生紧密关系。 通过建立一套合理的时段管理机制,可以有效帮助用户管理与呈现一些时间点所无法描述的信息。 时段与粗粒度的时间点时段是由两个时间点来定义的,而粗粒度的时间点本质是一个模糊时间点,它表示在这个点所表示的时间段内的某一时间点,如1997年,表示1997年开始到结束中的某个时间点。另外,也会发生混淆两者的情况,比如当想描述一个拥有一定时间长度的事件发生在这个年份内时,那么这个年份比如1998年抗洪,表示的是一个时间段,而实际应用中往往是不应让用户去区分两个概念的,所以需要进行内化,解决方案是时间点与时段的相对化,因而我们来统一一个概念,时间点与时段我们都统称为时间,以此为基础建立具有层次性的时间概念体系。 时间表达的层次性时间表达的层次性是指时间表达不是在同一精确程度上进行的,有的表达十分模糊,有的表达十分精确,有的表达跨越几个世纪,有的表达只是一刹那,通过建立时间的表达的层次性表示方案,有助于有效地管理时间、计算时间和展示时间。 |
|
||||
|
|