Monthly Archives: January 2010

回顾与展望:还是有关网编

公司的年会结束了。 来公司将近一年,一直在做着网络编辑的工作;而新的一年,也标志着自己不再是这个行业当中的一只最菜的菜鸟。2009年结束的时候由于犯懒也没写什么回顾,这篇就一并当做去年的回顾吧。 年会的时候,脑子里来来回回都是过去一年中在公司的点滴,当时说要写文章,原本是想记录这些的;不过到了午夜宁静时分,思绪就转到另外的方向上去了,只好顺其自然。这篇文章的主题其实我也写过不止一次了,那就是对网络编辑这个职业的理解——包括其工作内容,工作的价值,职业在社会中的定位,以及需要努力的方向。 ================回顾的分割线================= 刚刚进入开发频道的时候,我的工作就是两个:转载文章,翻译文章。当时我对开发几乎一无所知,转载文章基本不知所云;好在借着翻译文章的机会,我对开发技术的一些细节和趋势能够缓慢的建立起不完全的了解。而借着思楠专业的点拨,这些零碎的知识也一点点在我脑中拼凑出了一个比较系统化的形状——这花了我好几个月的时间,而直到那时我才终于差不多能看懂我转载的文章都是什么意思了。 然后就是专题的整理。我整理的第一个专题是Eclipse——这是一个开发工具,主要是Java开发者在使用。这个专题我整理了好几次,但直到现在我仍然不满意。一年间我建立了很多专题,主要是Java相关的,其中Scala专题应该算是最成功的一个,但我仍然不满意。我加入51CTO之前曾在天幻做过一些游戏专题——那里聚集着国内最出色的最终幻想系列专题和很多出色的专题制作者。虽然这些专题在我现在看来应该称作资料库更加合适,但我对这些游戏专题的满意程度仍然要高于我在51CTO做的这些技术专题。我在入职简历上曾经写到,我对只是把经过简单分类的文章堆砌起来的专题厌烦不已,我不想做这样的专题。但结果我发现我想做的专题似乎没那么容易做,过了一年,我还是做不出我想做的专题。不过最近我欣喜的发现,我似乎找到了技术专题的一个合适定位。 然后就是跟专家的接触——国内外的。这在一开始着实让我迷茫了很久,因为我一直没想明白我为什么要去与这些专家沟通(以及,他们为什么要与我沟通)。我在一开始的几个月接受了”为了提升影响力”而去接触专家这个理由,倒是弄出来了一点东西,不过我是不满意。事实上我心里还是不清楚我为什么要做这些。直到有一次,我真的想做了:我想知道Scala IDE的发展情况,所以我发信询问三个Scala插件的开发者,而最后不折不扣拿到了三封回复。这才真正消除了我心中的疑虑。专家也是普通人,而他们之所以成为专家,不仅因为他们有才能,还因为他们的兴趣和理想。在开发界中,专家往往也是布道者(尽管他们自己未必如此认为),他们愿意为他们所热爱的技术进行普及。如果我们也对这个技术充满热情,并通过坚持不懈的、专业的推广表现出这种热情,那么结果往往是专家受到了我们热情的感染,并回馈以同样热情的回复。 最后学习的应该是内容的推广。这部分内容比较杂,包括抢占首页好座位、频道更新维护、SEO等等,以及外部的推广。不过这方面我学习的很粗糙,基本上也没啥心得。新年的推广学习计划是,把自己的Twitter账号的Follower建立到100+或1000+之后,到那时候大概就能有些心得了吧-3-(广告:我的Twitter号是@lazycai,正在努力定位为技术推,欢迎follow) 年末到年初也开始尝试自己也写一些评论之类的,比如架构师专题的那几篇技能分析,还有为Java频道上线而写的这篇。不过写这种文章需要厚积薄发,底子不够的时候往往会耗费了大量时间、死了一大堆脑细胞也写不出好东西来。当然,写作的过程中由于查阅大量资料,往往会学习到比较多的东西,好处是很多的。这方面还是积少成多,稳步前进,逐渐培养吧。 组建和维护翻译团队当然也是工作之一,也是比较杂的工作。一直都很感激这些愿意与我合作的翻译们,有些虽然从未见过面但也一直相互信任,对我有时候犯下的错误也总是能够理解。他们是我的同事和朋友,我一直努力保持真诚,透明以及公平,并希望他们也能够和我们的频道一起成长。不过,翻译团队这边的工作和上面工作的性质不同。上面的几项工作是编辑需要做的事,而翻译团队则是编辑做更多事以及把事做好的时候所需要的力量。兼职编辑、作者也是类似的情况(? ??然有说法是博客时代已经抢走了专栏作家的饭碗,而我似乎挺同意这个观点),乃至于我们编辑部的其他同事、公司其他部门的xdjm们也都是一样的——都是我们做更多事,以及把事情做得更好所需要的力量。言归正传,我们的翻译们在09年为我们做出了很大贡献,我就在这文章里表示下感谢吧。 回顾下来就是这样。 ================回顾结束的分割线================= 有一个说法是, 凡是做内容的,杂志也好,网站也好,卖的都是广告;而编辑做的东西,只不过是在填广告之间的缝。 我十分讨厌这样的说法,但却又感到难以反驳。我自入这行以来,崇拜的第一个编辑应该是老杨;不过在做内容方面,可能是Bill Venners给了我更大的启发。Bill Venners是美国技术网站Artima的主编,我因为关注Scala才了解到的。Artima聚集了西方开发界的很多牛人,讨论的内容在我看来基本上可以用”学术”来形容;同时它也是在Scala的推广上走在前面的站点之一。Bill Venners是开发出身,那本Programming in Scala一书的三位作者之一就是他,而三位作者中的另外两位分别是Google GWT的开发人员Lex Spoon和Scala的创始人,Martin Odersky。之前曾经与Martin通过几次邮件,还近似于套近乎的用Bill来称呼这位Artima的主编——但我其实从来没有跟这位Bill接触过!我只是处理过他和Martin之间访谈的译稿而已。 当初在毕业之后没搞开发也是因为发现自己在学习技术方面实在没什么耐心,所以自己心里本来也了解自己的编辑之路肯定不会和Bill Venners一样。偶尔为了宽慰宽慰自己,就会想想林语堂啊,胡适啊,金庸啊,考虑考虑自己的”杂家”打造之路。在2009年底做架构师专题的时候我忽然意识到,如果我们要在这个领域做顶尖的媒体人,那么即使我们自己的技术水平不值一提,但我们至少需要在某一方面达到架构师的那个高度——因为共同语言是沟通的基础。然后有一天,忽然就发现那个”编辑就是填广告之间的缝”的问题出在哪里了: 编辑靠广告养活,因此给广告之间填缝是编辑的职业。 然而编辑的事业并不在广告,而在于内容的打造。 也就是说,填广告之间的缝,是编辑生命当中的一部分,但不是全部。 现在我发现,关注IT技术的互联网编辑是我所能够想象到的最棒的职业。我开始上网的时间也算挺早了,大概在98年左右;但直到2005年底我开始逛论坛之后,才真正意识到了这是个多么了不起的发明。我下意识的把互联网理解成一个现代的雅典学院,把互联网时代理解成又一个百家争鸣的春秋战国。去年曾去听过一堂胡泳的课,胡泳对互联网的形容是:众声喧哗。 我根本想不出来在人类思想的发展史上,有什么能够比互联网更加令人赞叹。也许,仅次于文字的发明? 编辑是做内容的,内容是传播知识与思想的;而互联网的崛起与发展,与IT技术密不可分:互联网因技术而生,而技术又因互联网形成的无边界的知识共享而加速发展,循环往复,生生不息。回想当年西方工业革命,中国落后挨打,由此无数学子奔往西方寻求洋学,尝试把工业革命的成功复制回来——我至今不知道他们是否成功了。而如今的互联网革命意义之深远,恐怕要远远超过那时的工业革命;而且无论我们想学什么,无需东奔西跑,去互联网上,那里都能找到你想要的答案。 但不够,仍然不够。当年的洋务运动失败了,因为人们只看到了技术,而没有看到技术背后的东西。为什么有了Google,人们还要整出Wolfram Alpha这个搜索引擎,并且有那么多人关注?为什么开源社区的那些重量级人物,会花费时间去关注不同的开源协议之间有何不同?甲骨文收购了Sun,为什么这样的一个商业行为会引来那么多技术人的感慨? 这是一个巨大的社会。互联网社会与现实社会盘根错节的交叉在了一起。它们在深处按各自的规则运转,但在交错之处,则遵循着某些似乎扭曲起来的规则。这些规则时时刻刻在经受着冲击,并在逐步经历着转变。而互联网社会自己的规则也一直在不断地创建——因为这个社会时不时会有一些新生的空白地带。规则的建立往往受多方影响,以至于看起来就好像自然选择的结果一般。 以前做技术专题,内容主要都是技术本身——而这正是我对技术专题最大的困惑。如果人们需要学习一个技术,那么最好莫过于系统的学习,也就是找一本水平合适的书来看;如果人们需要解决一个技术问题,那么最好莫过于在Google中输入关键字进行查询,或找到相应的技术手册进行查询。据说Java的入门书籍多的可以搭成梯子爬好几层楼,而光是Java语言规范就有600多页——这使得一个叫做”Java基础教程“的专题无地自容。这样的专题在五年前或许会有人看,但在今天,它要么被扔进垃圾箱,要么转型——比如说,”什么是Java”专题或者”Java入门书籍推荐”专题。 但是,一个叫做”Scala编程语言“的专题却有存活的价值。因为Scala语言相对比较新,很多人都不了解这是一个什么东西,唯一只是听说过它是个在JVM上的”比Java更好的“语言。人们需要了解Scala有什么特性,Scala代码看起来是什么样子的,哪些项目用过Scala,Scala使用者的体会,从Java项目迁移到Scala的风险、实现难度和成本等等。人们可能还会想知道,Scala的开发者为什么要搞出来这么一个语言,那些开发牛人是怎么评价Scala的,Scala语言本身的更新团队和模式是否稳定,等等。这不是一个有关Scala语言规范或”用Scala开发一个日历”的专题,而仅仅是一个关于”Scala语言”的专题。(这些其实是最近才理清的想法,所以现在的Scala专题还没有按照这个格局走。Scala专题很快将会按照这个想法修改一次。) 总算想通了技术专题定位这个坎,在于想到了”metadata“这个词。元数据,”有关数据的数据”,这个词的理解当时花了我相当长的时间,因此在想到这个词可以用来形容一个技术专题时,登时就有了一种豁然开朗的感觉。 不过metadata还不止如此。metadata式的Scala编程语言专题还应该包含Scala开发者的一些个人经历,Scala社区的一些重要事件回顾,Scala在应用当中的一些值得一提的事迹等等。简单的说,就是历史。上次在做架构师专题的时候,看思楠一口气写了十篇开发牛人的传记;恰逢当时自己正在看唐德刚的《胡适杂忆》,忽然觉得对技术而言,历史是很重要的;而关注每个相关人物的历史则尤其具有启发性。 … Continue reading

Posted in editor | Tagged | Leave a comment

说说《降世神通:最后的气宗》:恐怖分子的思维模式

受了科学家家博文的影响,上周开始看起《降世神通:最后的气宗》(Avatar: the Last Air Bender)这部动画(促成这个决定的是因为这位“科学家家”也是一个轩辕剑三的同好),花了五个晚上,终于看完了61集全套(土豆网、优酷这些站有大部分内容,第三季很多视频都被删了,得花点时间找一下;有些是没字幕的,有助于锻炼听力)。 总体感觉还是挺不错的。制作者是美国团队,两位导演都是美国人。画风偏宫崎骏的风格,甚至在人物的刻画和情节描述的方法上都是宫崎骏风格的;武打元素取自中国功夫,配音自然都是英文。 大概情节就是,世界由四种元素构成,四种元素分别有自己的国家,这四个国家原本是相互平衡的。每个元素国家的人都因为其“属性”有着特定的性格,而这些人当中有一些天生能够驾驭元素能力的人,有着很强的战斗能力。比如火族的人进取心强但性格易躁,欲望很强,御火术(原型为北少林拳)灵活、难以驾驭而且有很强的破坏力;水族的人与世无争,性格沉稳,御水术(原型为太极拳)刚柔并济还有治愈能力;土族的人强健而坚毅,为人固执,御土术(原型为洪拳)纯阳刚猛,既是坚硬的防守力量又是一往直前的破坏力量;气族的人超然世外,遇事往往取巧并容易逃避困难,御气术(原型为八卦掌)轻明、迅速、出其不意,还可以用于在天上飞行。 在这些不会御术和会御术的人之外,还有一种类似于活佛一类的人,被人们称为神通,即Avatar。他们能够掌握全部的四种元素,而且就好像活佛那样,一世一世的轮回在四族当中(按照水-土-火-气的顺序)。每一代神通都继承了历代神通的力量和记忆,而神通的职责就是在四种元素失去平衡时恢复世界的平衡。 这个动画的故事,发生在一次陨石(还是彗星?)降临世界之后。陨石为火族带来了巨大的力量,而火族则趁此机会发动了全面的战争,入侵了其他的三个国家。而在这个时候,神通却忽然销声匿迹了。 战争一直持续了一百年,直到一对水族的兄妹在冰冷的大洋中找到了被冰封在海底的神通——112岁的神通,当时世上的最后一个气宗。但是,他只是一个12岁的孩子,一个名叫安(字幕组是这样翻译的,不过从番外来看应该是叫做“昂”)的小和尚。打败火烈国的国王,让世界恢复平衡的重担就这样担在了安的肩上。当然,和所有的此类动画一样,安身边一直有几位朋友们在帮助他。 正如科学家家所评价的那样,这部动画充满幽默、童趣、勇气、善良、友谊、自由和爱,可以说是老少咸宜,跟宫崎骏的动画一样健康。情节上虽然有不少不合逻辑的地方,但这并不妨碍它是一部很好的动画。 动画中描述了各族的各种人物,性格都刻画的很到位。其中,一个叫做杰特(Jet)的人,我觉得值得一提。杰特是生存在土国乡村的一个男孩,在他8岁的时候,因为火族人的入侵,他失去了父母,成了孤儿。之后,他在丛林中召集了来自各地的和他有相似背景的人们,组成了“自由战士”团体,专门和火族打游击。虽然他们的团队并没有御土师,他们还是有着惊人的战斗力。 杰特是一个出色的领导。他身手不凡,有勇气,有智慧,而且他的演讲有着很强的感染力——或者说,煽动力。一般而言,他的同伴们不需要他的演讲也能够出色的完成一次次对火烈国军队的打击,因为他们努力的目标就是,报复火烈国,赶走火烈国的军队。但是,杰特却总是时不时的会使用他这演讲的才能——因为他们不仅打击火烈国的军队,同时还在袭击和抢劫火烈国的平民,甚至是住在沦陷村庄当中的土国民众。这种时候,他就会借助自己的口才和煽动力,让同伴们相信这种行为的正义性。 在主角们到来的时候,杰特正在计划破坏一个火烈国殖民下的土国村庄,这个计划将导致很多火国和土国的平民丧生。主角们自然是没有喝下杰特的迷魂汤(虽然他们自己也是因为火烈国而失去过亲人的小孩子们),并想要阻止杰特;但杰特的同伴们接受了杰特的观点,并坚决的予以执行。于是村庄最后还是被毁了——主角们只来得及把村民们救出村庄。 这很有意思——因为杰特是十分常见的,无论在美国还是在中国都是。即使大部分人没有杰特的能力,但几乎所有的人都天生的具有杰特的思维模式——日本侵略了中国,所以日本人都是禽兽;伊斯兰基地组织造成了911惨剧,所以阿拉伯国家都是恐怖分子;因为是他们侵略在先,所以我们使用怎样的暴力都是正义的……当广岛和长崎被炸时,有多少人发出叹息,而不是幸灾乐祸?当911事件发生时,我们当中有多少人发出叹息,而不是幸灾乐祸?我们的历史赞颂霍去病和卫青,但我们是否曾为那些匈奴的女人和孩子们叹息过? 事实恰恰相反。我们中的大多数人,当广岛和长崎被夷为平地时,我们觉得这是正义得到了声张。世贸大厦倒下时,我们觉得这是美国的活该。当看到我们版图扩张的历史时,我们觉得这是我们国家的荣耀。 在看动画时,我们可以肆意的取笑杰特,说:“看啊,这个人是多么的邪恶,是多么可怕的恐怖分子!”同时我们也可以肆意的取笑杰特的同伴们,说:“看啊,这些人是多么的没脑子,怎么会轻易地相信了这种简陋的煽动?”但是,我们同时也取笑了自己,因为我们都是杰特和他的同伴们。 但是至少,如果我们认识到我们自己的心中也有杰特和杰特的同伴们,并且发现我们自己也是自己取笑的对象,那么至少我们会产生愧疚感。而愧疚感,则是走上正道之始。最糟糕的事情,莫过于我们不但认为杰特是对的,而且还为自己成为杰特的同伴而自豪。 从这个角度而言,这部动画是值得一看的。 事实上,这部动画里还有很多可以挖掘的内容,正如科学家家所说的,“整部剧集贯穿佛教的因缘转世和慈悲观”。小孩子看这样的动画,不仅娱乐性强,对个人的品性修养也有一些好处,的确不应该错过。

Posted in entertainment | Tagged | 1 Comment

Java,死?不死?死不死?

最近工作的重点主要在Java频道的改版方面。对于Java这一个技术体系,不同的人有不同的看法,但是有一点是一致的:Java并不仅仅是Java语言或是Sun的几个Java产品。 对于Java的定义,我认为这个是最恰当的:Java是一系列技术规范的集成。Java技术体系有一个很有意思的更新模式:由社区提出提案,然后由JCP决定是否要将一个功能加入到体系中,而每一个新加入的部分都是一个单独的JSR——Java规范。 而无论Java提出多少与Java语言相关或无关的规范,这所有的规范都是基于一个平台的,那就是JVM——所有Java技术所依附的基础。 从程序员的角度来看,讨论一个编程语言是兴盛还是衰退是一个既兴奋又无聊的话题。事实上我们都知道编程语言和中文、英文这种语言有着类似的性质,那就是只要它有人用,他就没死。拉丁语死了么?希伯来语死了么?契丹语死了么?相对应的,世界语有意义么?英语正在衰退么? 当然,语言上的承载要比编程语言的承载沉重很多,而且语言不通会引起很多的不便。但是,编程语言是另外一种情况:对于程序员而言,使用某种编程语言只是个人喜好,顶多就是上升到饭碗的问题;同时,一个Java程序员看懂PHP代码或C#代码并不是一件困难的事情。对于项目经理而言,编程语言的选择基本上只需要由成本考虑来决定(当然,这个成本的计算是多方面的),因为任何一个项目从理论上而言都可以用任何一种编程语言来实现。 不同语言之间的交流障碍在编程语言这个范畴内,对人类而言是不太值得考虑的;编程语言的沟通问题仅仅对机器重要:即使是同一个语言的升级,比如PHP 4到PHP 5,原本的项目都需要代码做一些修改。这种机器眼中的沟通障碍为很多语言带来了各种问题,比如为了向后兼容性或和原来的其他语言的兼容性(是的,我说的正是Java语言)而不得不把自己弄得臃肿而丑陋。 但是现在,交流障碍的冰墙正在融化。基于这样的观点,我写了Java的未来:百家争鸣的JVM这篇文章,做为新Java频道上线的彩礼。文中主要描述了JVM之上混合语言编程的前景。是的.NET平台也是一个理想的混合语言编程的平台,但是JVM的开源性质将使它的进展速度更快,而且能够形成一个有机的、自我修正和更新的模式。而且因为选择更加自由,找到好组合的几率将会更高。 今天看到这篇反驳Java将死的文章,论点其实就两个:1. 现在对Java程序员的需求仍然很高;2. 抛弃Java将会有很大的成本。 其实1的原因完全是因为Java很大,使用的人多,和现在全世界都在学英语的原因是一样的。英语其实说不上是多好的语言,我相信从语言学的角度而言那个世界语应该比英语更好;但是英语在很多年内确实不会死亡,也是因为抛弃英语的成本巨大。但是,还有其他的原因:无论多简单的语言,学习一门新语言都需要花费很多时间(尤其是中文这种语言),而之前掌握的语言对于学习新语言的帮助很少。 但是,对于编程而言,情况是不同的:一个专业的程序员,即使他只学过Java,他从开始接触PHP或Ruby到基本掌握这个新语言只需要两周左右的时间(证据参考这里;当然,前提是他不是那种混饭吃的程序员)。也就是说,一个Java程序员的转型对于程序员本人来说,门槛是很低的,休个年假、一个国庆假期就可以迈过去。因此,第1点的重要性登时消散了很多。至于第2点,这是真正说到点子上了:最经典的例子是COBOL。对于Java而言,也有类似的情况。 不过,大家不觉得随着开放理念的发展,抛弃一个编程语言或技术的成本已经越来越低了么?我们正逐渐进入到一个开放标准的时代,像是抛弃IE 6的这种痛苦在将来会变得越来越少。在一个基于开放标准的时代,无论是从一个产品转移到另一个产品,还是从一个平台转移到另一个平台,甚至于从一个技术转移到另一个技术,成本都会越来越低。更不用说只是区区编程语言的改变了。开发时代的理念是,不好的应该被淘汰,好的应该被使用,用户可以自由的选择往好的方向奔去,而不必被泥沼般的迁移成本绑住了脚。 如果是在十年前,我可能会认同Java语言不可能死掉的观点。但是现在,没有理由再认同这些思想古老而僵化的说法了。在未来的十年内,Java语言将告别自己的恐龙时代,而未来的Java平台将属于百家争鸣的JVM!

Posted in developer | Tagged , | Leave a comment