王垠对 JS 的评价
如果你不知道王垠(垠神)是谁,可以先搜一下。
《给Java说句公道话》
很多JavaScript程序员也盲目地鄙视Java,而其实JavaScript比Python和Ruby还要差。不但具有它们的几乎所有缺点,而且缺乏一些必要的设施。JavaScript的各种“WEB框架”,层出不穷,似乎一直在推陈出新,而其实呢,全都是在黑暗里瞎蒙乱撞。JavaScript的社区以幼稚和愚昧著称。你经常发现一些非常基本的常识,被JavaScript“专家”们当成了不起的发现似的,在大会上宣讲。我看不出来JavaScript社区开那些会议,到底有什么意义,仿佛只是为了拉关系找工作。
Python凑合可以用在不重要的地方,Ruby是垃圾,JavaScript是垃圾中的垃圾。原因很简单,因为Ruby和JavaScript的设计者,其实都是一知半解的民科。然而世界就是这么奇怪,一个彻底的垃圾语言,仍然可以宣称是“程序员最好的朋友”,从而得到某些人的爱戴……
《编程的宗派》
面向对象语言不仅有自身的根本性错误,而且由于面向对象语言的设计者们常常是半路出家,没有受到过严格的语言理论和设计训练却又自命不凡,所以经常搞出另外一些奇葩的东西。比如在JavaScript里面,每个函数同时又可以作为构造函数(constructor),所以每个函数里面都隐含了一个this变量,你嵌套多层对象和函数的时候就发现没法访问外层的this,非得bind一下。 Python的变量定义和赋值不分,所以你需要访问全局变量的时候得用global关键字,后来又发现如果要访问“中间层”的变量,没有办法了,所以又加了个nonlocal关键字。Ruby先后出现过四种类似lambda的东西,每个都有自己的怪癖…… 有些人问我为什么有些语言设计成那个样子,我只能说,很多语言设计者其实根本不知道自己在干什么!
《谈语法》
在 C 这样的语言里,由于结构上有很多限制,所以才觉得那样的语法还可以。可是一旦加入 Lisp 的那些表达能力强的结构,就发现越来越难看。JavaScript(node.js)就是对此最好的一个证据。
《论对东西的崇拜》
如果你了解一点历史就会发现,今天非常流行的 JavaScript,其实不过是一个“没能正确实现的 Scheme”。
《如何掌握所有的程序语言》
合理的入门语言
所以初学者要想事半功倍,就应该从一种“合理”的,没有明显严重问题的语言出发,掌握最关键的语言特性,然后由此把这些概念应用到其它语言。哪些是合理的入门语言呢?我个人觉得这些语言都可以用来入门:Scheme、C、Java、Python、JavaScript
那么相比之下,我不推荐用哪些语言入门呢?Shell、PowerShell、AWK、Perl、PHP、Basic、Go、Rust
《我的第一次和最后一次 Hackathon 经历》
一进门就感觉这跟一般的 meetup 气氛很不一样。这大周末晚上的,清一色的爷们,没有一个女人,也没有笑声。而且里面的人说话都很奇怪,不正眼看人,有些好像怒目相向的样子,说出话来就像在查你户口。有几次有人问我是干什么的,我刚一开口,他们一句话不回,扭头就跟其他人说话去了。只有一个头发花白的大叔工程师对我挺友好的,于是我们就聊起来。旁边有个华人工程师盯着一个15寸的 Macbook,后来也聊起来,开门见山就问我用什么语言。我也忘了我说什么了,只记得他很自豪的说自己用 JavaScript,而且那是最高配置的 Macbook,是 Retina 显示器的。
《程序语言的常见设计错误(2) - 试图容纳世界》
今天我来谈一下另外一种错误的倾向,这种倾向也导致了很多错误,并且继续在导致错误的产生。
今天我要说的错误倾向叫做“试图容纳世界”。这个错误导致了 Python,Ruby 和 JavaScript 等“动态语言”里面的一系列问题。
《怎样尊重一个程序员》
认识和承认计算机系统里的历史遗留糟粕 很多不尊重人现象的起源,都是因为某些人偏执的相信某种技术就是世界上最好的,每个人都必须知道,否则他就不是一个合格的程序员。这种现象在Unix(Linux)的世界尤为普遍。Unix系统的鼓吹者们(我曾经是其中之一)喜欢到处布道,告诉你其它系统的设计有多蠢,你应该遵从Unix的“哲学”。他们仿佛认为Unix就是世界终极的操作系统,然而事实却是,Unix是一个设计非常糟糕的系统。它似乎故意被设计为难学难用,容易犯错,却美其名曰“强大”,“灵活”。眼界开阔一点的程序员都知道,Unix的设计者其实基本不懂设计,他们并不是世界上最好的程序员,却有一点做得很成功,那就是他们很会制造宗教,煽动人们的盲从心理。Unix设计者把自己的设计失误推在用户身上,让用户觉得学不会或者搞错了都是自己的错。
如果你对计算机科学理解到一定程度,就会发现我们其实仍然生活在计算机的石器时代。特别是软件系统,建立在一堆历史遗留的糟糕设计之上。各种蹩脚脑残的操作系统(比如Unix,Linux),程序语言(比如C++,JavaScript,PHP,Go) ,数据库,编辑器,版本控制工具,…… 时常困扰着我们,这就是为什么你需要那么多的所谓“经验”和“知识”。然而,很多IT公司不喜欢承认这一点,他们一向以来的作风是“一切都是程序员的错!”,“作为程序员,你应该知道这些!” 这就造成了一种“皇帝的新装现象”——大家都不喜欢用一些设计恶劣的工具,却都怕别人嘲笑或者怀疑自己的能力,所以总是喜欢显示自己“会用”,“能学”,而没有人敢说它难用,敢指出设计者的失误。
我看完之后的感觉:
- 说得真TM对,吐槽都吐到点子上了。
- JS 这么垃圾,为什么垠神还推荐入门用 JS 呢。可能有些语言比 JS 还垃圾吧,哈哈。
- 虽然观点上有矛盾,但是牛逼的人的大脑都是能容忍矛盾的,问题不大。
为什么我要发这篇文章:
如果你不能接受 JS 的缺点,说明你不爱 JS。
我觉得王垠的文章对于开阔视野挺好的,已付费。
完。
王垠对 JS 的评价相关推荐
- 传言阿里P10赵海平被P11多隆判定3.25离职,如何评价阿里 P10 赵海平对王垠的面试?...
大家好,我是老表 阅读文本大概需要 10 分钟 来源:知乎 地址:https://www.zhihu.com/question/360622233 阿里P10也被325辞退? 最近几天的阿里圈也真的是 ...
- 王垠:我和权威的故事
转自王垠博客,我是垠粉. 每个人小时候心里都是没有权威的,就像每个人小时候也都不相信广告一样.可是权威就像广告,它埋伏在你的潜意识里.听一遍不信,听两遍不信,--,直到一千遍的时候,它忽然开始起作用了 ...
- 我和权威的故事zz (王垠)
转自: http://www.yinwang.org/blog-cn/2014/01/04/authority/ //***************************************** ...
- 清华天才王垠受邀面试阿里P9,被阿里P10赵海平面跪,整个事件回顾...
点击上方"视学算法",选择"星标" 来源 :开发者技术前线 知乎上有一个话题:如何评价阿里 P10 赵海平对王垠的面试?最近成了热帖,这下赵海平跟王垠这次是真的 ...
- 清华梦的粉碎——转自王垠
小时候,妈妈给我一个梦.她指着一个大哥哥的照片对我说,这是爸爸的学生,他考上了清华大学,他是我们中学的骄傲.长大后,你也要进入清华大学读书,为我们家争光.我不知道清华是什么样子,但是我知道爱迪生和牛顿 ...
- 王垠受邀面试阿里 P9,被 P10 面跪后网上怒发文,惨打 325 的 P10 赵海平回应了!...
公众号关注 "GitHubDaily" 设为 "星标",带你了解圈内新鲜事! 整理自综合自知乎社区回答 & 互联网互联网坊间八卦 观点不代表本号立场 转 ...
- 清华梦的粉碎——写给清华大学的退学申请by王垠
清华梦的诞生 小时候,妈妈给我一个梦.她指着一个大哥哥的照片对我说,这是爸爸的学生,他考上了清华大学,他是我们中学的骄傲.长大后,你也要进入清华大学读书,为我们家争光.我不知道清华是什么样子,但是我知 ...
- 王垠 --清华梦的粉粹
清华梦的诞生小时候,妈妈给我一个梦.她指着一个大哥哥的照片对我说,这是爸爸的学生,他考上了清华大学,他是我们中学的骄傲.长大后,你也要进入清华大学读书,为我们家争光.我不知道清华是什么样子,但是我知道 ...
- 完全用Linux工作,抛弃window/王垠
完全用Linux工作,抛弃windows 我已经半年没有使用 Windows 的方式工作了.Linux 高效的完成了我所有的工作. GNU/Linux 不是每个人都想用的.如果你只需要处理一般的事务, ...
最新文章
- DvaJS 入门, 快速上手Dva
- 正经聊一聊脑机接口的发展现状|脑科学开放日
- pytorch方法测试——卷积(二维)
- VS2019如何导出exe文件_Win10+VS2019源码编译HDF5(1.10.6)
- centos7 安装、使用git
- scala集合fold实例:将两个Map合并
- c语言 数组指针,C语言数组名及指向数组指针的小结
- 在Linux中head命令,Linux 中 head 命令实例
- PDFMiner:python 读取 pdf 内容
- PHP学习笔记 - 在Eclipse中使用XDebug调试代码 | Using XDebug debug code in eclipse
- Twips 缇的含义[来自网络]
- python : 使用 __future__ 的作用
- html网页制作代码大全:庆余年——电影网站7页,不包含js 有登陆注册,表格 table布局 ,有的登录注册页面,内嵌 css
- python接口测试第二期_上海悠悠python接口自动化测试第二期视频教程价值1600
- Socket编程项目VS开发环境配置
- java代码实现注册发送邮件激活账户
- Oracle Analyze
- Claus Hansen加入Entrust Datacard,担任亚太地区和日本销售副总裁
- 大吉大利-今晚吃鸡-枪械
- 2019年研究生入学考试北京理工大学计算机专业基础813真题回忆