屋顶上的木帷幕

海鸥之所以追着渔船飞,是因为它们认为会有沙丁鱼抛向大海 - Eric Cantona, 1995
随笔 - 146, 评论 - 3168, 引用 - 56

导航

工具

关于


标签

每月存档

广告



访客

 

前个月的事情了。有人在http://www.theserverside.com上面贴了个新闻:Open Source J2EE AppServer JFox 1.0 Released。内容大抵是一个中国的组织发布了一个open source的J2EE Server:“JFox is an Open Source, J2EE-based application server written by the Chinese Open Enterprise Foundation. Version 1.0 has been released. ”

结果那些空闲的老外就去code review,接下去就是中国人狂丢面子了:

Corby: How about the variable names in this method? ... Who could possibly maintain this aside from the original author?

Taylor Cowan: It's an artifact of using a code generator.

Corby Page: That's pretty ambitious, using modeling tools and code generators to create a J2EE server!

Michael Prescott: The code was generated by JavaCC. It's a useful tool, but when the auto-generated code throws exceptions, it's absolutely impossible to debug.

Viland G: The fun is that, it looks like another fork of JBoss! But these guys renamed the packages and removed author tags. It's easy to write J2EE servers these days 眨眼笑脸

具体的,大家自己看这个新闻后面的跟贴吧。能自己写一个app server,自然是值得仰慕一下的,至少我没写过。不过如果拿出去的话,要接受群众的挑剔眼光考验,还是要再加三分努力的。


随贴广告(测试期)
相关文章

打印 | 张贴于 2004-02-03 23:26:00 | Tag:Cool Stuffs

留言反馈

re: 真是给中国程序员丢脸 编辑
是啊!开源是把自己的好的代码拿出来共享啊...不要误人子弟
2006-09-14 11:09:00 | [匿名用户:坏男孩]
回复: 真是给中国程序员丢脸 编辑
JavaCC 好古董的东西!多少年沉默,居然还是活过来了。不容易,不容易。
2004-06-29 14:58:00 | [匿名用户:费斐]
回复: 真是给中国程序员丢脸 编辑
哦?
2004-02-04 12:40:00 | [匿名用户:一开心讲话就快]
回复: 真是给中国程序员丢脸 编辑
灰狐那帮人喜欢自己做产品玩...
2004-02-04 11:25:00 | [匿名用户:rIPPER]
回复: 真是给中国程序员丢脸 编辑
原来如此
2004-02-04 09:56:00 | [匿名用户:progame]
回复: 真是给中国程序员丢脸 编辑
final public ASTEJBQL EJBQL() throws ParseException {
/*@bgen(jjtree) EJBQL */
ASTEJBQL jjtn000 = new ASTEJBQL(JJTEJBQL);
boolean jjtc000 = true;
jjtree.openNodeScope(jjtn000);
try {
SelectClause();
FromKeyword();
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case WHERE:
WhereClause();
break;
default:
jj_la1[0] = jj_gen;
;
}
switch ((jj_ntk==-1)?jj_ntk():jj_ntk) {
case ORDER:
OrderByClause();
break;
default:
jj_la1[1] = jj_gen;
;
}
jj_consume_token(0);
jjtree.closeNodeScope(jjtn000, true);
jjtc000 = false;
{if (true) return jjtn000;}
} catch (Throwable jjte000) {
if (jjtc000) {
jjtree.clearNodeScope(jjtn000);
jjtc000 = false;
} else {
jjtree.popNode();
}
if (jjte000 instanceof RuntimeException) {
{if (true) throw (RuntimeException)jjte000;}
}
if (jjte000 instanceof ParseException) {
{if (true) throw (ParseException)jjte000;}
}
{if (true) throw (Error)jjte000;}
} finally {
if (jjtc000) {
jjtree.closeNodeScope(jjtn000, true);
}
}
throw new Error("Missing return statement in function");
}


......
2004-02-04 04:43:00 | [匿名用户:blahblah]
博客主人设置本博客不允许匿名用户发表言论,请登录后再试

Powered by: Joycode MVC Blogger System