阅读更多

38顶
5踩

Web前端

转载新闻 我眼中的技术高手

2013-03-20 17:44 by 副主编 WnouM 评论(48) 有23603人浏览
本文来自支付宝前端基础技术负责人玉伯,原文内容如下:

今天发了一条微博
引用
会原生 JavaScript 不代表什么,懂 jQuery、YUI 等才真正好。怎么这么多人有原生主义情结呢?走出那点小天地,海阔天高。

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

奇怪的现象

平时工作,时不时能听到一些困惑、感慨:
引用
jQuery 虽好,但只会 jQuery,不会原生 JS 是不被大公司认可的。
最近半年对原生 JS 有些生疏,得补一补。
得好好看看 ECMAScript 规范,把 JS 语言学透彻。

和原生情结对应的,是国内程序员特别喜欢研读源码,比如:
引用
jQuery 源码分析系列
YUI 源码分析
Backbone 及 Underscore 源码解析

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



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



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

  • 对原生 JS 的学习心更强。
  • 对类库、框架的源码更感兴趣。
这两点看起来很好,可是:

  • 研究原生 JS 的优秀文章,大都出自国外程序员。
  • 类库、框架,国人好像一直在研究,鲜有产出。
这肯定跟我们是社会主义国家有关,但我越来越怀疑这一点。

语言高手们

真正的语言高手不多,我不是,正在看这篇文章的你,很可能也不是,而且这一辈子可能都和我一样成为不了语言高手。

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 语言来说,会用就好。搞清楚数据类型、作用域、闭包、原型链等基本概念,足矣。再深入进去,对绝大部分人来说,除了能满足下心理上的优越感,对实际工作不会有任何实质性帮助。

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

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

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

  • 源码只是很小很小的一部分。直接读源码往往无法领会类库框架的精髓。不读源码,用心去用,用时间去体味,偶尔针对性看看源码,往往更能掌握一个类库框架的真谛。
  • 对社区的贡献可以有很多很多。你的使用经验、用心的 bug 提交、入乡随俗的 pull request、一个认真的评论等等,这些都比去研究什么狗屁源码更有价值。
  • 一个 Java 高手如果说他会原生 Java,那一定会遭来很多人的围观。我还会谭浩强教我的 C 呢,那几个 if else 还有结构体、指针等谁不会。语言之外的领域知识,才真正造就了高手。对于前端来说,会原生 JS 只能打 20 分,另外 40 分需要你深入使用 CSS、DOM、HTML5 等领域知识,还有 20 分需要你对业务需求、架构设计等有真正的运用,这已经 80 分了,不要太贪心。剩下 20 分,只有两个字:勤奋。
  • 大小: 10.8 KB
  • 大小: 10.6 KB
来自: Github
38
5
评论 共 48 条 请登录后发表评论
48 楼 liujiaoshui 2014-01-22 17:00
liujiaoshui 写道
    看了楼主的文章受益匪浅,但是本人有些观点与楼主有差异,本着求同存异的精神,简单说说我的想法。
    新中国落后世界许多年,各个领域基本是0。现在要赶上,有2个选择:第一就是买发达国家的东西来组装,其二就是,自己去研究,一点一点从零开始,自己做每一个环节。
    事实证明,第二种是非常科学,而且是非常明智的选择,两弹一星就不用说了,最近的导弹试验,看新闻的人都知道。
    还有另外一件事,某某日,中国2/3的DNS无法访问,全球13太服务器,10太在美国,日本也有一台,中国没有。中国网络,可见是多么脆弱,互联网时代,网络如此脆弱,还能算强国嘛?还能算IT牛B嘛?
    还有一则新闻,中国很多政要人员召见了IT界的精英。
    有一个名词,叫“逆向工程”,自己不如别人的地方,就必须一点一点慢慢吃透。然后才能创造。Java模式学习告诉我们,先把模式装进脑袋,才能真正学会,用模式。
    最后总结一下:研究源码,短期于公司无益,于国家核心利益攸关。对于20或者50年后的中国的公司,利远远大于弊。
    最后说句大话:中国的真正崛起,是中国IT的崛起,革命尚未成功,各位同仁更需努力。而我们IT革命者,将更多的肩负着中国崛起的使命。
   


