王辉的博客

对学习C说不

组里和我商量问我愿不愿意学习C,能参与到C模块的的维护和开发里,我回绝了。

首先,这和我的职业发展方向不符。我当前的想法,是能成为一个专家,以Java为基础的软件架构设计和性能优化专家,
而不是成为一个凡事都会一点,却都不精通的人。你可能说我没有野心,但在这个时间,精力,金钱都有限的社会里,把什么都做好是不可能的事情。
就像面向领域设计里提到的,一个软件,不可能把它的各个模块的质量都推到极致,因为我们的资源有限。在有限的资源里,我们应该把自己的核心竞争力,提到最高,
不得不放弃的东西,需要懂得放弃。

其次,问题的关键,不是愿不愿学习某种语言,毕竟语言归根结底是一个工具,重点是问题本身有没有意义。C模块的代码,首先是近二十年的老代码,
维护它,相当于学习一些反面典型,学习一些,根据当今的规范,我们不应该做得事情。比如说,超强耦合,缺少测试,重复代码,重造车轮等等。
如果问题不是在老代码上修修补补,而是用C++做一些完全可预测的高效的低延迟实时系统,那么主要矛盾就会发生变化了。一方面,和我的长期发展目标出现交集,
另一方面,我们可以更近现代的软件设计规范来开发这个系统。

最后,我之所以回绝了,是因为知道,解决我们的问题,最好的工具不是C,也不是公司自己开发的那个私有编程语言MEF,因为我们没有底层到那个程度。选择一个
不适合的工具的后果,就是十分钟能做完的事情,得用一个小时,多余的五十分钟用来搭建环境,配置工具。

人的生命是有限的,在有限的生命里,应该多做一些让自己快乐的事情。

王辉 wechat
订阅王辉的博客,请长按或扫描上方微信二维码