Thinking in XiaoQiang
世人皆有悲哀,只有你不明白
posts - 56,comments - 150,trackbacks - 0
        小时候,他们说,要听话、要懂事,长大做个好孩子;
  我乖乖的长大了,他们说,好孩子循规蹈矩没出息,竞争社会需要小淘气。
  
  小学时,他们说,小树就要经常修剪,将来才能长的直;
  我被剪直了,他们说,纪律毁了这代人,完全失去创造力。
  
  中学时,他们说,好好学习,考上大学就有好工作,不用起早贪黑做小贩;
  我考上大学了,他们说,经济发展让大学生就业难(?),北大生卖猪肉是社会进步的体现。
  
  初中时政治考试,他们问,公有制为主体(大于50%)是不是社会主义制度的基本要求?------我答不是,扣了20分。
  高中时政治考试,他们问,公有制为主体(大于50%)是不是社会主义制度的基本要求?------我答是,又扣了20分。
  
  小时候,我们读七龙珠看机器猫,他们说,80们媚外无可救药;
  长大了,我们抵制日货保钓鱼岛,他们说,80们排外无可救药。
  
  40、50年轻时,革命小将,戴着红袖标文批武斗;
  长大了,他们说,80一代是愤青。
  60一代年轻时,自由战士,打砸中游行烧死武警;
  长大了,他们说,80一代是愤青。
  
  20年前,他们说,世界属于你,属于我,属于80年代新一辈;
  20年后,他们说,世界属于你,属于我,就属80一代最颓废。
  
  70一代说,80一代是虐待狂,出了个垃圾GJM把孩子们都教傻;
  90一代说,80一代是自虐狂,出了个天才GJM成天被同龄人砸。
  
  80前,革命前辈。他们说,80是最早的独生子女,首批小阿飞;
  80后,后生可畏。他们说,80是最后的保守分子,末代旧人类。
  
  出生前,计生扩大化;婴幼儿,全国入托难;上小学,后门大泛滥;考高中,公费变自费;进大学,万里扩招忙;毕业后,本科不如狗。
  然后,热血的50,愤怒的60,潇洒的70齐指80鼻子,他们说,其实你们最~~幸运!
  
  他们说,他们说,他们又说,他们总在说...
  80一代,80一代,还是80一代,八零总是错...
  
  本文献给刚刚变成大人的第一批“小皇帝”们——70年代末80年代初出生的尴尬地80一代。
  
  ~~~~~~~~~~~~~~~~~~~~~~~~~
  青春已成往事,如今80s的过来人也成了“熬成婆的媳妇”:),就要轮到我们点评晚辈了~~~
  
  记得当年有名的“不和70年代出生的人交朋友”吗?
  没砸过四旧、没赶过学潮,平静的一代人突然间就被莫名“隔离”了。
  可是今天,相对于前辈,最能理解后生的却正是郁闷的70一代!
  指责中学会尊重,歧视中寻找公平,70们默默填下了泯平代沟的第一铲土。
  现在,我们,几乎出生起就被担心为“跨掉的一代”的80s已长大成人。
  成长的历程中,或许听到的挖苦多于安慰,或许见到的眉头多于笑容;
  面对着后生熟悉的青春、熟悉的叛逆,该不要再强加给他们成长的痛了吧!
  用疼爱代替斥责,用轻吻代替唾沫;我们试着做个好的前辈吧,让后生们少一些我们忍耐过的忍耐,我们负担过的负担。
  或许有那么一天,晚辈们来为我们翻案:80们——是可爱的一代...
