[转]《我眼中的技术高手》——邯郸学步、创做与创新

对知识掌握的深度与工做内容有关,就好比建筑领域,砌砖的并不须要砖是由什么材料制做成的,硬度状况等。前端

但建筑的设计师须要考虑这些,可是他也没有必要了解到分子、原子级别的信息。git

也就是说,理论上,一我的懂得越多越好, 但实际上对不少人都不适合。某些人能够背的不少,但实际灵活应用的能力却不如背的能力,这时增长学习知识点的粗细就很重要了。
程序员

举例说,韩信统兵,多多益善,刘邦则不是这样了。 github

 

原文:阿里玉伯npm

今天发了一条微博前端工程师

会原生 JavaScript 不表明什么,懂 jQuery、YUI 等才真正好。怎么这么多人有原生主义情结呢?走出那点小天地,海阔天高。闭包

不少人已经猜出,这是为了晚上的文章而发,提早收集你们的想法。这个话题,很早就想谈,确定会引发口水仗,但有些事不辩不明,不理不清,与其和谐社会,不如辛亥革命。架构

奇怪的现象

平时工做,时不时能听到一些困惑、感慨:框架

jQuery 虽好,但只会 jQuery,不会原生 JS 是不被大公司承认的。
最近半年对原生 JS 有些生疏,得补一补。
得好好看看 ECMAScript 规范,把 JS 语言学透彻。工具

和原生情结对应的,是国内程序员特别喜欢研读源码,好比:

jQuery 源码分析系列
YUI 源码分析
Backbone 及 Underscore 源码解析

国内程序员对源码的热衷,能够拿 SeaJS 的数据来看:

Screen Shot 2013-03-19 at 9 02 44 PM

fork 数高达 500 多,但 watch 数只有 1000 多,这实际上是不正常的。相比而言,RequireJS 的数据正常不少:

Screen Shot 2013-03-19 at 9 06 20 PM

简言之,国内与国外相比,有比较明显的两个特色:

  1. 对原生 JS 的学习心更强。
  2. 对类库、框架的源码更感兴趣。

这两点看起来很好,但是:

  1. 研究原生 JS 的优秀文章,大都出自国外程序员。
  2. 类库、框架,国人好像一直在研究,鲜有产出。

这确定跟咱们是社会主义国家有关,但我愈来愈怀疑这一点。

语言高手们

真正的语言高手很少,我不是,正在看这篇文章的你,极可能也不是,并且这一生可能都和我同样成为不了语言高手。

JavaScript(纯语言,不含 DOM 等)高手,在国内屈指可数。周爱民、白露飞、老赵、winter、月影、hax 等等等等,还有一些很是低调的隐士,这些人读 ECMAScript 规范像磕瓜子同样轻松,甚至能花几个晚上就像 BE 大神同样造出一门新语言来。你我等闲之辈,除了佩服以外,只能去谈恋爱。

工做中,咱们须要语言高手吗?确定的说,须要!但是,咱们须要大量语言高手吗?除了特殊岗位,我相信不少公司都不须要!

题外话:目前为人知的 JS 语言高手里,除了周爱民,我最看好白露飞。这是一个有能力也有潜力造就 SuperScript 的人,最佩服的是他有实际行动,虽然方向未必正确。

咱们的价值在哪

除了从新投胎,咱们大部分人这辈子都不大可能有兴趣、有能力、有机缘去成为 BE 大神了。这是个残酷的现实,之因此残酷,只因视野太狭窄。

跳出来,天大地大。妹子多着呢,并且更漂亮。

Douglas Crockford 的 JS 能力极可能不及 winter,但 Douglas 规范并布道了 JSON 格式,天下留名,惠泽全球。

Jeremy Ashkenas 的 JS 能力可能还不如老赵,但 Jeremy 用很裸的代码写就了 Backbone,至少影响了一万人,给各个公司创造的价值总额极可能过千万美刀。

更不用说 Isaac Z. Schlueter,这小伙的 JS 功力极可能还不如我,但 Isaac 打造了 npm 生态圈,而我至今只有精力玩玩 Ant 和 Grunt。

有幸还看过 Google Docs 的前端源码,那代码和 Java 同样中规中矩。但在 RTE 领域,Google Docs 是王者,里面的专利都一堆一堆的……

特别想说起的还有开发 Evernote Clearly 的前端工程师,这小伙子的代码,我眼睁睁看着其从很生涩的 JS 代码,逐步演化成上万行牛逼代码还保持了至关好的可维护性。这份代码就像 Clearly 产品同样奕奕生光。

以及把 jQuery 用得出神入化的 Amazon!前不久那个秒杀国内互联网公司的悬浮菜单,可不是研究原生 JS 能想出来的。

还有 Facebook 的工程师们,Twitter 的工程师们…… 这些故事你们并不陌生。

不是总结的总结

不贬低语言高手们,也不反对去研究编译原理、ECMAScript 规范等。做为技术人员,咱们须要这种精神。可是,这仅仅是很小很小很小很小很小的一个领域。而且在这个领域里,永远有比你更聪明的人。

具体对 JavaScript 语言来讲,会用就好。搞清楚数据类型、做用域、闭包、原型链等基本概念,足矣。再深刻进去,对绝大部分人来讲,除了能知足下心理上的优越感,对实际工做不会有任何实质性帮助。

语言的本质和互联网同样,只是工具,是剪刀、石头、布。让张小泉去研究怎么作剪刀就好,咱们用好剪头,去剪出各类窗花,更有意思。还有一个有趣的事实是,张小泉会造剪头,但剪很差窗花。

跳出很小很小很小很小很小的语言领域以外,天大地大。永远不要妄自菲薄,每一个人身上都背负着独特的使命。去努力寻找本身的,不要老盯着别人的,不然就会成为观众。

好像跑题了。前面那个奇怪的现象,还有不少想吐槽的点。好比

  1. 源码只是很小很小的一部分。直接读源码每每没法领会类库框架的精髓。不读源码,用心去用,用时间去体味,偶尔针对性看看源码,每每更能掌握一个类库框架的真谛。

  2. 对社区的贡献能够有不少不少。你的使用经验、用心的 bug 提交、入乡随俗的 pull request、一个认真的评论等等,这些都比去研究什么狗屁源码更有价值。

  3. 一个 Java 高手若是说他会原生 Java,那必定会遭来不少人的围观。我还会谭浩强教个人 C 呢,那几个 if else 还有结构体、指针等谁不会。语言以外的领域知识,才真正造就了高手。对于前端来讲,会原生 JS 只能打 20 分,另外 40 分须要你深刻使用 CSS、DOM、HTML5 等领域知识,还有 20 分须要你对业务需求、架构设计等有真正的运用,这已经 80 分了,不要太贪心。剩下 20 分,只有两个字:勤奋。

相关文章
相关标签/搜索