经常有人说,编程语言啦框架啦无非就是个工具,这工具那工具对开发软件本身影响不大,就好像厨师不挑剔厨刀一样。但是作为一个从J2EE起步然后又做了很多Rails应用的程序员,我知道这说法是不对的,起码这两个社区的人群就很不一样。Java社区相对保守一点、老派一点,偶尔有个聚会什么的也是传统的一个人在台上讲若干人在台下听的模式;而Rails社区就更新潮、更有互联网范儿,比如说聚会这事儿吧,人家搞的叫“unconference”,一大堆人走进一个空间,也不预设主题,每人三句话介绍自己,然后就说今天我带来了什么可以分享的,然后感兴趣的人就自动聚集起来,或是演讲、或是讨论、或是玩游戏,很是热闹。2007年秋天,我去参加了一次在北京的BarCamp,觉得这种形式真是好玩。
还有更好玩的,就是CodeJam:一帮人带上笔记本电脑,找个地方,可能是某公司、某酒店、某青年旅社甚至某咖啡馆,短则十二小时长则两天,把一个点子变成一个真实的软件。如果说像BarCamp这样的unconference与RubyonRails还只是因为“互联网”这个共通点而有某种弱联系,那么Code Jam的兴起就跟Ruby onRails有着很强的关联了:如果不是Rails让程序员们的开发效率成倍地提升,短短两天时间里做出一个真实可用的东西,怎么可能?起码我从没见过用C++(甚至Java)来搞CodeJam的。谁说工具不会影响使用它的人?
2008年,我们也搞了一次Code Jam——主要是李默和徐昊看了别人搞的CodeJam心痒难耐,于是在公司也组织了一个。可是一时想不出该做什么,就连黄亮这成天喊着“做网站赚大钱”的也没有什么好点子,于是李默不知道通过什么关系联系了一个在中国做公益的香港人,听听他有什么需求然后我们帮他做——事后证明,这次CodeJam最牛逼之处就在于此了。