“Prototype”机制是个半成品OOP,有些文章说这玩意当初为了“简单(编写)、容易(学习)”而发明的,但web前端技术发展到今天我们看到,JS显然是需要OOP的,或者说web前端程序规模增长,需要OOP等更强大、方便的特性、机制。真要简单容易,你干脆不要提供能让人实现OOP的继承机制的prototype什么的嘛。提供了结果呢,写类麻烦,继承麻烦,甚至要额外手写代码实现,而且听说继承机制竟有五种之多,这不是反而难学、混乱、麻烦吗。
所以JS的prototype一是仓促懒惰二是没有前瞻性。没前瞻性再说明白点,就是没有发展意识与战略眼光:在前端需求开始发展时就应该做出质的革新,网景(Netscape,后来变成FireFox基金会)不去好好做种前端语言,从技术上打倒微软,却劳民伤财的去跟人家打官司,格调不高雅,做事更不高明。
没有代码提示,首先主要导致生产率极其底下。没有代码提示是因为变量定义没有类型,而且没有类型限定之类的机制、语法来弥补。
没有包。凡是没有包的高层语言都是垃圾。
此处高层语言是指不直接操作硬件的语言,但使用嵌入硬件语言技术不算。比如像jQuery,拿个“$”当包使,这像编程吗?什么玩意啊简直是!
最后导致二十多年后微软做TS,谷歌做Dart来擦屁股(谷歌还做了V8执行引擎),蔚为奇观。现在是2016年11月,这两种语言都发布几年了,且不说技术上的便捷程度如何,可中国招聘网站上竟然都还几乎没有这两种语言的职位!
就算用了还是要学新技术,增加成本。
就算用TS或Dart写了类,JS里面去调用还是不会有代码提示!垃圾就是垃圾。
重复造轮子,导致程序员换库麻烦,比如因为换工作。
尤其是H5标准发布以后好些轮子改的改扔的扔,当然又有新库,功能更多体积更大。
那些写框架重复造轮子的人既是这场灾难的传播者也是受害者。
重复加载、浪费网络带宽、资源。
另外加载还得耗电耗时,导致便携式设备使用时间缩短。
耗时导致浪费人时间、工作效率下降、与网络拥堵互相加剧。
再强调一句:这些轮子大部分代码功能都一样。
到现在甚至js库都开始用管理器了!比如node.js搞的什么软件包管理器npm。
这里我特别要对软件业巨头提出强烈批评,
不指望你们开发多先进的浏览器,也不指望你们开发出新的脚本语言;百十万的高工牛人,就让浏览器能执行个写起来舒服点的python都没人能想到吗?
还在那一天用着几十年前的js和js库开发各种所谓高大上的产品,简直丢人现眼。
这种垃圾语言我看都懒得看一眼,如果我去学,第一也是为了进行全面、深刻的批判。嗯,所以这篇可能会有续篇。
我这人作为程序员的一项使命就是消灭网站和应用程序中的JS。
肯定有人骂我咋不自己写个浏览器,我的回答就是我命苦没钱自己在家做,以后有钱又要忙死。而且这么骂的人都是看不懂我那网站上Flash做的demo的蠢货或者干脆不是程序员的。
其实我还想让开源社区来实现浏览器或者“可以执行bean文档中嵌入的脚本的Spring”之类的应用产品,不花钱、有人替我实现才好。
有句话本该放在开头的,但觉得放在结尾更有说服力:JS就是网景公司当初为了网页能够互动而随手做的玩具语言。而且跟败在自己手下的微软的垃圾VB大概是一个档次。
分享到:
相关推荐
一位程序员工作10年总结的13个忠告+一名程序员的十年工作经历+程序员(工作十几年)的创业血泪史,万字长文,与君共勉!+程序员工作几年的一些感悟+程序员找工作的个人经验及注意事项+告诉你编程路上应该这么过+...
但是,在某些情况下,使用UART接口可能会产生一些限制和不便,例如,在调试阶段需要查看单片机内部的一些数据时,或者在设计中已经使用了仅有的一个UART接口时。这时,使用软件实现UART功能便成为一种可行的解决方案...
其目的不仅仅是发现并修复潜在的安全漏洞,更是一种提升组织应对网络攻击能力的有效手段。在攻防演练中,可以全面模拟实际网络攻击的场景,考验参与人员的安全意识、安全技能,以及整体的安全防御体系。 文中提到的...
《中华民族品牌的血泪史》揭示了自改革开放以来,我国民族品牌遭受外资并购的历程,以及这一现象对中国经济和民族工业的深远影响。1994年到2008年间,许多知名的中国品牌如中华牙膏、乐百氏、太太乐、南孚电池等纷纷...
本文将围绕“mysq血泪史”这一主题,详细讲解在学习MySQL过程中可能遇到的问题,以及相应的解决方案,特别是关于用户权限、字符集和配置方面的知识。 首先,我们来谈谈MySQL的用户权限管理。在MySQL中,用户权限...
"在安装双系统时的一点经验血泪史" 在安装双系统时,我曾经遇到的一些问题和教训,主要是关于系统修复的经验总结。下面是我在安装双系统时的一些经验和教训。 首先,在安装 Ubuntu 16.04 时,我配置失败,决定分配...
《C语言工作笔记——含图片》是一份珍贵的个人学习与工作经验总结,作者在实际工作中积累了大量的C语言编程技巧,并通过详细的笔记形式分享出来。这份资料不仅包含了基础的语法讲解,更聚焦于解决实际问题的方法,是...
从这段血泪史中,我们可以总结出以下几点投资教训: 1. 尊重市场经济规律:高息往往意味着高风险。没有哪个可持续发展的产业能够承受过高的借贷成本,因此对于提供过高回报的平台,投资者应保持警惕。 2. 实地...
列举前三步,看对你是否有用,再下载: ...1.首先,用设置中的卸载应用程序把10.3卸载即可 2.安装好VS2010或者VS2012 3.安装Arcgis Desktop 10.2(一定要安装这个,单独安装Arcgis Engine 10.2无用)
本书展示了中国人民在近代史上的挣扎和抗争,展示了中国的苦难和血泪史,为我们提供了一个了解中国近代史的重要窗口。 在本书中,徐中约通过对中国近代史的详细记载,展示了中国人民在近代史上的挣扎和抗争,展示了...
linux新人借鉴前辈安装oracle10g血泪史加上自己遇到问题的总结
CEO需要有领导力,能够有效沟通并承担错误。招聘时应注重员工的专业技能和工作态度,避免招募技术差或缺乏敬业精神的员工。 5. **资金管理**:虽然文中未详述,但资金是维持创业公司运作的生命线。没有足够的资金,...
参考血泪史:我们6月18日递交申请,当时申请的入境时间是9月1日,结果我们签证直到9月14日才批下来,9月22日到达北京大使馆,等我们办完手续到达瑞典境内,已经比预计时间晚了一个月... 只有你的签证时间大于等于...
在描述中提到的“惨痛血泪史之试图在编辑器外运行”,这可能指的是开发者在开发过程中遇到的一个挑战,即在脱离开发环境后,软件运行时对资源文件管理的困难。在C++项目中,尤其是使用QT进行UI开发时,资源文件(如...
“ MAC的强大办公能力+ Linux的开源能力 = 一个优秀的编程环境。” 额~也不知道谁说的,小生不才,引用一下。 看了很多论坛和博客,得出的结果是,Mac并没有为Linux系统配置相应的驱动,所以不能将其作为双系统安装...
编译没问题呀,但是提示我越界了,找了一个下午,后无意发现原来l和1弄混了……千万吸取教训! #include #include using namespace std; void Merge(int *initList, int *mergedList, const int l, const int ...
第二条记录的作者是李大友,他有38册著作被图书馆收藏,其中第17条记录的书名为《全国计算机等级考试模拟试题详解与模拟试卷——基础知识和QBasic语言程序设计(二级)》,图书馆藏有221册,当前未被借出。 再者,...
《逆流而上:Alibaba技术成长之路》是Alibaba集团荣耀背后的技术血泪史。本书通过分享业务运行过程中各个领域发生的典型“踩坑”案例,帮助大家快速提升自我及团队协作,学习到宝贵的处理经验及实践方案,为互联网...