对学习C说不 | 王辉的博客



对学习C说不 | 王辉的博客

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

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

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


Read full article from 对学习C说不 | 王辉的博客


No comments:

Post a Comment

Labels

Algorithm (219) Lucene (130) LeetCode (97) Database (36) Data Structure (33) text mining (28) Solr (27) java (27) Mathematical Algorithm (26) Difficult Algorithm (25) Logic Thinking (23) Puzzles (23) Bit Algorithms (22) Math (21) List (20) Dynamic Programming (19) Linux (19) Tree (18) Machine Learning (15) EPI (11) Queue (11) Smart Algorithm (11) Operating System (9) Java Basic (8) Recursive Algorithm (8) Stack (8) Eclipse (7) Scala (7) Tika (7) J2EE (6) Monitoring (6) Trie (6) Concurrency (5) Geometry Algorithm (5) Greedy Algorithm (5) Mahout (5) MySQL (5) xpost (5) C (4) Interview (4) Vi (4) regular expression (4) to-do (4) C++ (3) Chrome (3) Divide and Conquer (3) Graph Algorithm (3) Permutation (3) Powershell (3) Random (3) Segment Tree (3) UIMA (3) Union-Find (3) Video (3) Virtualization (3) Windows (3) XML (3) Advanced Data Structure (2) Android (2) Bash (2) Classic Algorithm (2) Debugging (2) Design Pattern (2) Google (2) Hadoop (2) Java Collections (2) Markov Chains (2) Probabilities (2) Shell (2) Site (2) Web Development (2) Workplace (2) angularjs (2) .Net (1) Amazon Interview (1) Android Studio (1) Array (1) Boilerpipe (1) Book Notes (1) ChromeOS (1) Chromebook (1) Codility (1) Desgin (1) Design (1) Divide and Conqure (1) GAE (1) Google Interview (1) Great Stuff (1) Hash (1) High Tech Companies (1) Improving (1) LifeTips (1) Maven (1) Network (1) Performance (1) Programming (1) Resources (1) Sampling (1) Sed (1) Smart Thinking (1) Sort (1) Spark (1) Stanford NLP (1) System Design (1) Trove (1) VIP (1) tools (1)

Popular Posts