Updates from October, 2013 Toggle Comment Threads | Keyboard Shortcuts

  • Avatar of Chen Rong

    Chen Rong 9:15 am on 2013/10/24 Permalink | Reply  

    历史其实是一些偶然事件的组合,AVI作者叫Dave Levine,一个出奇安静的米国土著白人,啥官儿也不是,大头兵。1991年苹果的QuickTime攻城掠地,微软必须出招,大军备战一个秘密项目,只派了Dave和一位印度孟买来的小伙佯攻,项目代号Bombay,表示又大又臭。后来秘密项目集体叛逃成立Real,AVI遗臭至今
    Rob Glaser当时是微软VP,主管多媒体部门,他与几个得力干将带领大军磨洋工。Dan Ling(后来微软研究院院长)帮忙策划了ClockWork,后来的Quartz,再后来的DirectShow(俺在这拨)与Rob明争暗斗。Rob他们跑了之后成立了Real。ClockWork越做越复杂,放弃之后被英国微软捡起来。DicectShow也是个鸡肋。

     | 823 views | 0 comments | 0 flags | 

     
  • Avatar of Chen Rong

    Chen Rong 9:15 am on 2013/10/24 Permalink | Reply  

    关于软件构件 

    Struct是数据结构。Object在数据结构上定义了一组Methods。Component是对Object的二进制封装,必须通过抽象函数集Interface来操作。Service是具备Meta-data等Reflection Info.的Component。MVC的Control只是Component的特例。这些都是为了实现Software IC,一个1970年代提出的概念,而演变,演变。
    如果Service是人们梦中的“Software IC”(软件集成电路片),即现代版MVC中的C,那么Model就是PCBA(集成电路板),View就是设备的面板及旋钮。View用HTML5来表示,Model用JS等动态语言来编写,Control用静态编译语言来预制。用同一种语言来描述MVC,不论SmallTalk还是C++,概念就是糨糊,胡搅蛮缠。
    本来Service是为了演进Component而设计。Functional Unit的function早被Fortran用了,Module被DLL用了。不记得微软COM+组谁想出了Service这个字眼,还Software as a Service,只记得99年1月在Building 42,一次COM+全组大会上宣灌Rental Model和SaaS,当时就觉得PM总是能变着法儿把简单的事情搞复杂。
    Service可以指敏捷开发,快速迭代,用户导向的殷勤(最好免费)服务,我相信更多人也倾向于这个解释。但还有一种解释:松耦合的软件构件拼装。安卓操作系统的输入法,只是一个功能,而非一个微信之类的应用。同是微信,大家可以采用不同输入法,我们是否可以把输入法理解为“Software as a Service”?
    输入法又太常用了,以至于已经有非常标准的接口定义。如何让不太标准的、第三方的“Software Service”被松耦合地、在运行时被动态加载调用?怕Service有病毒,未来OS要动态创建超轻量级的虚拟机来隔离代码。虚拟机之间需要生成动态通讯管道。Service回抛事件时不能使用自己的线程,需要OS来动态中介。

     | 554 views | 0 comments | 1 flags | 

     
c
compose new post
j
next post/next comment
k
previous post/previous comment
r
reply
e
edit
o
show/hide comments
t
go to top
l
go to login
h
show/hide help
shift + esc
cancel