posted @ 2005-10-05 20:04 小强 阅读(420) | 评论 (2)编辑 收藏
经过一段时间的比较,还是选择这里为BLOG安家落户。CSDN的BLOG就是烂泥扶不上墙,MSN又感觉分类和检索不太方便。这里最好,偶又是用JAVA技术。欢迎大家到我的新家来坐坐,一起聊聊天。有什么想法,留个言哈,托托气氛嘛。
posted @ 2005-10-05 00:08 小强 阅读(243) | 评论 (2)编辑 收藏

    本文来自straight_talking_java@yahoogroups.com讨论组,已经是一年多前的文章。Alan WilliamsonJava Developers Journal的编辑,下文来自他在IBM的一个消息来源。SWTSwing的论争我见过不少,NetbeansEclipse的也同样多。译者翻译此文并不是要激起什么争执,也不是支持哪一方(虽然我的确是站在SWT一边的),更不是要攻击Amy。我最重要的理由是,这是一篇有趣的文章。里面有内幕、线人、公司政治、垄断巨头、美女、商界风云……足够拍一出电影。有趣,这就够了。不过此文反映了IBMSwing的看法和SWT的由来,还是有一点营养的。

 

  要想弄清楚为什么一切都被弄得如此混乱,要从几年前只存在AWT的时候说起。SUN当时已经建立了一套基本的可移植控件类,这些类映射到不同操作系统上的原生窗口组件(native widget),显然下一步应该继续增强这套模型,除了初始的CUA 92组件(文字、按钮等等),再继续加上表格、树、记事本、滑块等等……当时的AWT还满是漏洞,远不能称为可靠,还需要SUNcoder们去修补。SUNdeveloper们如GrahamOtto总是习惯于公开把他们的bug归咎为操作系统的差异,比如“WindowsOS/2的焦点次序不同”或者“在……之间Ctrl-X的行为不一样”,以及其他苍白的托辞,好让批评的火力从SUN太早释出代码这个问题的真相上移开。然后Amy Fowler来到了SUN。不是我大男子主义,Amy是个聪明的美女,大多数呆头呆脑只懂技术的开发人员都要被她捏在手里。 Amy来自一家Smalltalk公司,叫做Objectshare,在那里她负责搞UI类库。

 

  跟Java相比Smalltalk的历史有些悲惨,曾几何时有3家庞大的Smalltalk公司——IBMParc-PlaceDigitalk。在90年代初期3家公司的市场份额大致相等,生活是美好的。Parc-Place采用仿窗口部件(emulated widgets)的设计(即Swing的设计),IBMDigitalk则采用原生窗口部件(native widgets)。后来IBM压倒了另外两家,因此他们打算合并成一家,假设叫做Parc-Place Digitalk。随后当他们试图将他们的产品融合到一个叫做Jigsaw的计划中时爆发了一场大战,计划由于政治原因失败了(开发人员实际上已经能让它运转起来),就因为原生和仿造两派的死战。

 

  Amy赢得了精神上的胜利,不过在IBM我们赢得了他们所有的生意,因为这两家公司在一整年里除了吵架什么都没做。当尘埃落定之后PPDParc-Place Digitalk当时已改名为Objectshare,跟Windscale改名为Sellafield的原因相同——让人们淡忘之前发生的灾难)的股票价格从60美元掉到了低于1美元1股。他们因为伪报收入被NASDAQ摘牌,从此消失。此时SUN正走上与PPD类似的技术方向,于是PDD的技术人员都把他们的简历投到了SUNAmy被雇佣了,她承诺通过轻量级方案解决所有窗口组件的问题,因此说服SUN管理层让她当了GUI开发部门的头头。她是拿着“这里原来的人都搞砸了,我是来解决的”的钥匙进来的。随后Amy雇佣了所有她过去在Parc-Place的旧朋友,让他们来开发Swing

 

  显然Swing应该做的是仅仅成为一个绘制框架,给那些希望创建地图软件或者绘图软件的人们使用,无论如何,应该围绕AWT类库来建造它,按钮之类的东西仍然交给AWT来管。SUN的人比如PhilipMark已经让AWT能够处理表格、树和记事本(notebook,?),所以Swing的方向应该说很明显了。但那些毁了PDD的人不干,他们非要把一切都弄成轻量级的。由于SUN管理层的无知,再加上Amy无情的政治手段,造成了我们今天所见的混乱局面。Amy还使SUN相信Swing是作为Mozilla项目的一部分与Netscape联合开发的,事实上这只是她的宣传伎俩。

 

  在IBM,我们从第一天起就憎恶Swing。庞大、满是错误,而且难看至极。原先我们的工具如VisualAge for Java都是用Smalltalk(用的是原生窗口组件)写的,所以当我们将这些工具向Java代码库迁移时,我们需要一套窗口组件。IBM这边的开发人员都是原来搞Smalltalk的那一批人,我们对管理层要求用Swing来构建WebSphere Studio工具都非常不情愿。Swing是个可怕的充满缺陷的怪兽。

 

  在WebSphere Studio最初的预览中,当与Microsoft Visual Studio作对比演示的时候,我们所有的客户都讨厌它,就因为它的外观,而不管它的功能有多强。大多数消费者都不会买一辆让人觉得难看的车,哪怕这车有一台出色的引擎。因此我们开始了一个项目,是把我们的Smalltalk原生窗口组件移植到Java上去。这个项目是加拿大的Object Technology International小组做的。这个项目获得了成功,被运用在在我们发布的VisualAge Micro Edition产品中,VisualAge Micro Edition后来成为J2ME开发方面一个非常成功的IDE。但是OTI的人发现,Swing在读取Windows事件方面有极严重的缺陷,我们甚至无法进行SWTS开始是Simple的缩写,不过后来变成了Standard的缩写)和Swing间的互操作。他们在读事件队列的时候用了一种可能留下内存漏洞的方式,所以我们不得不采用我们自己的查询Windows事件队列的循环,以纠正这个错误。

 

  我们试了一次又一次让SUN修复这个错误,但Amy就是听不进去,所以我们才决定SWTAWT/Swing不能共存。我们甚至在SWT中定义了自己的PointRectangle类——整个工具包对AWTSwing都没有任何依赖。我们把这个工具包放到了Eclipse中,这是一个工具平台,它的总体设计目标就是要战胜MicrsoftVisual StudioEclipse是开源的,所以任何人都可以在上面构建自己的东西,我们已经有像TogetherSoftRational这样的公司移植到了上面。我们的竞争者是Microsoft,所以我们所有努力和注意力都是从正面针对Microsoft

 

  不管怎么说SUN对此非常不满。他们的NetbeansEclipse做的是相同的事,因此他们向IBM高层抱怨。他们认为SWT是要将你绑到Windows上,这纯粹是胡说,因为SWT能通过GTKMac/Linux上运行,以及一大堆嵌入式平台。他们拒绝让Eclipse获得Java认证,因为里面有原生代码,所以Eclipse产品必须很小心地使用单词“Java”这个SUN的商标。Eclipse甚至不能把自己称为一个Java IDESUN已经威胁过要采取法律行动来制止IBM在任何时候把Eclipse称作一个Java IDE。结果之一就是IBMEclipse上创建的GUI设计工具,允许你构建Swing/AWT GUI,却不让你往里面拖放SWT窗口控件。

 

  将SWTEclipse中分离出来是完全可能的,只需要把DLL抠出来放到路径中,并使用窗口组件工具包来给你的银行或者保险或者其他什么应用程序开发GUI。再次说明,我们无法更进一步,因为SUN把我们的双手绑上了。虽然作为Eclipse开放源码协议的一部分,CPL允许我们提供这样的解决方案,但SUN已经很清楚地表明他们不希望我们这样做。 对于用户社区来说,无论IBMSUN的最终动机是什么,我发现有一点总是很有趣:喜爱Swing的人总会说“一旦你花上几年时间去掌握它,你就能正确地使用它”,这基本上是他们在试图证明和维护他们辛苦得来的用途有限的专门技术;而SWT的拥护者们说的是“哇,这真快,这跟原生的一样,还可以用XP皮肤……它还又轻又小”。有一句话是我喜欢的,我们的一个用户说,Swing就像Java决定不通过操作系统来实现原生的IO,而是通过磁头马达API自己来读磁盘的扇区。Swing基本上就是这样的,它拿着个底层的“paint(Graphics)”方法,自己来绘制所有的窗口组件。
posted @ 2005-09-29 16:14 小强 阅读(508) | 评论 (0)编辑 收藏
仅列出标题
共6页: 上一页 1 2 3 4 5 6