昨天刷知乎的时候看到一个问题:为什么我学个 JAVA 就已经耗尽所有,而有些人还能同时学习多门语言。
链接: https://www.zhihu.com/question/485917018 里面有个回答让我印象深刻,我大概引述一段:
因为你学错了方向。 学 C ,学 C++,学 Java ,学的目标应该是“自己写 libevent”,“自己写玩具版 unreal”,“自己写模板程序”,“自己写 spring 中间件”,“自己写设备驱动”,“自己写 DSL 解释器” 这些其实很容易。本科专业课内容而已。 一旦你往这个方向训练自己,那么换语言就是换一换符号风格,没什么大不了的。思路就是那么几条,模仿、遍历、分治、动态规划、……;手法就是那么几种,缓存、索引、信号/事件、回调/消息循环/dispatcher……;注意事项就那么几点,边界值、等价类、数据完整性原子性、死锁、空转…… 这寥寥十几、几十个知识点,玩好了,玩精了,万变不离其宗——几十年了,哪有什么软件/算法能跳出窠臼的? 学什么调优啊。这软件我都会写。知道内部算法,看一眼参数就知道是调整什么的、调整后会造成哪些影响——真不知道稍微一查也立刻明白了。 学什么框架啊。这思路我看了就懂,就知道怎么写。我觉得这个框架我应该这么写、这么给人用,一看果然是,哪有什么“学习负担”——猜错了?猜错了说明基础知识掌握不过关,赶紧补课去。唰唰补足短板,以后就再也难不倒我了。 如此反复训练,自然学什么越学越快、猜什么越猜越准——随便什么技术,内行一看,都是新瓶装旧酒! 那能不轻松吗?
这回答让我觉得醍醐灌顶,我原来一直觉得,Java 的东西怎么这么多呀?为什么就学不完呢?然后才发现自己原来一直沉浸在业务里,除了这位答主提到的 spring 中间件我稍微能有些头绪,他提到的其他的技术我是一点都不了解,一点都不明白。 我是一名土木专科转行的后端开发,虽然年纪越来越大,但还是想继续提升自己的能力,主要原因还是因为自己学历不好,想要提升自己的能力,看有没有机会能跳出外包圈进入甲方公司。。。
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.