朋的博客

MySQL资料,Java技术,管理思想,博弈论,Ajax,XP极限编程,H.264,HEVC,HDR
随笔 - 86, 文章 - 59, 评论 - 1069, 引用 - 0
数据加载中……

James Gosling对SWT和其他事件的一些看法

 

SWT 是很多人都推崇的窗体界面开发组件,有很多喜欢 Eclipse 的人都说, SWT 的效率比 Java 自身所带的 AWT 和 Swing 无论是开发效率还是运行速度上都快。确实如此, SWT 在 Java 世界来说确实是 AWT 和 Swing 的强大竞争对手。这里引用一段 Eclipse 开发者的话,“ SWT 本身仅仅是 Eclipse 组织为了开发 Eclipse IDE 环境所编写的一组底层图形界面 API 。或许是无心插柳,或是有意为之,至今为止, SWT 无论是在性能和外观上,都超越了 SUN 公司提供的 AWT 和 SWING ”。

当然,这个观点是我并不是很同意,但鉴于自己前面一篇文章的“白痴”观点挨到不少高人的批评,呵呵,咱只是一个懂点 Oracle 和 MySQL ,听说过 Java 和 Ruby ,见过 Eclipse 的人(具体这些是什么东西还真的是不知道),还是不要乱提意见的好(玩笑而已)。自己不提,但 Java 世界的英雄 James Gosling 的意见总可以上台了吧?当然还是那句话,仅仅是我认为 James Gosling 是 Java 世界的英雄而已(因为他缔造了 Java ,而且还一直为 Java 维护,抨击其他语言(嘿嘿,他的这个特点俺喜欢啊))。

James Gosling 的照片:

/*偶像吧,帅就一个字*/

这是他回答记者关于
SWT 的问题:

问:一个曾经徘徊在 Java 和 .Net 技术平台之间的开发者因为 Java 语言的分裂提出过下面的问题:
Eclipse
的 SWT ( Standard Widget Toolkit )比 AWT 和 Swing 都好(性能和开发效率)。 JBuilder 的 GUI 却漂亮一点,但用的不是 SWT 。
Hibernate
? JDO ?还是 Beans ?他想知道下一版本的 Java 怎么做到方便开发,让应用程序好看点,容易部署一点,同时又能提供更优秀的数据库使用技术,使开发人员能在最短的时间内开发出更快、更稳定、更漂亮的程序,让那些 .Net 的教徒们活在绝望中。

答:嗯,我肯定会推荐大家使用 Java 基础类库 JFC/Swing 的,因为只要使用得当,他们会比 SWT 的性能和速度更快。只是因为 Swing 比 SWT 拥有更多的特性,所以很容易用错,这是个问题。
而关于数据库方面,每一种情况都有不同,你不得不去了解更多的情形。在某些情况下,关系数据库会是好的选择,但有些情况下,面向对象的数据库才是好的选择。这也是技术让人讨厌的一面。

James 大哥在 CSDN 上聊天室对 SWT 的说法:

问: SWT 将来是不是有可能加入到 JAVA SE 里面?

答:我们刚开始推出 JAVA 的时候,有一个 AWT 。刚才说到 SWT 它的架构基本上重复和照搬了 AWT 。而且它出现的问题基本上和 AWT 是完全一样。

最后说点自己的意见吧, SWT 的速度和效能确实不错,但是它并不符合 Java 的结构标准,不能做到“ Write Once, Run Anywhere ”。而且在内存和垃圾回收上并没有继承 Java 的 Gc ,所以也是比较麻烦的。很多人说 AWT 和 Swing 的速度和性能都慢,那是因为他们并不是真正的懂 Java 的人(其实大多数评价 SWT 和 AWT/Swing 的人都是做 Java Web 开发的人员,对 Java 的桌面开发也许只是浅尝辄止,随便尝试了几下就给出了洋洋洒洒上万字的评语),想象一下 JBuilder 和 Net Beans 是用什么做出来的?速度也不是一样很快,而且这些开发人员的开发速度绝对不慢,比起 SWT 开发,他们还不用去手动回收 dispose 的窗体呢(罪过啦,又说了些偏激的话)。我个人相信,随着 Java  6.0 的出现, Java 对桌面应用的支持得到了前所未有的提升,慢慢的就会有一套完善而成熟的 Java 桌面程序开发框架和开发模式,那时候也许大家就不用争论了。

 

posted on 2006-04-04 17:39 benchensz 阅读(3529) 评论(18)  编辑  收藏 所属分类: 随便写写-乱扯(基本不是有用的)

评论