还有一点我想说的就是,为什么人家不怎么牛B就能搞出牛B的东西出来!基数,国外人家懂的牛人基数大,随便搞几个就能砸死国内的几个牛人。基数大,搞点好东西出来,不是很正常?国内搞不出来,不也很正常?
47 楼 liujiaoshui 2014-01-22 16:54
    看了楼主的文章受益匪浅,但是本人有些观点与楼主有差异,本着求同存异的精神,简单说说我的想法。
    新中国落后世界许多年,各个领域基本是0。现在要赶上,有2个选择:第一就是买发达国家的东西来组装,其二就是,自己去研究,一点一点从零开始,自己做每一个环节。
    事实证明,第二种是非常科学,而且是非常明智的选择,两弹一星就不用说了,最近的导弹试验,看新闻的人都知道。
    还有另外一件事,某某日,中国2/3的DNS无法访问,全球13太服务器,10太在美国,日本也有一台,中国没有。中国网络,可见是多么脆弱,互联网时代,网络如此脆弱,还能算强国嘛?还能算IT牛B嘛?
    还有一则新闻,中国很多政要人员召见了IT界的精英。
    有一个名词,叫“逆向工程”,自己不如别人的地方,就必须一点一点慢慢吃透。然后才能创造。Java模式学习告诉我们,先把模式装进脑袋,才能真正学会,用模式。
    最后总结一下:研究源码,短期于公司无益,于国家核心利益攸关。对于20或者50年后的中国的公司,利远远大于弊。
    最后说句大话:中国的真正崛起,是中国IT的崛起,革命尚未成功,各位同仁更需努力。而我们IT革命者,将更多的肩负着中国崛起的使命。
   

46 楼 eyeit2000 2013-06-23 14:50
作者的观点有些意思。我赞同!!
  读源码的这种情况。单纯的去读源码进而去理解框架,再到创造一个框架,这中间要走的 
   路太长了。我想走一半就放弃了的人应该很多。另外读源码这种途径我觉的除非是你在改
   造这个框架,不然很多时候单纯的去读源码只会让你陷在其中。
45 楼 transist 2013-04-24 17:01
技术最终的目的是解决问题。
能很好的应用技术解决实际问题就是牛人,能通过研读源代码更深刻的理解原理更高效的解决问题也是牛人,就怕那种半桶水以为研究源码很牛逼,却不知道要解决问题是什么,还一直抱怨没有被重用。
44 楼 xuwhyse 2013-03-28 10:35
不要和白痴争论,因为他会把你拉到和他同一个水平线,然后以丰富的经验打败你。
minimu 写道
其实是一个度的问题,把握好好难哦。尤其是在一些现实情况下。

认为正解
43 楼 dcgame 2013-03-25 14:31
读好源码有助于自己写出好代码。。。
就jquery来讲,知道一些jquery的源码,写出来的jquery可能性能好些。
就赛车手来讲,知道一些汽车的原理,挂起档来会更好一点。
42 楼 wwwcomy 2013-03-25 08:52
引用
语言的本质和互联网一样,只是工具,是剪刀、石头、布。让张小泉去研究怎么做剪刀就好,我们用好剪头,去剪出各种窗花,更有意思。还有一个有趣的事实是,张小泉会造剪头,但剪不好窗花。


这个比喻不太合适 因为JQuery本身也是个剪刀(工具)  而原生JS是他的刀刃 

当剪刀出问题的时候肯定要看看是不是刀刃有问题了
41 楼 wang_esther 2013-03-24 19:41
楼主说的对,技术最终还是要落到实处才有价值。
40 楼 PetriNet 2013-03-24 00:11
原生只是让你写出更好的代码罢了,没必要争吵,就不能理性一点看待程序,都带着有色眼镜编程。
39 楼 PetriNet 2013-03-24 00:08
fanlei77 写道
作者又没说不让看源码,而是说有针对性地看源码。
javaeye别变成pconline了,就知道喷。中国特色吗?


