程序员们,请停止学习框架( 八 )

「学习工具」与「学习它所蕴含的设计模式」并不互斥 。

2007 年的时候我曾经试图搞清楚到底什么是「数据层」以及怎么使用它 , 这是当时流行的 ORM 概念 。 我向别人问了一堆关于 NHibernate(译注:一个面向.NET框架的对象关系映射解决方案 。 主要用来把对象模型表示的对象映射到基于SQL的关系模型数据结构中去)的问题 , 很多人都回复我说「你应该先搞清楚原理 , 而不是学习这个工具」 。 但我心里想的是 , shit , 不行啊 , 因为我需要通过大量的实践才能理解这些原理啊 。 这是我学习的重要途径 。

所以我觉得学习这些蕴含了丰富原理的工具其实是非常有用的 。

同样的道理对很多工具都适用 。 比如 React , 如果没有 React 谁能理解虚拟 DOM 呢?

不过我基本同意你的论点 , 但是过分强调不要学习工具就有一点何不食肉糜的意味了 。

另外 , Docker 也不仅仅是持续交付 , 「学习新的编程语言」和「学习设计模式和 DDD」也不是互斥的 , Angular 最难的部分也不是 Web 和 HTTP , 最难的是学习 Angular 提供的这些傻傻的工具和工作流(我不是很喜欢这些玩意) 。

推荐阅读