# re: James Gosling对SWT和其他事件的一些看法  回复  更多评论   

唉,Java开发桌面……不理解
2006-04-04 21:08 | 白痴

# re: James Gosling对SWT和其他事件的一些看法  回复  更多评论   

dispose 又不是什么坏事。不能否认现在winform才是最好的GUI类库吧?不也一样用dispose。没有了C++的确定性回收,Java和C#中使用dispose模式来回收系统资源是个很好的选择。


不符合 Java 的结构标准?除了正式的标准外,还有事实上的标准呢。
2006-04-04 21:56 | dreamer

# re: James Gosling对SWT和其他事件的一些看法  回复  更多评论   

因为怕麻烦,所以没用过swt

欢迎访问http://www.shuangzixing.net 双子星Java开源技术门户
2006-04-05 00:00 | fanse

# re: James Gosling对SWT和其他事件的一些看法  回复  更多评论   

java在桌面软件上一直是超级的弱
很少有人会用这些控件去写东西
至少我是从来不用的
2006-04-05 15:53 | foo

# re: James Gosling对SWT和其他事件的一些看法  回复  更多评论   

java强不在j2se领域
嗯
2006-04-05 15:54 | foo

# re: James Gosling对SWT和其他事件的一些看法  回复  更多评论   

james gosling不过是java之父
j2ee跟他一点关系没有
他一点也不喜欢j2ee
所以可以说,java的大面积流行和他的关系并不很大
他不过在起步阶段作了一点工作而已
也仅此而已
java世界是众人的智慧,不要说什么英雄
我们又不是微软,把盖茨当教主
好了不说了,看书去
2006-04-05 16:01 | foo

# re: James Gosling对SWT和其他事件的一些看法  回复  更多评论   

我从来不用awt/swing
只在学校里用过
java好的东西那么多
这一个不过是可有可无的鸡肋罢了
比起j2ee&j2me
j2se实在是很弱很弱
2006-04-05 16:10 | 天地英雄

# re: James Gosling对SWT和其他事件的一些看法  回复  更多评论   

其实我觉得Java做桌面也并不是真的一无是处的,IDEA和Eclipse还有JBuilder这些不都是Java做的吗(不过,速度是真的不能跟ms的比了)?
这段时间在跟招商的人接触,他们在用Java写仓库RFID设备的驱动和接口,不错(离题了……)。
2006-04-05 20:57 | 陈朋奕

# re: James Gosling对SWT和其他事件的一些看法  回复  更多评论   

j2se弱?!
呵呵
2006-04-05 21:25 | allenjiang

# re: James Gosling对SWT和其他事件的一些看法  回复  更多评论   

不妨比较一下两组应用,都是有很多UI功夫的股票线图软件,一个是SWING上的,一个是SWT上,顺便看看Java写的桌面程序究竟如何:
1. www.sourceforge.net/projects/eclipsetrader (SWT)
2. www.sourceforge.net/projects/humaitrader (Swing)
2006-04-06 05:12 | rororo

# re: James Gosling对SWT和其他事件的一些看法  回复  更多评论   

评价J2SE 弱的人。。。肯定不懂JAVA 。。。。。如果自己不懂JAVA 。。就不要乱评价好不好。。
2006-04-06 13:23 | BEZY

# re: James Gosling对SWT和其他事件的一些看法  回复  更多评论   

java做桌面又能怎样?
IDEA等都是跨平台的IDE
当然需要这样做
否则还玩什么,难道用VC写啊?
M$的速度快?
不懂不要乱说
有些东西单机时候速度是快
越大就越慢
不为什么,因为速度快很多时候是牺牲了一部分严谨结构而得到的
这也是为什么cpp在分布式应用中被java取代的原因
写驱动的时候我使用c,和硬件打交道我一般首先考虑c
这点上c&java是互补关系
可以说没有c就没有java
虚拟机,操作系统等都是c写的
java是上层建筑
而且java压根不是客户端语言,我一直这么认为
至少在客户端,我觉得c++比java是一个更好的选择
桌面软件,我首先考虑的是c类语言,而服务器端,没说的,java上吧
不要指望一种语言能够一统天下,然后争来争去,单比某一块
比java强的太多了,但综合起来,java就是老大,因为它能够跨平台
2006-04-11 14:59 | foo

# re: James Gosling对SWT和其他事件的一些看法  回复  更多评论   

其实.Net已经做到了……
既是上层建筑又可以做客户端。微软还是比较牛的。
这些Java的人还活在自己虚拟的小世界里,不知道外面的世界早已经是微软的世界了。
2006-04-11 21:58 | 好人一个