是cnbeta吧
38 楼 kujioon 2013-03-23 12:28
请问BE大神是谁?
37 楼 lihao312 2013-03-23 11:40
源码确实是看看的 云里雾里的
36 楼 ljmybfq 2013-03-23 11:33
技术没必要研究太深入,把技术应用到实际,并用好。
35 楼 o_o_0 2013-03-21 21:39
  那些高手一个也没听说过。。。就知道一个Douglas
34 楼 KimHo 2013-03-21 17:14
管理员该干活了
33 楼 Leon.Wood 2013-03-21 17:11
这文章怎么云里雾里的
32 楼 zhukewen_java 2013-03-21 14:38
markhai_85 写道
zhukewen_java 写道
zhukewen_java 写道
kiven 写道
最近论坛里来了很多喷子,本来雾霾天气就让人受不了,没想到在这里也有人制造雾霾天气

不要和白痴争论,因为他会把你拉到和他同一个水平线,然后以丰富的经验打败你。

很显然,我就是那个白痴



看了 zhukewen_java 的评论,随便猜测,你跟作者有私仇。

都说了没听说过玉伯,哥我一直是对事不对人。
31 楼 dacoolbaby 2013-03-21 14:09
思路和实践才是成就良好的产品~~
语言只是工具而已~~
30 楼 xlaohe1 2013-03-21 14:07
周爱民、白露飞、老赵、winter、月影、hax
29 楼 ahyyxx222 2013-03-21 12:37
很多时候读源码,就像学小学语文一样,不去好好体会作者用意、心境、表述,却埋头于分析段落和语法。
好架构是懂得技术实现就能搭出来的吗?好文章是精通语法就能写出来的吗?
读源码只能占20分非常支持

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • 从零开始带你成为jvm实战高手.txt

    从今天开始,我们将要开始一个MySQL的专栏,一起来研究MySQL数据库的底层原理和各种实践案例,以及互联网公司的技术方案。...(附加说明:我在写《从0开始带你成为JVM实战高手》专栏时,采用的是亿图

  • 我眼中的测试高手—测试架构师

     既然是写我眼中的测试高手,得先容我作一下自我介绍,让你们了解一下我的背景。介绍前再啰嗦一句:是我眼中的测试高手,不一定对,如果有不对的地方,请多多包涵。我有 8 年以上工作经验,其间前 5 年在开发部做开发,后 3...

  • 技术高手必备的几大素质

    世界上并没有成为高手的捷径,但一些基本原则是可以遵循的。 1、扎实的基础  数据结构、离散数学、编译原理,这些是所有计算机科学的基础,如果不掌握它们,很难写出高水平的程序。程序人人都会写,但当...

  • 寻找到了成为技术高手的捷径了

    世界上并没有成为高手的捷径,但一些基本原则是可以遵循的。 ­ 1、扎实的基础 ­ 数据结构、离散数学、编译原理,这些是所有计算机科学的基础,如果不掌握它们,很难写出高水平的程序。程序人人都会写,但当...

  • 我眼中真正优秀的CTO

    现在进入正题,最近几个月,不断有人找我推荐CTO人选,这两年互联网创业和创投实在是太火爆了,全民创业,创业项目井喷,一下子发现CTO不够用了,全行业缺CTO,到处都在找CTO。说实话,我自己也没有CTO存货,CTO...

  • 《跃迁:成为高手的技术》PDF,笔记(上)

    从这本书你可以得到:成为高手的思维模式和方法。找到最佳路径、借助趋势红利,撬动个人爆发式成长。 电子书下载地址:https://t00y.com/file/4015388-433049142 全书共分为五个部分: 1、高手的暗箱:转变思维方式...

  • 找网络高手联系方式_怎么才能联系到网络高手(找网络大牛联系方式)

    可是,在外围公众的眼里,更多感受是戏剧化的“作感”。于是,“女孩网购1吨洋葱送前男友”就顺利奔上热搜,当事女主说出自己的意图,她的前男友也讲出自己的苦衷。总之,“1吨洋葱”上热搜,而且还彻底将分手的苦闷...

  • 从程序员到技术管理--这半年我经历了什么

    自从7月份加入了当前的创业公司,承担起了iOS开发和技术管理任务。说是技术管理,其实就只带了五六个人,整个公司不到20人,谈不上什么专业管理,倒更像个“催活的”。不像大公司的leader ,我更偏向于细化任务,...

  • 谈谈我眼中的德国技术人员

    下面谈谈我眼中的德国IT 技术人员,主要是想比较和思考一下两国技术人员的差异,看看有哪些地方需要我们中国人学习和借鉴的地方,文章最后比较了一下行业氛围和环境的问题。   严谨认真,注重细节    ...

  • 说说我眼中中法技术人员的差异

    转载于天涯社区: 作者:mjmpurples 提交日期:2006-4-4 8:59:00 曾跟法国的一些工程师工作了一段时间,对国外技术人员有了直接而又粗浅的认识。虽离开前一公司已有些时日,但法国同仁们的音容笑貌,仍历历在目...

  • 普通人怎样成为一个领域的高手

    普通人怎样成为一个领域的高手?...人们眼中的天才之所以卓越非凡,并非天资超人一等,而是付出了持续不断的努力。 1万小时的锤炼是任何人从平凡变成超凡的必要条件。10000小时,按比例计算就是:如果每天工

  • 怎样的环境中产生技术高手

    怎样的环境中产生技术高手以此文鼓舞在逆境中找寻乐趣的技术工作者, 他们必将成就不凡人生.本文出自: 阿呆 http://blog.csdn.net/davemin宣传: VC 十年技术群 30107096 欢迎高手加入,本群只研究VC1. 高手绝对不会在...

  • 操作系统课程设计任务书

    《操作系统》 课程设计任务书     指导教师:刘  刚 设计者: 班级: 学号:           山东建筑工程学院计算机系软件教研室     操作系统课程设计题目     一.  混合索引模式下文件空间管理 设计要求: 编写一程序,模拟混合索引形式的文件系统。能接收建立、删除、读、写和查询属性的命令,并在模拟文件系统中进行操作。   例:   create a1.doc 8000    /

  • 操作系统课程设计完成了

    终于弄好了课程设计,不过不是自己做的 二:  进程调度模拟程序 设计要求: 编写一程序,可以创建若干个虚拟进程,并对若干个虚拟进程进行调度,调度策略为时间片轮转。 虚拟程序的描述:    虚拟指令的格式:   操作命令  操作时间 其中,操作命令有以下几种: l        C : 表示在CPU上计算 l        I :表示输入 l        O:表示输出 l        W:表示等

  • 双绞线与RJ-45水晶头的接法

    今天也接了一回 橙白 橙 绿白 蓝 蓝白 绿 棕白 棕,按这个顺序排起来就行啦

  • 找到一个非常不错的文章保存软件

    在网上游荡经常碰到好的文章要保存起来,但是手动保存很不方便而且还不好管理,在网上找了找相关的软件,终于发现一个非常不错的东东--网文快捕 这是介绍: 网文快捕 (原名WebCatcher) 是一个保存/管理网页的工具,主要功能有:可以在IE里面保存网页,包括文字,图片,Flash动画等等。也可以保存选中的文字,图片和链接等等;在一个树形孔建里面管理保存下来的网页。可以通过拖放来分类您的网页;在一个

  • 写了针对学校论坛的刷钱工具

    我校的建院学子论坛是用的CPB论坛,在每次发贴有个境遇问题,来改变发贴人的钱或魅力,看着很有意思,经过几次发贴,突然发现回贴后出现的页面,通过按F5刷新同样可以经过改变境遇来增加钱数或魅力值,于是明白了白小痴怎么会有这么多钱,不过按F5也太慢了,当然也写一个测试程序了,程序其实很简单,就是一个通过socket向指点的HTTP主机发送数据包通过IRIS截获 所发送的数据包为 GET /bbs/pos

  • 留言版

    朋友们可以在这里写下留言

  • 使用vector 模板求素数

    #include #include vector>#include using namespace std;int main(int argc,char *argv[]){        if(argc!=2){        cerr"Usage:/n/t"" "        return 1;    }    int count=0; 

Global site tag (gtag.js) - Google Analytics