『程序员』程序员,请停止学习框架!


每过几年都有类似的文章出现 , 然而程序员却依然疲于学习新的框架 , 看完此文希望对你有所启示 。
『程序员』程序员,请停止学习框架!
本文插图
这是一篇译文 , 原文在 Hacker News 上获得接近 500 个点赞 。 那么 , 译文开始 。 我们程序员 , 每天都在了解最新的技术 , 每天都在学习编程语言、框架和库 。 因为我们知道的现代编程工具越多越好 , 对吧?
不停地追随 Angular、React、Vue、Riot、Ember、Knockout 的脚步还真是一件有意思的事情呢 。 (反话)
有人说:当初刚从Android转前端的时候 , 一点基础也不会 , 什么html什么css , 完全不懂 , 上手就是angular1.0 , 学的很痛苦 , 很难受 , 后续半年先后接触了vue和react , emmm没错 , 我就是框架仔 。
后来跳槽 , 我的上司告诉我 , 不要用框架 , 全部使用原生 , 这才让我真正感觉踏入了前端的领域 。 给我的实际经验就是 , 你从框架中学习基础 , 效率非常之低 , 当你脱离了双向绑定 , 脱离了全家桶 , 你会发现 , 离开框架你什么也不会 。
所以就像题主说的一样 , 框架只是工具 , 我们只需要拿来用 , 但是真正需要学习的 , 是底层的原理 , 以及脱离框架后类似功能的实现方法 。
但这其实是在浪费时间 时间是人类最宝贵的资源 。 时间是有限的、不可再生的 , 你可以用钱买任何东西 , 却买不了时间 。
技术 , 就像时尚 , 在以光速在变化着 。 为了赶上它 , 我们需要跑的非常快 。
但是这个跑道上没有终点 , 所以没有赢家 。
『程序员』程序员,请停止学习框架!
本文插图
马丁·斯科塞斯2013年作品《华尔街之狼》剧照
我曾经的授业导师曾经教我这样一课:
导师:“艾德 , 你在做什么?”
我(自豪地说):“我在读一本使用GWT构建现代Java应用程序的书 。 ”
导师:“你为什么要读这本书?”
我:“作为一个Java开发者 , 我需要紧跟趋势 , GWT现在最火 。 ”
导师:”在读GWT之前你在读什么技术书?“
我:”是一本500多页的Apache Tapestry的书 , Tapestry当时非常流行“
导师:”这个Tapersty一直流行吗?“
我:”没有多长时间 。 GWT现在最火 。 “
导师:”你能重新用Tapersty的能力来解决现在的问题吗?“
我:”不能了 。 现在它没有什么用 。 “
导师:”Taperstry的知识能帮你对GWT理解的更好吗?“
我:”不能 , 没有太大用 。 但是我看到里面有一些设计模式有些相似“
导师:”是设计模式 。 这些能帮你解决现在的问题吗?“
我:”是的 , 帮助太多了 。 “
导师:”技术一直在向前发展 。 但是有一些是相通的 , 要找准重点 , 将80%的时间放在提升基础问题上 , 余下的20%再去学习框架 , 库和工具“
我:“Hmmm... 只留20%的时间学习框架 , 库和工具?”
导师:“是的 。 你在解决问题时自然就会学会框架、库和工具”
我:“谢谢指点”
导师: 现在不忙着谢 , 过一段时间 , 你自然会明白 。
这次谈话可以说改变了我的人生!我把所有的讲框架、库的书从书架上全部撤下 , 一本都没留 , 那叫一个轻松啊!
我只买了一本关于最新技术的书 , 是关于 Spring 的 。 因为根据林迪效应 , 学习 Spring 是一项不错的投资 。
我书架上换了一些长期的基础技术读物 , 不会过时的那种 , 比如像下面这类书就占据了我阅读学习时间的80%: