我的长征——为了梦中的橄榄树!

来源:互联网 发布:js获取表单下所有数据 编辑:程序博客网 时间:2024/04/29 04:45

人生始终就像是一份答卷,上面满是“选择题”。而且,“单选”、“落子无悔”! 影响你一生的因素,很可能就是那么紧要的几步!漫漫长路,一步步求索。近二十年的“程序人生”。遭遇的抉择,难计其数。拣其大要,略述如下:

从硬件到软件 - 专业方向的抉择:梦,在那开始的地方!… …

我是学电子技术的。89年毕业于中国科大。专业方向偏于硬件、工业控制。那年毕业设计,有个很好的机会,可以接触到当时教研室里最珍贵的IBM PC。用它辅助设计电子线路,激发了我最初对软件的兴趣。毕业后,我在安徽南部某国营工厂做新产品开发。不久,又被派驻浙江。新项目是单片机相关的。我负责其中微机系统设计。每个周末,我要坐很长时间的车到杭州,找各种软件方面的书。那时书很便宜,我的工资和出差补助,除了吃饭,就是买书。在我跑遍杭州大街小巷的同时,我开始能在那些PC上不断调起我的新程序。然后总想:什么时候单片机编程也不用那么麻烦,全都简单起来该多好!一个模糊的梦想在向我召唤!... ...

选择发展方向,要重视你的兴趣所在。这可以推动你一直向前、向前,克服任何困难!

用青春赌明天 - 人生道路的抉择:梦,种子生根、发芽,茁壮成长!… …

单位人事变动,我回到了安徽。厂里已换上了全套新班子。干了几个月,觉得没啥前途,不想再重复前辈们的老路。春节后,给厂长留了一封“辞职信”。收拾行李,就登上了南下的列车。之后三年,我在深圳多家公司、多个大型项目之间不停地游移,逐渐从“硬件开发人员”锻炼成长为“程序员”。

当年的深圳,似一座熔炉,在那里学习、锻炼的种种经历,于我专业发展及以后性格成型,都有极其重要的意义。

957月,我和深圳的一位程序员同事策划自己创业。不久,在家乡注册了一家公司。仓促成立的公司,定位不准、资金不足,我们又都没有营销经验,结局可想而知。这时,因为有充分的时间用于学习和编程,梦想又开始“蠢蠢欲动”。编程平台从DOSWindows顺利迁移!

因为年轻,从来不曾过多的去考虑明天。总以为自己有技术,到哪里都有饭吃。但 “人无远虑,必有近忧!”把一切都理想化了,对待所发生的问题却有点“措手不及”!

99年初,为从“传统软件程序员”走向“互联网软件程序员”。我抱着“向互联网方向发展”的愿望,去了北京。

在北京,我接触到当时最先进的技术、最前沿的思想。有了很多、很多各方面的创新想法和感悟,逐渐开始丰满我日后事业目标的雏形。

自由的SOHO,尴尬的工程 - 产品驱动的抉择:风霜雪雨,梦是身旁这棵小树!… …

北京的日子,生活是紧张的,心情是愉快的,同事之间相处的非常融洽。只是经常加班,有时还会通宵。然后,就病倒,去医院却查不出病因。只说“疲劳过度”。年龄也逐渐奔向那个“坎”。于是就想:人都会老,身体也会病。我已经不可能再有那么好的运气和年轻同事一样去拚。我开始向往一种自由的生活,不用这样天天加班,不用给任何人打工。我在酝酿一种全新的开始!81,以“身体不好”为由,辞职离京,回乡开始另一种尝试——“我的创业准备”,或者说“我的SOHO生活”。

开始做社区。为推广我的软件,我在几个大型网站、主要论坛、重点软件下载站做宣传:“[荷音虚拟社区]源代码,十元一套”。因为做得早,又完全原创,比较吸引“眼球”。那段时间每天要跑邮局取款,做得热热闹闹。后来在《计算机世界报》发了一篇小文,写搜索引擎,类似于现在可以用AJAX方法完成的JS集成搜索。认识了一些朋友。再后来,《程序员》杂志、《电脑报》陆续有了我的一些介绍。社区被收入《电脑报》配套光盘。朋友越来越多。

通过朋友介绍,我可以接到一些网站平台项目。开始项目不多。项目多了就经常“撞车”。到20017月,一个月就可能同时来10个项目。我就特别希望加快进度。于是不断优化那个PHP扩展。尝试“分时”、“调度”,项目安排同时进行。进度保证了,但发现有一个非常大的隐患!每次改动都可能引起“代码地震”,最后越来越乱,不可收拾。客户一般都不能非常清楚地表述自己的要求,改动不可避免。不停的改,完全像是“体力活”。接着一病就是一年。每天昏昏沉沉,大部分时间在床上度过。最痛苦的时候,很偶然的接触到佛经。烦恼死结终于解开。身体也渐渐恢复。之后,又开始多次“合作尝试”,种种原因,不了了之。于是,我抉择“产品驱动”,进行我的“对象指令” 研究。不久,把网站从“荷音”更名为“海音”( http://www.heyin.com )。偶尔也接项目,验证一下新的想法,但结果不甚满意。

个人SOHO状态,单靠“项目驱动”,想做好是很难的。勉强做下去,和打工没有质的区别。与其服务于“项目”,跟得筋疲力尽,顾不上去计划明天。不如先放下项目,去开拓广阔的新天地,专心服务于“产品”。因此,开始新的尝试,走向“产品驱动”!同时,我所接受的佛教思想,也让我的心开始彻底平静下来,重新审视人生,不再那么急功近利。

长征,为了梦中的橄榄树! - 终生事业的抉择:千山万水,我的梦想向太阳!… …

20044月,前景逐渐明朗。我开始全力投入。2005年初,第一项成果——一个PHP框架,拿到著作权证书。这个框架,与下一代的EDA思想不谋而合。从“面向对象”进化到“面向应用”。这时,原本计划推广这个框架。但在和朋友交流中发现,任何框架,如果没有好的IDE或社团支持,都是没有前途的!我必须首先为这个框架构筑一个实用的IDE

20055月,我开始第一次“闭关”,目的是打造这样一个IDE。在构筑平台的过程中,我又发现这个框架依然存在着很多不足。《人月神话》之“没有银弹”的论述,始终像高悬头顶的一柄“达摩克利斯之剑”。于是我不断调整方向,不断“放弃过去”、“抉择重生”。 7月,终于有信心正式确立“自动编程”这个目标!我开始把它叫做“橄榄树”计划。这一年陆续完成第1次到第5次闭关。指令系统全部推翻、重写10次,算法优化、改动不计其数。代码精简再精简,直到剩下大约不到150行。“千山万水”、“雄关漫道”,我把这个过程形象地比喻“长征”。之后,觉得很有必要,又去研读《人工智能》、《神经网络》、《分子生物学》等大量相关专题资料 … …

2006年,第六次闭关。产生一次特别重大的突破。从原来的“面向应用”架构,一步跃进到一个自己以前从未曾想像过的高度。这个抽象层次的世界,没有人、没有机器、没有软件!《人月神话》的断言,终于失去了意义!因为“软件概念性结构复杂”的“本质困难”已经解决!“宝藏”正向我洞开!完全解决问题,我需要的仅仅只是——“时间”!

John Carmark的话来做个结:“在信息时代,客观障碍已不复存在,所谓障碍都是主观的。如果你想研发什么新的技术,你不需要几百万美元的资金,你只需要在冰箱里放满比萨和可乐,再有一台便宜的计算机,和为之献身的决心,你即可拥有任何你想拥有的编程深度!”

四年前,在我写了大约15年程序的时候,我突然意识到和以前完全不一样了。15年后才开始真正的程序设计!这时,我可以自豪的称自己“程序员”!我所关注的已不再是软件、不再是程序,更不会是语言。我像是和信息世界的“灵魂”在交流。在最高的层次,已经没有秘密,一切清晰可见。新的思想、新的设计常会喷涌而出。这里,一定最简单!——或许,忘掉人、忘掉机器、忘掉软件,你才有可能真正做好软件!

(本文发表于《程序员》2007年第2期)

原创粉丝点击