写这篇文章的原因是我在写编译器的过程中,看到很多人对重复造轮子的事情感觉不屑一顾,对此,我也发表一点我的看法。
高级编程语言的创始纪上写道:“初,世间无语言,仅电路与连线。及大牛出,天地开,始有FORTRAN,LISP 。ALGOL 随之,乃有万种语。”
编程语言也是当年那些大神程序员们创造的,并不是一个无比神奇的产物,我也希望,我能发明一种能被人们所接受的良好设计的编程语言,但这不是我的目的。
在写C代码时,我无奈其冗长的结构,繁复的宏定义,繁杂的类型定义,即难以理解,又难以调试。
我在写C++代码时,又无奈其难以移植,无法做系统编程,模板等实现不够优雅等困苦。
我的目标在于为软件行业创造新的有价值的产物,为的是解决目前底层代码没有解决的问题。
总的来说,我希望创造属于我的价值。
我觉得我的工作是在创造价值,当然,我从来没有看轻那些在公司中,认真完成自身业务的程序员们,他们努力的工作,实现的是自己公司的价值。而开源项目和种种的轮子,实现的是软件行业的价值,行业不同,当然价值也不同,但两者并无优劣之分。
我不喜欢别人随便贬低努力制作轮子的人,因为正是他们的努力,才有了软件行业生成力的革新,不断的开发新的工具,让我们的软件越来越简洁,越来越方便。而我也希望为整个软件行业,做成自己的贡献。
什么样的行动是创造价值呢?首先你要站在别人的角度考虑问题,制作对别人有意义的东西,能够方便的的被使用,这是第一层使用意义。
如果你的作品更好,对同类作品有启发,那么你还拥有重要的借鉴意义。
如果你的作品是前人从来没有想到过的,那么这个创新性的意义就更为巨大,我们希望鼓励更多的人,用新的思维方式,创造出不一样的精彩。