组里和我商量问我愿不愿意学习C,能参与到C模块的的维护和开发里,我回绝了。
首先,这和我的职业发展方向不符。我当前的想法,是能成为一个专家,以Java为基础的软件架构设计和性能优化专家,
而不是成为一个凡事都会一点,却都不精通的人。你可能说我没有野心,但在这个时间,精力,金钱都有限的社会里,把什么都做好是不可能的事情。
就像面向领域设计里提到的,一个软件,不可能把它的各个模块的质量都推到极致,因为我们的资源有限。在有限的资源里,我们应该把自己的核心竞争力,提到最高,
不得不放弃的东西,需要懂得放弃。
其次,问题的关键,不是愿不愿学习某种语言,毕竟语言归根结底是一个工具,重点是问题本身有没有意义。C模块的代码,首先是近二十年的老代码,
维护它,相当于学习一些反面典型,学习一些,根据当今的规范,我们不应该做得事情。比如说,超强耦合,缺少测试,重复代码,重造车轮等等。
如果问题不是在老代码上修修补补,而是用C++做一些完全可预测的高效的低延迟实时系统,那么主要矛盾就会发生变化了。一方面,和我的长期发展目标出现交集,
另一方面,我们可以更近现代的软件设计规范来开发这个系统。
Read full article from 对学习C说不 | 王辉的博客
No comments:
Post a Comment