Sunday, March 4, 2007

由“您的应用是否真的需要Flex?”所想到的...

  昨天看到一篇题为“您的应用是否真的需要Flex?”的文章,话题是由一个基于Flex开发的“妙句网”应用展开的,作者在文末总结认为“因地制宜”地进行RIA技术开发选型才是正道,暂且不评论其中的是是非非,但似乎都可以归结到一个软件工程和计算机科学的基本原理,那就是“折衷”(Trade-off)的思想。

  回想一下在大学计算机基础课的学习过程中,Trade-off一词无数次地出现在国外的经典教科书中:
  • 时间和空间的折衷(Time vs. Space),这几乎覆盖了所有计算机硬件和软件领域,例如算法时间和空间复杂度,缓存/缓冲区的思想等等。
  • 效果和效率的折衷(Effectiveness vs. Efficiency),这在人工智能,专家系统,搜索排序还有信息安全等和性能密切相关的领域有着广泛的应用。
  • 复用性和复杂性的折衷(Reusability vs. Complexity),这个原理在面向对象分析设计,软件架构设计模式等软件工程应用领域有着极为深远的意义。
  由此还让我想起了Microsoft出版的“Framework Design Guidelines(.NET设计规范)”一书中总结出来的一句话:“Well-Designed Frameworks Are Full of Trade-Offs.(好的框架处处充满了折衷的思想)”。

  更进一步地,如果我们站在人类社会层次上来看这个问题,纵观东西方的文化和社会发展的历史,也或多或少地反映出了折衷的基本原理。以两位东西方思想之集大成者为代表:
  • 孔子:“中庸之道”是东方传统儒家思想的核心概念,也可以说是孔子思想的精髓所在。在某种程度上来看,“中庸”也是一种折衷,“过犹不及”不也正是表明了要在“过”和“不及”之间取一个折衷的解决方案么?
  • 亚里士多德:由中产阶级执政的“共和”政体在亚里士多德看来是保证理想城邦稳定以及和谐发展的最好政体。之所以选择中产阶级,而不是绝大多数的平民或者极少数的寡头阶级,这大概也正是一种折衷思想的体现吧。
  仔细想想,从一个RIA技术开发的选型一直可以引申到最深层次的人类社会普遍存在的哲学问题,又使我突然对以西方为代表的现代大学教育体系和学位设置有了一点感悟。众所周知,所有的博士学位都统称为Ph.D,意为在某一领域的哲学博士学位。可见,是不是说,如果要有资格拿到博士学位,就意味着要在某个领域研究感悟出了源于这个专业领域但大大高于这个领域的,对人类社会发展普遍适用的哲学思想或真理呢?

  以上是我的一点感悟,所引伸出来的文史资料由于时间关系,没有经过特别的考证,如有疏漏偏颇之处还请不吝批评指正,谢谢!

William Cui 崔伟毅

Labels: ,

Monday, February 26, 2007

Weblog定位的调整和思考

  过完年回来也上了两天班了,回想一下,这个假期我可以算是干了两件比较有意义的事情:一是下决心好好经营这个人人都看得到的Weblog,以记录和分享自己的经历和思考,二就是花了蛮多时间把近阶段一些“热门”技术进行了网罗学习,以更新知识和整理线索。

  由于一下子接受了太多新的东西,一时半会儿还无法将这些知识进行有效的内化,相信多加时日即可将之呈献在此Weblog之上。借此机会,我想先把调整后的Weblog定位公布一下,目前能想到的并且有内化过的东西可以谈出来的,主要是以下三块:
  • Enterprise Applications(企业应用)——以企业应用模式为主,有些内容可能会涉及SAP企业应用技术,但尽量想办法将其抽象化出来,寻求一些共性的可复用探究的话题。

  • Rich Internet Applications(富因特网应用)——主要会涉及基于Adobe的Flash, Flex, Apollo应用和思考,当然也会关注一些类似Microsoft的WPF/E等内容。

  • Emerging Technologies(新兴技术)——这块涉猎面就可能会更广些了,突破创新的技术或者专利可以叫做Emerging,而老技术的新应用也可以叫Emerging(比如Ajax),希望借此和朋友们一道与时俱进。
  最后,想做个小宣传:只要对这些内容不反感的朋友(当然有兴趣更好啦),就恳求你们来订阅我的RSS Feed(Email订阅也行)吧,相信我的Weblog不会让大家失望的。

  谢谢支持!:)

William Cui 崔伟毅

Labels: