1.什么是源码共创模式
2.B2Cååç³»ç»çç½ç«å»ºè®¾
3.一个好的程序员至少应该具备哪些条件?
什么是共创模式
进入现代社会以后,传统的阁免个人创作模式已经难以满足文化创意产业发展的需要,文创产品也像工业生产一样,费源越来越多地需要由多人协同完成。源码对于这种不仅可行而且必要的阁免多人共同创作内容产品的生产模式,被称为共创模式。费源前高位的指标源码
共创模式的源码基本内容
按照人们的一般观点,文学创作似乎应该是阁免专属于个人的精神活动。《百年孤独》的费源作者马尔克斯就曾经说过:“作家行业是最孤独的行业,因为他在写作的源码时候,没有人能助他一臂之力,阁免也没有人知道他究竟想干什么。费源”
乍一看,源码马尔克斯的阁免这一论述似乎颇有道理。但是费源我们如果仔细推敲,就可以找到这一命题的“漏洞”。从绝对意义上来说,任何人的创作都是社会化的结果,正所谓“世事洞明皆学问,人情练达即文章”,连马尔克斯本人也离不开他人的影响——他在文学事业上的成功,很大程度上得益于他在孩提时代从外祖母那里得到的民间文学的熏陶。即使从相对意义上来看,作家的创作过程也并不是完全独立的。人类固然没有“三体世界”那样的全透明思维,但毕竟有自己的沟通方式,人与人之间的信息交流,正是促进个人创作水平提升、改善创作思路的重要途径。
尤其是进入现代社会以后,传统的个人创作模式已经难以满足文化创意产业发展的需要,文创产品也像工业生产一样,越来越多地需要由多人协同完成。对于这种不仅可行而且必要的多人共同创作内容产品的生产模式,年月8日发表于虎嗅网的文章《把IP创作变成贴吧吧主的“大逃杀”?也许合作才是大方向》给出了一个恰如其分的名称——共创模式。
共创模式的客观需求
现实需求
共创模式的产生与发展源于作者或文化产业经营者的现实需求。
首先是时间的有限性。
大部头文创产品的制作需要耗费大量的时间,若想在有限时间内制作完成,就必须依靠多人协作。尽管多人共同创作需要付出一定程度的管理成本,但却能够有效控制生产周期,使文化产品在有限时间内进入消费领域。
其次是个人条件的有限性。
1.个人精力的有限性。我们身边具备创作能力者不乏其人,但是有足够精力投入创作的,大概为数不多。很多创作人才受制于日常生活、工作和学习的影响,没有足够的时间投入创作,只能将创作计划中途搁置,甚至永久束之高阁。
2.个人能力的有限性。正所谓“金无足赤,人无完人”,以文学为例,在知识结构、审美能力、整体构思、情节设计、人物刻画、语言修饰等诸多方面都具有卓越能力的大师级人物是世所罕见的,绝大多数作家难免会在某些方面存在不足,这就难免使作品出现一些瑕疵。更有人受制于自身的短板,干脆放弃了对自身优势的挖掘,从而造成资源浪费。
共同创作恰恰能够实现资源优化整合,弥补个人的不足。以**产业为例,剧本的创作通常都是多人协作的结果,有人策划大纲,有人编写故事,有人润色对白,有人修正作品中的常识性漏洞……这样的配合,就可以最大限度地发挥每个人的优势,快速提升作品质量。
理论需求
建构主义理论认为,知识的创造与获得不是参与者简单接受或复制的过程,而是积极主动建构的过程。由于受到主观因素的影响,个人建构的知识未必是合理的,需要经过与他人的协商来不断修正,以增加其合理性。
共创过程恰恰为参与者提供了多重交流协商的机会。
在此过程中,参与者运用自己已有的知识和经验在个体内部建构新的知识,同时又通过与同伴的协商、讨论对自己的知识结构加以改进。参与者首先通过提出自己观点和聆听他人的观点进行观点共享,将自己的java系统源码分享知识转化为他人可能接受的客观知识,并通过协商、评价逐渐完善自己观点,对知识进行不断修正,从而实现集体知识的构建。
这种集体知识始终处于一种不断向前推进、完善与创新的过程之中。参与者在探讨的初始阶段,观点往往是发散的、角度各异的,同时也是浅层的和零散的。通过多重的交流协商,参与者逐渐明确了聚合的方向。他们对作品的认识逐渐深入、系统,并且明确了作品所要表达的意义。在此过程中,不仅个人的知识能够得到不断的重建与推进,集体的知识也将不断完善与创新,从而克服个人创作的主观性、片面狭隘性,促进从知识共享向知识创新的转变。
市场预判功能
共创模式的另一个优势在于它规避市场风险的功能。
除了一些目标较为明确的项目以外,多数内容产品都或多或少地面临着市场风险。共创项目的参与者有着各异的背景,每个人对于产品的市场也有着不同的体验。因此,共创的过程也是内容产品经受市场检验的过程,这就为任务发起者调整产品方向提供了极大便利。我们再向前想一步:如果共创能够与众筹相结合,让投资者为内容的方向投票,那么事情就会变得更加简单:产品的市场风险将降到极低的水平。
历史上的共创
从广义上来说,共创模式并非现代社会的新生事物,其萌芽可追溯至人类文明早期,在人类文化发展史的各个阶段,我们都可见其踪影。
人类文明早期的“非自觉”共创
在人类文明早期,文学作品都是以口耳相传的形式在广大民众中间流传的。在此过程中,不同地域、不同文化系统的人类个体会无意识地将自己的审美与认知融入作品,促使其不断丰富、完善甚至发生变异。例如中国的《诗经》,古希腊的《伊利亚特》、《奥德赛》等,都是经过广大民众长时期加工,最后由作家整理而成的。当这些作品最终以文字形式固定下来时,大概已经没有人知道其最初作者究竟是谁,甚至连作品原始版本的痕迹都已经模糊了。
作家间的交流互动
即便是在个人创作占统治地位的文学自觉时代,一些作品的产生也得益于作家间的交流与互动,最具代表性的例子就是贾岛、韩愈关于“推敲”的探讨。一首诗中融入了两位作家的智慧,这不能不说是一种“共创”。此外,高鹗续写《红楼梦》,也是文学史上比较典型的“共创”案例。
有组织的文化工程
除了文人创作之外,中国古代一些大型图书的编修,也是依靠多人共创完成的。例如《资治通鉴》、《永乐大典》、《四库全书》,都体现了集体协作的价值。
当代典型案例
好莱坞剧本创作模式
好莱坞**产业经过百余年的发展,已经形成了一套成熟的剧本多人创作模式。
根据好莱坞的制作流程,一部影片最初只是一个简单的构思而并非完整的剧本。当构思得到**公司的认可后,就由专人将其细化,搭好整部影片的框架,让整部戏有一个总体的轮廓和基调。接下来,会有人在作品框架的基础上扩展出大纲。大纲成型以后,**公司开始雇佣编剧,将大纲发展成剧本。这些编剧虽然不是全才,但绝对是专才,都能出色地完成流水线上属于自己的工作。
好莱坞的编剧分工非常细致,有的只管写对白,有的负责编情节,有的着重人物勾画,他们就像是流水线上的一道程序,随时可以替换。顺序大致为:编剧部的linux源码编译代码编剧首先把故事情节编好;噱头部的编剧再加入笑料;随后,专门负责写对话的编剧再把对话写出来。
经过多人、多批次修改以后,作品基本成型,再由“剧本医生”进行统一修改,以提升剧本品质。“剧本医生”的主要任务是对剧本的漏洞进行修补和完善,最终让剧本达到逻辑合理、情节丰满的程度。“剧本医生”多采取接力方法,即由不同的人依此对剧本进行修改,解决剧本存在的问题,使作品臻于完善。
九州团队
由江南等七位奇幻作家创建的九州幻想文学平台发轫于年,定名于年,是近年来国内颇具影响力的文学创作团队。该团队采取核心人员作设定,全体参与者根据设定分头创作的方式,构建了一个不同作品彼此呼应、不断丰富和完善的奇幻世界。
九州设定集的诞生正是团队核心成员不断争论、碰撞的结果。在作家们“头脑风暴”的作用下形成的设定集为《九州幻想》、《九州志》的创办打下了坚实基础。
然而需要指出的是,除设定以外,九州团队的创作依然处于一种类似于“同人创作”的分散形态,除了遵从同一设定之外,作者们都是各自为战,作品虽有关联,但“协作”并不明显。
网易百万女性写作计划
由网易女人频道主办的“百万女性写作计划”是由主办方、女性写作名家和网友共同完成的,先由名家为小说各章设定话题,并给出一定的背景、线索,然后各章相继开始稿件征集。每个话题(即每章)征稿结束后,主办方将选取其中的优秀作品揉入小说中,推进小说的进展,同时开始下一话题的征集。整部小说就在网友的共同参与下不断更新。
这种创作方式属于比较典型的“文学接龙”,可充分挖掘参与者的创造力,使小说情节走向突破初始作者的思维局限。同时,也由于情节发展的不确定性,使创作的最终结果远离了最初设定的目标,变得不易把控。因此,这种创作模式并不普遍适用于文创产业的团队协作。
众包网站的代表——维基百科
“众包”(Crowd-sourcing)这一概念是由美国《连线》杂志的记者杰夫·豪(JeffHowe)在年6月提出的。但其所描述的商业实践,却早已存在。互联网的出现导致大众沟通成本的大幅降低,是现代意义上的众包活动成为可能的直接原因。
众包模式其实就是把传统上由企业内部员工承担的工作,通过互联网以自由自愿的形式转交给企业外部的大众群体来完成的一种组织模式。在这一过程中,企业只需要为贡献者支付少量报酬,而有时这种贡献甚至完全免费。
利用众包模式,企业可以及大地减少人员开支,同时可以突破地域等因素的限制,找到适合的人力资源,双方各取所需,将资源整合的优势发挥到极大程度。如今,众包模式已经对传统产业产生了颠覆性的影响:一个跨国公司耗费几十亿美元也无法解决的研发难题,被一个外行人在两周的时间内圆满完成;过去要数百美元一张的专业水准,现在只要一美元就可以买到。维基百科的崛起,正是众包模式成功的缩影。
维基百科(Wikipedia),是一个基于维基技术的多语言百科全书协作计划,也是一部用不同语言写成的网络百科全书,其目标及宗旨是为全人类提供自由的百科全书──用他们所选择的语言来书写而成的,是一个动态的、可自由访问和编辑的全球知识体。
维基百科的用户群体由全球无数志愿学者、玩家、学生等等有知识的人共同组成,该计划的参与者叫做维基百科人。如今,参与者的人数仍在不断增加,特别是受到良好教育的人士。这一开放式的协作彻底颠覆了传统意义上百科全书的编写模式,打破了参与者在时间、地域、身份等方面的限制,使每个人的tomcat架构指标源码优势都能充分汇入百科全书的整体编创之中。
共创模式当下难题
尽管共同创作为内容产品的生产开辟了崭新的道路,但目前几类主要的共创形态都或多或少地存在一些根本性的问题,有些问题甚至成为其持续发展的致命伤。
一、自由状态下的创作难以形成聚合力
九州团队、百万女性写作计划的创作虽然遵循于同一“内核”,但从整体来看,其创作处于一种松散状态,作者的创作自由度很高,版权权益也便于划分,因此具有很强的可操作性。但是这种创作模式的局限性也是不可忽视的。
1.作品没有统一的方向
“九州”的创作方向呈“菜花”状发散状态,百万女性写作计划的创作方向则完全由作者的创作走势决定,结果无法预知。对于这两个项目本身来说,这种模式无可厚非,但是对于需要有统一方向、明确目标的项目而言,这种模式还远不能胜任。
2.缺乏核心团队的协调与管理
九州团队、百万女性写作计划的管理模式同样只适用于这种松散型共同创作,而不能实现对目标内容强有力的把控。在这种管理模式下,只能生产出由各个参与者独立修建的小型房舍所组成的建筑群落,而无法在工程师的统一指挥下建成美轮美奂、构造精致的摩天大厦。
3.本质上仍然属于个人创作
无论是九州团队、百万女性写作计划还是作者与读者频繁互动的博客写作,其本质都是个人创作,参与者之间的“协作”仅仅在于个人根据他人已有作品或粉丝的评价调整自己的创作思路,作者与作者、作者与读者之间并没有形成类似于“流水线”作业那样的紧密协作关系,个人很难直接、有效地对他人的作品产生正向影响,个人创作的诸多弊端也无法得到有效解决。
二、紧密协作状态下的版权分配难题
好莱坞编剧可谓共同创作的典型代表,严谨、明晰的分工,完善的流水线作业使得整个创作过程犹如工业生产一样井然有序、便于把控。类似的情况同样存在于图书出版企业,很多图书都是多人协同创作完成的,尤其是一些部头较大、结构复杂、参与人员能力各异的项目,更是需要严密的协作管理方案作为支撑。
方向有了,管理有了,个人创作的局限性被打破了,然而这种高效协作模式的背后却隐藏着另一个巨大的痛点——工作量,或者说版权如何精确计算?
1.共时性版权计算问题
对于类似于“人手一章”“人手一集”这种分工较为简单、整齐的项目,可以逐一计算每个人的工作量,并对其质量加以评估;而对于分工复杂、琐碎,不同作者的创作内容如“洗牌”般杂糅的项目来说,想要快速对每个人的工作量、创作质量进行精确计算、评估就相当麻烦了。
2.历时性版权计算问题
内容产品并不是“一次成型”的,尤其是多人共创内容,需要不同人经过不同阶段的打磨、修改、完善,才能最终成稿。即便是个人创作作品,一旦涉及投稿、出版,就必然要经由编辑、校对人员的多次修改处理。终稿的篇幅、质量自然便于评估,然而从初稿到终稿的整个过程中,每个人、每个阶段的工作价值却无法以量化的方式得以体现。
综上所述,多人共创的密切程度与版权精确分配的可操作性通常是成反比的,因此在一般情况下,参与者得到的大多是固定的或根据工作内容大致估算的酬劳。至于维基百科,根本不需要考虑这个问题,因为它的用户都是无偿提供服务的。
从行业的长远发展来看,这种无法向创作者提供与自身实际工作价值相当的收益的内容生产模式是难以为继的。
既然现实中的共创案例都有各自的短板,那么理想状态下的共创应该是个什么样子呢?
共创模式管理核心
无论是类似于九州的松散型共创还是类似于好莱坞剧本的紧密型共创,都需要有一个管理核心对项目加以控制,只不过根据实际需要控制程度不同而已。我们以紧密型共创为例,okhttp框架源码详解创作方向的确定与调整,创作团队的组建与维护,不同作者的分工与协调……所有这一切,都需要一个强有力的管理核心来掌控。
管理核心之于共创项目,犹如舰长之于航船,即便内容文本在创作者的推动下偏离了初始航向,这也应该是管理者有意识的调整,而非完全失控的随波逐流。
共创模式分工模式
多人创作的协同性主要体现在分工方面。以下几种分工类型基本可以解决内容创作的需要:
1.条块化分工:按照章节、体例将内容划分成若干模块,每人或几人完成一个模块,最后进行统筹融合。
2.周期化分工:把项目内容创作划分为若干期次,让擅长不同创作方向的人主导其中某一期的工作。比如可以将内容创作划分为“创意生成期”“大纲策划期”“情节搭建期”“文本创作期”“修订润色期”等,由不同作者如流水线般分期次操作。这与好莱坞的编剧模式非常相似。
3.类型化分工:对于内容类型较为复杂,或某一类内容专业性较强的作品,可以让擅长某一特定内容的人负责此类内容,比如诗歌、科技术语、战斗场面等。
这三种分工模式都不是单独存在的,而要相互配合,以适应创作分工的需要。
共创模式版本管理
在共创模式下,一部作品的参与者少则数人,多则成千上万人,每个人提交的版本如何保存管理就变成了一个大问题。维基技术只能实现一次采纳一个人的版本,这种手段确实节省了管理成本,但无法解决复杂问题。
在理想状态下,共创模式应支持多人同时提交多个版本,并且支持全历史版本查询。这些版本很可能在创作过程中被数次修改、杂糅,甚至在最后的成品中无迹可寻,但它们的存在和作用将被保留下来,作为最后计算和分配收益时的根据。
共创模式评审机制
按照传统的内容评审模式,编辑和读者的身份是完全分离的。编辑直接掌握作品的生杀大权,读者影响的是作品的市场反映。如果这两种评审模式能够融合起来,编辑就更容易把握市场需求,使自己的“裁决”趋于合理。
共创模式交流机制
共创模式中自然包括对交流的需求。参与者之间需要充分交流,彼此之间充分施加正向影响,了解内容的进展、变化和彼此的思路,并展开学习和讨论。在这种模式下,即便没有莎士比亚、曹雪芹等不世出的大家,仅仅凭借拥有不同知识背景、不同思维能力的普通参与者,也一样有条件创作出惊世骇俗之作。“三个臭皮匠,赛过诸葛亮”,说的正是这个道理。
而且这种交流并非传统社交软件所提供的相对简单的对话功能,共创模式下的交流机制需要多种形式、多种角度,并且可以关联共享。
共创模式版权计算
最后,共创模式还要面临的另一个重要问题——如何维护参与者的工作心态。
尽管内容产品的创作在很大程度上依赖于参与者的“情怀”,但是从产业发展的角度来看,缺乏物质激励的共创终归走向死路。维基百科近年来内容质量的下滑就反映了这一问题。
对于分工复杂的多人共创项目来说,工作量的计算可有两种方式:一种是依靠技术手段自动评判,其优势在于快捷、精确;另一种是人工评判,其优势在于可以对质量进行评估。这两种手段的结合可以相对全面地呈现共创参与者们的个人工作量和贡献,为版权收益的计算分配提供准确的根据。但这种计算方式需要更加高级的技术手段提供支撑。
另外,对不同类型的作品,其版权计算的方式和公式也必然会有所不同,可能需要建立起多套计算机制。
在现有条件下,共创这一内容生产形式已经渗透到文学、翻译、源代码编写、漫画创作等各个领域,而一旦上述问题得到解决,那么,共创市场或将以我们无法想象的速度呈级数扩张,整个内容产业的格局也将就此改变。
B2Cååç³»ç»çç½ç«å»ºè®¾
1ãB2Cååç³»ç»æ¯ä¼ä¸åçåç½ä¸ååºç³»ç»ï¼éå®ä¼ä¸èªèªæåç产åçB2Cçµååå¡å¹³å°ï¼2ãæ´åæ个è¡ä¸å¸åºæ建B2Cååï¼è¡ä¸å ä¼å¤åæ·å çï¼ä»¥éå®å çå产å为主ççµååå¡å¹³å°ï¼
3ãæ ¹æ®å®é éè¦ï¼æä¾ç½ç«çåãç½ç«å»ºè®¾ãç½ç«æ¨å¹¿åç½ç«è¿è¥é¡¾é®çæå¡ï¼
ä¼ ç»ä¼ä¸ç±å®ä½ç»è¥å»¶ä¼¸å°ç½ç»çB2Cçµååå¡æ¨¡å¼æ´ç¨³å¥ãæ´å¼ºå£®ãæ´æç«äºå.å¨å·²æ线ä¸ä¸å¡è¿è¥çåæä¸ï¼ä¼ ç»ä¼ä¸åå±çµååå¡ï¼å¨äººåãç©åãè´¢åä¸æ¹é¢é½æå®ä¸æ¯æãä¼ ç»é¶å®ä¼ä¸è¿åB2Cçµååå¡æ¯ä¼ ç»ä¼ä¸åºäºç°æä¸å¡æ¨¡å¼çä¸ä¸ªå»¶ä¼¸ï¼æ线ä¸ä¸å¡ãåçãæ¸ éã顾客çå¤æ¹é¢èµæºçæ¯æï¼è¿ç§çµååå¡æ¨¡å¼æ´ç¨³å¥ï¼ç¸å¯¹äºçº¯ç½ç»åçµååå¡ä¼ä¸æ´æç«äºåã 1ãæ éååç±»å«
2ãå¯å¤å¶ååç±»å«
3ãå¯ä¸ºä¸ä»¶åå设置å¤ä¸ªæå±ç±»å«
4ãå¯é对ä¸å级å«ä¼å设置ä¸åçä¼åä»·æ ¼
5ãå¯è®¾ç½®åå积å
6ãå¯åæ¶æ¾ç¤ºå¸åºä»·åæ¬åºä»·
7ãå¯ä¸ºåå设置å±æ§é 件ï¼å¦ä¸åé¢è²ãå°ºç ã主æºé ç½®ï¼ï¼æ ¹æ®éåçä¸åé 件èªå¨çæä»·æ ¼
8ãååæ¹éç¼è¾
9ãååæ¹éä¸ä¼
ãèªå¨åºå管ç
ãå¯å表ååè¯è®º
ãåååçåè½
ãåè½å¼ºå¤§çè´ç©è½¦åè½ 1ã订åå ·æâ确认ãå°æ¬¾ãåè´§ãé货货ãå½æ¡£ãåæ¶âç¶æï¼æ¹ä¾¿æ¨æ§å¶è´ç©æµç¨çæ¯ä¸ªé¶æ®µ
2ãèªå®ä¹è®¢åæå°æ ¼å¼
3ãå ·æåè´§åãéè´§åãæ¶æ¬¾åãé款åçå¤ç§åæ®
4ãæ¹ä¾¿å¿«æ·çå¤ç§æ¡ä»¶æ¥æ¾è®¢å 1ãå¯å¯¹ä¼åå级
2ãæ¯æä¼åé¢ä»æ¬¾
3ãå¯åä¼ååéä¼åã广åçé®ä»¶ 1ãæ¯æç®åå¸é¢ä¸ä¸»æµæ¯ä»æ¹å¼ï¼å¦æ¯ä»å®ãè´¢ä»éç
2ãæ¯æå¤ç§é éæ¹å¼ãé éå°åºï¼å¯èªå®ä¹é éä»·æ ¼ï¼å¹¶æç¬åçè¿è´¹å ¬å¼ï¼æ¯æææçè¿è´¹ä»·æ ¼æ¹å¼
3ãæ´åè¿è´¹è®¡ç®æ¥å£ 1ãä¸é®åæ¢æ¨¡æ¿ï¼è®©ç½åºè¡¨ç°å½¢å¼ä¸°å¯å¤å½©ï¼ç¬å ·ä¸ªæ§
2ãå ç½®ç§ç±»ä¸°å¯ç模æ¿æ ·å¼ï¼ï¼ä¸é®å³å¯å身
3ãå¯è§åç¼è¾ï¼åªè¦ä¼æåå³å¯æä½ï¼ç®åæäº å¤è¯æäºï¼â工欲åå ¶äºï¼å¿ å å©å ¶å¨âï¼ä¸ºäºå ¬å¸æä¼ä¸çé¿è¿åå±ï¼è¯·æ ééæ©ä¸å®¶å¼å¾ä¿¡èµçãä¿¡èªä¸å®å并éçç½ç«è®¾è®¡å ¬å¸ãé£ä¹åºå½å¦ä½éæ©å¥½çç½ç«è®¾è®¡å ¬å¸å¢?ç°å¨æä¾ç½ç«å»ºè®¾æå¡çå ¬å¸å¾å¤ï¼æ¤äº§ä¸æ¯ä¸ä¸ªå¾éæç产ä¸ï¼å æ¤å 满äºå¾å¤éä¸ä¸çæ£è§å ¬å¸ãå æ¤ï¼å¯¹äºå¹¿å¤§ç¨æ·èè¨ï¼å¦ä½éæ©ç½ç«è®¾è®¡å ¬å¸åºå½æ éã以ä¸å ç¹å¯ä»¥èèï¼
1ãæ¥æåºå®åå ¬åºæ
ä½ ä¹è®¸éå°è¿è¿ç§æ åµï¼å½ä½ æåºè¦å»ç»ä½ åç½ç«çå ¬å¸å®å°ççæ¶ï¼å¯¹æ¹ä¼æ¾åºç§ç§çç±æ¨è±ï¼æåé»æ¢ä½ å»ï¼åæ¶å´ä»¥ä½äºå¸åºä»·å¾å¤çä»·æ ¼åä½ æ¿è¯ºåç§æå¡ãå¯æ³èç¥ï¼é£äºè¿å ¬å¸çå°ç¹é½ä¸æ¿åè¯å®¢æ·ãä¸æ¢è®©å®¢æ·å»ä»ä»¬å ¬å¸çççç½ç»å ¬å¸ä¸å®é½æ¯å«æ欺è¯æåçå ¬å¸ï¼è缺ä¹è¶³å¤çåå ¬ç¯å¢ãææ¯å®åï¼æåçæ¿è¯ºä¹åªè½æ为ä¸åå®é ç空ä¸æ¥¼éã
2ãå ·æå¤å¹´çç½ç«è®¾è®¡ç»éª
æ们ä¸å¦å®æ°çäºç©ï¼ä½æ¯å¦æä»é¿è¿èèçè¯ï¼æ们è¿æ¯å»ºè®®æ¨éæ©å ·æå¤å¹´çç½ç«è®¾è®¡ç»éªçå ¬å¸ï¼ä¸æ¹é¢å¨ç½ç«è®¾è®¡çè¿ç¨ä¸ä»ä»¬ä¼èèå°çä¸è¥¿æ´å¤ï¼æ´è½äºè§£å®¢æ·çéæ±;å¦ä¸æ¹é¢è¿æ ·çå ¬å¸ç§¯ç´¯äºå¤§éç客æ·ç¾¤ä½ï¼ä¹ä¸ä¼è½»æåéã
3ãç½ç»å ¬å¸èªå·±ç½ç«çæ°´å
ä½ä¸ºä¸ä¸çç½ç«å»ºè®¾å ¬å¸ï¼å¦æä»ä»¬èªå·±å ¬å¸çç½ç«é½ä¸å¡ç³æ¶ï¼ä½ è¿ä¼ç¸ä¿¡ä»ä»¬æå¤å¤§å®åå?å¦æ对èªå·±å ¬å¸çç½ç«é½å¯ä»¥å°å°±ï¼ä½ è¿ä¼æå¾ ä»ä»¬å¯¹ä½ å¤è´è´£å?
4ãä½ ä¿¡ä»»çã并ä¸å¯¹ç½ç»è¡ä¸ã对ææ¯äºè§£ç人ç»ä½ çæè§
äºèç½åå±å°ä»å¤©ï¼ç½ç«ç好åæ©å·²ä¸æ¯åç½é¡µä¸å¨ç»æ¯ä¸æ¯å¾å¤ãé¢è²æ¯ä¸æ¯å¾é²è³ãæ¯ä¸æ¯æ声é³æå½åççè¿äºè¡¨é¢çä¸è¥¿æå³å®ãæ¯æç½ç«æ£å¸¸è¿è¡çåå°ç®¡çææ¯ãèµè®¯å®æ¶æ´æ°ææ¯ãæµéç»è®¡åæææ¯ãå¨çº¿æ²éææ¯ççææ¯å ³é®ãå½ç¶ï¼å¯è½å¾å¤äººé½è¯´ä»ä»¬å ¬å¸æè¿äºä¸è¥¿ï¼é£ä½ å°±å¾æ¦äº®ç¼çäºï¼è¿äºä¸è¥¿æ¯ä»ä»¬å ¬å¸èªå·±å¼åçå?è½ä¸æå级æ´æ°å?ææ¯ä¸æ¯é¢å çãå¯é çãå®ç¨çå?
5ãç½ç»å ¬å¸ææ¯äººåä¸ä¸å¡äººåçæ¯ä¾
ä¸ä¸ªç½ç«å»ºè®¾å ¬å¸å¦æå ¨æ¯ä¸å¡åçè¯å°±è¦æ³¨æç½ç«æ¥ä»·çæ°´åäºï¼å 为ä¸å¡åæ¯ä¸ä¸ªå ¬å¸çåºç¡ï¼å½ç¶ä¹ä¼æ¿å¤§éç订ååæ¥ï¼æ以说åççææ¯ä¸ä¸å¡äººåæ¯ä¾æä¼ä¿è¯å®¢æ·çè´¹ç¨çæ£çç¨å¨ç½ç«ç建设ä¸é¢ã
6ãç½ç«æ¡ä¾ï¼ä¸è¦åªçä»ä»¬èªå·±çç½ç«ãå 为æäºç½ç«å¶ä½å ¬å¸èªå·±çç½ç«é½æ¯å«äººç»è®¾è®¡å¶ä½çã
ç½ç«æ¡ä¾ä¸åªææªå±çå°å¾ä¸è½è¯´æé®é¢ï¼ä¸å®è¦æ客æ·ç½ç«çæ£å¼é¾æ¥ï¼å¹¶ä¸æ¨ä¸å®è¦å°å®¢æ·çç½ç«ä¸çä¸çãå 为ä¸è¬ç½ç«ççé¢ç¼©å°åï¼çèµ·æ¥ææé½ä¸éï¼å¾å¤ç»èæ´æ¬çä¸åºæ¥;è¿æï¼éè¿åå®è®¿é®è¯¥å ¬å¸ä¸ºå®¢æ·å¶ä½çç½ç«ï¼äºè§£ä¸ä¸ç½ç«ç访é®é度ãè¿äºä¹æ¯æ£éªç½ç«å¶ä½å ¬å¸çå·¥ä½æ¯å¦ç²¾ç»çéè¦ç¯èï¼å 为ä¸ä¸ªç½ç«åå¾å¥½ä¸åªæ¯è®¾è®¡è¿ä¸æ¹é¢ï¼è¿å æ¬é¡µé¢å¶ä½æ¯å¦è®¤çè´è´£ï¼å¾çæ¯å¦å¨ä¿è¯ææçåæä¸ï¼å°½éåå°æå°ï¼ä»¥æé«ç½ç«ç访é®é度ã
7ãä¸è¦ç¸ä¿¡é£äºå¤§å 大æ½çå ¬å¸ï¼çè³ç»èº«å 费维æ¤ç鬼è¯ãä»ä»¬å¯è½åªæ¯ä¸ºäºå¾å°ä½ çååï¼ä½æ²¡æèèæå¡çé®é¢ï¼æ以å¯ä»¥ä»»æåä½ æ¿è¯ºã
8ãç½ç«æ¥ä»·
ä¸è½åªçç½ç«æ¥ä»·ï¼ä¸çè§æ¨¡ä»¥ä¸çç½ç«éæ±éè¦çä¸ä» ä» æ¯ä¸ä»½æ¥ä»·åï¼èæ¯ä¸ä¸ªå ¨é¢çç½ç«çåæ¹æ¡ä¹¦ãç½ç«çå¶ä½è´¨éä¸å®æ¯åè´¹ç¨ç¸å ³çï¼è¿ä½çæ¥ä»·ä¸å¯è½æä¾ä¼ç§çç½ç«è®¾è®¡ï¼æ´æ¯æ æ³ä¿è¯ä¿éç½ç«é¡¹ç®çè´¨éä¸æå¡æ°´å¹³ãä»äºæå·ç§°è½ç½ç«å»ºè®¾ç人åå¾å¤ï¼å æ¬å¨ä¸ªäººèªå¦çå¦çï¼ä½å¼å人åçç»éªé常éè¦ï¼èä¸éè¦å¤äººåä½çå ·æä¸å®é¡¹ç®ç®¡çå®æ½è¿ç¨æè½å满å®æç½ç«ç建设ä¸åå¸ï¼è¿æ ·ç½ç«çå«ééä¹å¤§å¤§ä¸åãéæ©ç½ç«å¼åå ¬å¸æ¯è¾è´¹ç¨æ¶ï¼åºè¯¥æ¯è¾çæ¯âæ§ä»·æ¯âï¼å°±æ¯æ¨è±è´¹åæ ·çè´¹ç¨æ¯å¦å¯ä»¥å¾å°æ好çç»æã
一个好的程序员至少应该具备哪些条件?
楼上的几位显然误会我的意思了,我并不是说不应当写文档加注释注重团队精神,看看下面的一篇文章,那位三天就写出UNIX的他需要写文档注释和团队精神吗,他用不着。哪个高手没有一点傲气和自信,他之所以敢对用户说:拿到你想要的,然后滚蛋,你已经很幸运了!是因为他有这个资本。天才本就不循规蹈矩,那样他就不叫天才了。
MIT BBS上说微软电话面试的一道题就是“Who do you think is the best coder,
and why?”。我觉得挺有意思的,也来凑个热闹。排名不分先后。
Bill Joy, 前任Sun的首席科学家,当年在Berkeley时主持开发了最早版本的BSD。他还
是vi和csh的作者。当然,Csh Programming Considered Harmful 是另一个话题乐。据
说他想看看自己能不能写个操作系统,就在三天里写了个自己的Unix, 也就是BSD的前
身。当然是传说了,但足见他的功力。另一个传说是,年初的时候,DARPA让BBN在
Berkley Unix里加上BBN开发的TCP/IP代码。但当时还是研究生的B伯伯怒了,拒绝把BBN
TCP/IP加入BSD,因为他觉得BBN的TCP/IP写得不好。于是B伯伯出手了,端的是一箭封
喉,很快就写出了高性能的伯克利版TCP/IP。当时 BBN和DARPA签了巨额合同开发TCP/IP
Stack,谁知他们的代码还不如一个研究生的好。于是他们开会。只见当时B伯伯穿
个T-shirt出现在会议室(当时穿T-shirt不象现在,还是相当散漫的哈)。只见BBN问:你
怎么写出来的?而B伯伯答:简单,你读协议,然后编程就行了。最令偶晕倒的是,B伯
伯硕士毕业后决定到工业界发展,于是就到了当时只有一间办公室的Sun, 然后他就把
Sparc设计出来乐。。。象这种软硬通吃的牛人,想不佩服都不行的说。据Bill Joy的同
事说,一般开会的时候B伯伯总是拿一堆杂志漫不经心地读。但往往在关键之处,B伯伯
发言,直切要害,提出漂亮的构想,让同事们彻底崩溃。对了,他还是Java Spec和JINI
的主要作者之一。
John Carmack,ID Software的founder和Lead Programmer。上个月和一个搞图形的师兄
聊天,他竟然不知道John Carmack, 也让偶大大地晕了一把。不过也许搞研究的和搞实
战的多少有些隔吧。想必喜欢第一人称射击游戏的都知道J哥哥。年代初只要能在PC
上搞个小动画都能让人惊叹一番的时候,J哥哥就推出了石破天惊的Castle Wolfstein,
然后再接再励,doom, doomII, Quake...每次都把3-D技术推到极限。J哥哥的简历上说
自己的专长是"Exhaust 3-D technology",真是牛人之言不我欺的说。做J哥哥这样的人
是很幸福的,因为各大图形卡厂家一有了新产品就要向他“进贡"
,不然如果他的游戏不支持哪种卡,哪种卡基本就会夭折乐。当初MS的Direct3D也得听
取他的意见,修改了不少API。当然,J哥哥在结婚前十数年如一日地每天编程小时以
上,也是偶们凡人望尘莫及的。对了,J哥哥高中肆业(?),可以说是自学成才。不过
呢,谁要用这个例子来为自己学习不好辩护,就大错特错了。那 Leonardo Da Vinci还
是自学成才呢(人是私生子,不能上学)。普通人和天才还是有区别的。对了,其实偶们
叫“达分奇”是相当不对的,因为Vinci是地名,而Da Vinci就是从Vinci来的人的意
思。换句话说,Leonardo Da Vinci就是“从Vinci来的Leonardo”的意思。叫别
人“Da Vinci”就不知所谓乐。嗯,扯远了,打住。
David Cutler,VMS和Windows NT的首席设计师,去微软前号称硅谷最牛的kernel开发
员。当初他和他的手下在微软一周内把一个具备基本功能的bootable kernel写出来,然
后说:“who can't write an OS in a week?",也是牛气冲天的说。顺便说一句,D爷
爷到NT3.5时,管理名开发员,自己还兼做设计和编程,不改coder本色啊。
D爷爷天生脾气火爆,和人争论时喜欢双手猛击桌子以壮声势。 日常交谈fuck不离口。
他面试秘书时必问:"what do you think of the word 'fuck'?" ,让无数美女刹羽而
归。终于有一天,一个同样火爆的女面对这个问题脱口而出:"That's my favorite
word"。于是她被录取乐,为D爷爷工作到NT3.5发布。
Don Knuth。高爷爷其实用不着偶多说。学编程的不知道他就好像学物理的不知道牛顿,
学数学的不知道欧拉,学音乐的不知道莫扎特,学Delphi的不知到 Anders Hejlsberg,
或者学Linux不知道Linus Torvalds一样,不可原谅啊。为了让文章完整,就再罗唆几句
吧。高爷爷本科时就开始给行行色色的公司写各种稀奇古怪的编译器挣外快了。他卖给别
人时收一两千美元,那些公司拿了code,加工一下卖出去就是上万上十万。不过也没见高
爷爷不爽过,学者本色的说。想想那可是年代初啊,高爷爷写编译器写多了,顺带就搞
出了个 Attribute Grammar和LR(k),大大地造福后人啊。至于高爷爷在CalTech的编程比
赛(有Alan Kay得众多高高手参加)总是第一,写的Tex到年就code freeze,还附带2^n
美分奖励等等都是耳熟能详的,偶就不饶舌乐。
顺便说一下,高老大爷是无可争议的写作高手。他给Concrete Mathematics 写的前言可
谓字字铿锵,堪为前言的典范。他的技术文章也是一绝,文风细致,解释精当,而且没
有学究气,不失轻快跳脱。记得几年前读Concrete Mathemathics,时不时开怀大笑,让
老妈极其郁闷,觉得我nerdy到家,不可救药。其实呢,子非鱼,安知鱼之乐,更不知那
完全是高爷爷的功劳。说到写作高手,不能不提Stephen A. Cook。他的文章当年就被我
们的写作老师极力推荐,号称典雅文风的样本。库爷爷一头银发,身材颀长,总是面带
谦和的微笑,颇有仙风道骨,正好和他的仙文相配的说。
高爷爷其实还是开源运动的先驱。虽然他没有象Richard Stallman那样八方奔走,但他
捐献了好多作品,都可以在网上看到,比如著名的Mathematical Writing,MMIXWare,
The Tex Book等,更不用说足以让他流芳百世的Tex乐。
Ken Thompson,C语言前身B语言的作者,Unix的发明人之一(另一个是Dennis M. Riche
老大,被尊为DMR),Belle(一个厉害的国际象棋程序)的作者之一, 操作系统Plan 9的主
要作者(另一个是大牛人Rob Pike,
前不久被google挖走了)。Ken爷爷也算是计算机历史上开天辟地的人物了。年还是
计算机史前时代,普通人都认为只有大型机才能运行通用的操作系统,小型机只有高山
仰止的份儿。至于用高级语言来写操作系统,更是笑谈。Ken爷爷自然不是池中物,于是
他和DMR怒了,在年到间用汇编在PDP-7上写出了UNIX的第一个版本。他们并不
知道,一场轰轰烈烈的UNIX传奇由此拉开了序幕。Ken爷爷在年又把Unix用C重写,
于是C在随后年成就了不知多少豪杰的梦想和光荣。
Ken爷爷还有段佳话: 装了UNIX的PDP-最早被安装在Bell Lab里供大家日常使用。很
快大家就发现Ken爷爷总能进入他们的帐户,获得最高权限。Bell
Lab里的科学家都心比天高,当然被搞得郁闷无比。于是有高手怒了,跳出来分析了UNIX
代码,找到后门,修改代码,然后重新编译了整个UNIX。就在大家都以为“这个世界清
净了”的时候,他们发现Ken爷爷还是轻而易举地拿到他们的帐户权限,百思不解后,只
好继续郁闷。谁知道这一郁闷,就郁闷了年,直到Ken爷爷道出个中缘由。原来,代码
里的确有后门,但后门不在Unix代码里,而在编译Unix代码的C编译器里。每次C编译器
编译UNIX的代码,就自动生成后门代码。而整个Bell Lab的人,都是用Ken爷爷的C编译
器。
(6)Rob Pike, AT&T Bell Lab前Member of Technical Staff ,现在google研究操作系
统 。罗伯伯是Unix的先驱,是贝尔实验室最早和Ken Thompson以及Dennis M. Ritche开
发 Unix的猛人,UTF-8的设计人。他还在美国名嘴David
Letterman的晚间节目上露了一小脸,一脸憨厚地帮一胖子吹牛搞怪。让偶佩服不已的
是,罗伯伯还是年奥运会射箭的银牌得主。他还是个颇为厉害的业余天文学家,设
计的珈玛射线望远镜差点被NASA用在航天飞机上。他还是两本经典,The Unix
Programming Environment 和 The Practice of Programming 的作者之一。如果初学者
想在编程方面精益求精,实在该好好读读这两本书。它们都有中文版的说。罗伯伯还写
出了Unix下第一个基于位图的窗口系统,并且是著名的blit终端的作者。当然了,罗伯
伯还是号称锐意革新的操作系统,Plan9,的主要作者。可惜的是,Plan9并没有引起多
少人的注意。罗伯伯一怒之下,写出了振聋发聩的雄文 Systems Software Research is
Irrelevant,痛斥当下系统开发的不思进取,固步自封的弊病。虽然这篇文章是罗伯伯
含忿出手,颇有偏激之词,但确实道出了系统开发的无奈:开发周期越来越长,代价越
来越大,用户被统一到少数几个系统上,结果越来越多的活动是测量和修补,而真正的
革新越来越少。
就在罗伯伯郁闷之极的时候,google登门求贤来乐。如果说现在还有一家大众公司在不
遗余力地把系统开发推向极致的话,也就是google乐。随便看看google的成果就知道
了。具有超强容错和负载平衡能力的分布式文件系统GFS
(现在能够用,台廉价PC搭起一个巨型分布系统,并且高效便宜地进行管理的系统
也不多哈),大规模机器学习系统(拼写检查,广告匹配,拼音搜寻。。。哪个都很牛的
说),更不用说处理海量并行计算的各式google服务了。Rob在System Software
Research is Irrelevant里萧瑟地说现在没有人再关心系统研究的前沿成果了。想不到
他错了,应为google关心。google网络了大批功成总是试图吸取系统研究的最新成果。
想必Rob Pike在google很幸福。愿他做出更棒的系统。
Dennis M. Ritchie, 既然Ken Thompson是我的偶像,新闻组上人称DMR的Dennis M.
Ritchie自然也是,毕竟两人共同缔造了UNIX,而Dennis几乎独力把C搞大(当然,C的前
身是B,而B是Ken Thompson一手做出来的)。两人年分享图灵奖,是有史以来少数几
个因工程项目得奖的工程师(本来是唯一的一对儿,但Alan Kay才因为SmallTalk得奖,
所以就成了唯二的乐) 一个人一生能做出一个卓越的系统已经不易,DMR的C和UNIX长盛
不衰近年,至今生机勃勃,DMR此生可以无憾的说。
D爷爷也算有家学渊源:他老爸在AT&T贝尔实验室工作了一辈子,并在电路设计方面卓有
成就,还出了本颇有影响的书The Design of Switching Circuits,据说在交换理论和
逻辑设计方面有独到的论述。当然,D爷爷和他老爸是不同时代的人:他老爸的研究成
形于晶体管发明之前,而D爷爷的工作离了晶体管就玩儿不转乐。:-D
不要看D爷爷搞出了C,其实他最爱的编程语言是Alef,在Plan9上运行,支持并行编程。
Alef的语法和C相似,但数据类型和执行方式都和C大大不同。说到语言,D爷爷对后来
人有非常中肯的建议:抱着学习的目的来开发你自己的语言,不要冀望于它被众人接
受。这个建议不光对语言开发有用,也适用于其它大型系统的开发。别的不说,DMR后来
领导自己的团队在年和分别推出了Plan9和Inferno操作系统,又用多少人知道
呢?其实,D爷爷当初也没想过C会风行世界。他开发C的初衷和Eric S. Raymond
在Cathedral and Bazaar里阐述的一样,就是要消除自己对现有工具的不爽之处。谁
知D爷爷无心插柳,C竟然受到众多程序员的狂热拥戴,连D爷爷自己都大惑不解。在一次
采访中D爷爷说大概那是因为C的抽象程度碰巧既满足了程序员的要求, 又容易实现。当
然C一度是Unix上的通用语言也是原因。但不管怎么说,D爷爷对编程语言出色的审美意
识奠定了C广为流传的基础。
最后八卦一下。D爷爷的业余爱好和NBA大牛Karl Malone一样:开卡车。不过D爷爷更喜
欢开NASCAR,而KM独爱巨无霸。J D爷爷自称心中不供偶像,如果一定要说一个,那就
是Ken Thompson了。现在Ken爷爷退休当飞机教练去了,而D爷爷当了贝尔实验室系统开
发部的头,整日忙于开支票。他俩合作年,屡屡创造历史。这段令人神往的佳话,也
就长留你我心中乐。
P.S., 很多人都以为Brian W. Kernighan是C的作者。其实BWK只是写了那本经典K&R C。
据D爷爷说,他,Ken, 和Kernighan三人中,Kernighan最能写文章,他次之,而Ken写
得最少;但说到编程,Ken爷爷才是当之无愧的老大。
Edsger Wybe Dijkstra, 对,就是E.W. Dijkstra. 一提到EWD,很多人就会想起找最短
路径的Dijkstra Algorithm,就好像一提到Sir. Tony Hoare,就想起Quick Sort一样。
其实这些个算法不过是两个牛人在他们职业生涯中最琐碎的贡献。比如Dijkstra算法,
无非是戴爷爷在年为了展示新计算机
ARMAC的计算能力,初试身手的成果,属于他的算法处女作。据戴爷爷自述,他搞出最
短路径算法的时候连纸笔都没用。当时他和他老婆在阿姆斯特丹一家咖啡厅的阳台上晒
太阳喝咖啡,突然就把这个算法想出来乐。而且当时的算法研究还比较原始,牛人们忙
着用计算机搞数值计算,对离散算法不屑一顾。那时连一个象样的专注于离散算法的专
业期刊都没有。戴爷爷于是推迟发表这个算法。直到年,他才把这个算法发表
在Numerische Mathematik的创刊号上,权为捧场。:-)
EWD在多个领域牛气冲天,端的是理论和编程两手硬的高手。只不过他的很多工作比较
深刻,学校的老先生们觉得本科生接受不了,不给本科生讲而已。
戴爷爷大概因为最短路径算法一战成名,于是有人请他参加另一台计算机X1的设计工
作,并且把设计实时中断系统的任务派给了他。现在看来实时中断也许不算什么,但要
知到,X1前根本就没有实时中断的概念。实现它简直就是一场豪赌。戴爷爷起初还不情
愿,但经不住项目负责人Bram和Carel的轮番 “吹捧”:我们知道实时中断让您工作变
得非常困难,但象您这样的牛人肯定能做出来的说。结果戴爷爷被糖衣炮弹彻底击穿,
接下了这个烫手山芋。两三年后,他不仅搞出了实时中断,还围绕这个写出了自己的博
士论文,顺利戴上博士帽。
让戴爷爷真正成名立万的还是在X1上开发的Algo,最早的高级语言之一。戴爷爷没日
没夜地工作了8个月,就搞出了Algo,也因此获得了 年的图灵奖。因为Algo,
戴爷爷发表了一篇石破天惊的文章:Recursive
Programming,于是人们才知道,原来高级语言也可以高效地实现递归,原来从此以后,
所有程序员都不可避免地和戴爷爷发明的一个词(应该说是概念)打交道:堆栈。
而且Algo还让戴爷爷深入地思考多道程序设计的问题,最终发明了每个系统程序员
都绕不开的概念:semaphore。当然,戴爷爷总是把他发明的概念严格形式化,极具科
学家本色的说。和这些成就想比,他提出的吃饭的哲学家问题,也就没什么好说的了。
说来好笑,当时的大学(忘了哪所了)还是觉得戴爷爷没有受过正统的数学训练,也不是
专门搞数值分析的,所以最后不太情愿地给了他一个教职。这种小挫折并不能妨碍象戴
爷爷这样的牛人创造历史。他一边教数值分析(:-D) ,一边开始开发一个新的操作系
统,并培养计算机科学家。几年后,THE Multiprogramming
System横空出世。THE是第一个支持松散耦合,显式同步的进程并由此使得严格证明系统
没有死锁变得容易的操作系统。可惜戴爷爷任职的系不识货,还强行解散了他的研究小
组(年戴爷爷给他的系主任说他得了图灵奖,系主任的第一反应是你们搞计算机就
喜欢乱发奖)。这让戴爷爷相当郁闷,得了抑郁症。在极度郁闷之中,戴爷爷决定用写作
来治疗自己的抑郁症。于是经典就诞生乐:Notes on Structured Programming。戴爷爷
从此被尊为结构化编程的奠基人,而且他的抑郁症也被治好乐。
EWD太牛,结果他的故事也太多。先到这里吧。起,他的故事就在美国发生了。
Anders Hejlsberg,微软.NET的首席架构师,编程语言设计和实现的顶尖高手。他一手
做出了 Turbo Pascal, 也是Delphi, J++(尤其是WFC),C#, 和.NET的主要作者。这些作
品的名字足以为他立传。作为一个程序员,我在这样的大师面前实在无语。生子当
如Anders的说。李维的<>里已详细讲述了Anders的传奇故事,我就不用费舌了:
/iexploiter/posts/.aspx
Artima上有Anders谈C#的系列访谈。MSDN上有一段Anders导游的录像 。有兴趣可以去看
看牛人的丰采。