# re: James Gosling对SWT和其他事件的一些看法  回复  更多评论   

其实.Net已经做到了……
既是上层建筑又可以做客户端。微软还是比较牛的。
这些Java的人还活在自己虚拟的小世界里,不知道外面的世界早已经是微软的世界了。
--------------------
你怎么这么愚昧呢?
外面的世界什么时候成了微软的世界
你给举个例子啊
交通,电信,金融,电子商务etc.
随便说,哪家大公司用服务跑的是.net/windows
世界五百强除了微软自己,谁用微软跑服务,随便说
你知道他们在用什么么?他们在用weblogic跑他们的服务
他们在用j2ee,明白么?为什么知道么?
因为如果跑.net,那谁是甲方?哪天你不爽微软了,你想换一家公司,可能么?
不可能,你只能悲哀无比地继续使用微软的垃圾,享受他们的白眼并美其名曰"服务"
//微软在中国提供过什么狗P服务
上层建筑从来就不是.net的事,.net在北美也只能争取中小企业的应用市场
微软才真正生活在自己的小圈子里
除了微软,谁TM支持.net?
给说个例子啊,HP,IBM还是Apple?
白痴才用.net呢,用.net等于把自己的生杀大权交给了盖茨,等哪一天盖茨想整你
你连怎么死的都不知道,还小圈子,不知道谁更小
如果你用了.net就会像当年vb还有com+用户一样
哪天微软玩腻了,又要升级了,抛弃了.net提出一个什么$org
那你就等着哭吧,等着把你所有的服务再更新换代一次,然后给微软捐出大笔的金钱
//别告诉我这不可能,已经发生过两次
爽啊?被强暴的快感是不是让你兴奋异常啊?
.net做到个P服务器端
连哪怕是一个大型分布式应用都没做出来过
也敢号称做到了
去问问金碟的人,问问盖茨当年多么希望能在金碟的项目上成功一次,因为那是世界第一
又是怎么失败的
2006-04-12 14:13 | foo

# re: James Gosling对SWT和其他事件的一些看法  回复  更多评论   

.net永远都只有一个公司支持
那就是微软
java跨平台
所以java后面有hp,ibm,sun,apple等等乱七八糟的公司企业还有组织
甚至可以说微软也支持java,只是当年微软在visual j++上搞得大家都不愉快
破坏了一种默契,最终被一脚踢出了java大家庭
从而沦落到今天这般田地,怪谁?嘿嘿
活该
2006-04-12 14:17 | foo

# re: James Gosling对SWT和其他事件的一些看法  回复  更多评论   

举例子

说银行,汇丰,四大国有银行等都是bea和ibm的老客户
他们买了一堆的ibm机器,现在决定转
因为怕用了太多的ibm机器和软件,将来会受制于ibm
所以改向bea

说电信,移动
这根本不用说,bea的天下,硬件多是sun的机器

保险
平安为例,也都TM的bea+sun,没什么好说的
平安的构架师有很牛的,斯坦福大学研究生,年薪上千万
人家搞什么的,java,靠,哪个傻B搞.net能年薪上千万老子就服

交通
航空为例,国航是bea的老客户,略过
南航现在从bea逐渐转向ibm+bea
希望两者能够共存,因为他们也怕被bea制约

零售
去问问沃尔玛买sas服务时候用的是什么
sas前面跑的是jboss,TMD也不是.net

电子商务
ebay,amazon都是weblogic应用的典范
没什么好说的,.net根本不可能参与进来
国内的淘宝,8848也是如此

物流
中远物流前一段刚刚和ibm合作,做成一个大单
集成了一堆的系统,用的TMD还是java

太J8多了,现在大家都在搞SOA,开始整合并集成系统了
.NET还在想着如何替代单机系统
什么年代了,这个市场大的早被蚕食了,人家已经开始集成了
谁还会去换已有的系统,傻子
2006-04-12 14:26 | foo

# re: James Gosling对SWT和其他事件的一些看法  回复  更多评论   

看招聘信息的非常有意思
招聘.net的大多是一些国内的公司
而且比较垃圾的那种软件公司
业务多是做外包啊什么的
招聘j2ee的大多是一些知名外企
什么GE,CITI
还有国内一堆能叫得出名字来的软件公司
什么金碟,什么用友
差距一目了然
2006-04-12 14:29 | foo

# re: James Gosling对SWT和其他事件的一些看法  回复  更多评论   

我喜欢建筑,不知搞建筑需要考些什么?
2006-12-31 10:08 | 考试