都快2022年了,都快进入AI时代了。为嘛JAVASCRIPT还是经久不衰?相反还出现了TS,VUE等等基于JS的衍生品,推陈出新而没有被时代抛弃?
之前一直在做PHP后端,没有怎么研究过JS,只会搞一些简单的。前端时间深入接触了下JS,发现PHP中很多知识,其实在JS中也存在,而且JS感觉更加的规范。在搞PHP前,用ASP,不过差不多2010年后基本就不用了!
都快2022年了,都快进入AI时代了。为嘛JAVASCRIPT还是经久不衰?相反还出现了TS,VUE等等基于JS的衍生品,推陈出新而没有被时代抛弃?
之前一直在做PHP后端,没有怎么研究过JS,只会搞一些简单的。前端时间深入接触了下JS,发现PHP中很多知识,其实在JS中也存在,而且JS感觉更加的规范。在搞PHP前,用ASP,不过差不多2010年后基本就不用了!
贴一篇两年前我在知乎上的回答(原文链接):
实际上,从Javascript诞生的第一天起,就有计划要成为后端开发语言,而并不是到了2009年才有人一拍脑袋说:对呀,为什么不用Javascript来开发服务端应用呢?
但是既然早有计划,又为什么要拖到14年之后(Javascript是1995年诞生的)才有了真正意义上可用的服务端应用呢?
因为Javascript刚诞生不久就成了孤儿,无爹无娘,无依无靠,全靠好心人收养,很多和它一样的孤儿死掉了,但侥幸不死的孤儿日后必将爆发出超级强大的生命力(参见15岁父母双亡的孤儿朱元璋的发家史)。
1995年12月4日,Javascript诞生于一个新富之家Netscape,从诞生的第一天起,父母便对它寄予厚望,不但可以在浏览器中运行,并且可以在服务器端运行。但父母毕竟是小户人家,迅速的崛起引来了恶霸邻居Microsoft仇恨的目光,在浏览器端他们用预装IE的方式强占Netscape地盘,在服务器端他们故意推出一个名叫JScript的东西混淆视听。就在Javascript三岁的时候,Netscape终于经受不住这样的打击,撒手人寰,整体卖给了AOL。
好在就在Javascript一岁的时候,大约是Netscape已经预感到自己来日无多,于是把Javascript寄养给了叔叔ECMA(欧洲计算机制造商协会),这也为以后Javascript改姓留下了伏笔。
Netscape死后,恶霸Microsoft终于独占了所有浏览器的市场份额,Netscape留下的孤儿Javascript能幸存在前端已属不易,自然也不可能再在后端有任何的发展。即便如此,Microsoft还要隔三岔五去收养Javascript的ECMA家里大闹一场,一会儿是声称JScript也是浏览器标准,一会儿是声称IE浏览器里的Javascript才是真正的Javascript,总之是不让Javascript健康成长,并且仗着自己财大气粗,一定要把敢于收留Javascript的这帮穷亲戚全部干掉才算完。
光阴荏苒,日月如梭,转眼就是10年。2008年9月2日,村里新来的土豪Google发布了Chrome的第一个版本,他们为Javascript打造了超级跑车V8引擎,从此,Javascript这个孤儿终于看到了一线曙光。
在Google的感召下,村里的穷苦人民纷纷揭竿而起,不到一年,2009年5月27日,就诞生了Node.js,Javascript从此正式进军后端开发!
在浏览器方面也是捷报频传,Microsoft IE丧师失地,节节溃退,市场份额从最高时的96.6%一路跌到现在的7.7%,并且还将持续下滑,连Microsoft为了挽救颓势而推出的Edge浏览器也已被迫采用了Chrome内核。
其实语言不过是逻辑的载体,什么语言不能开发后端呢?王侯将相,宁有种乎?小尼姑的头,Java和Php都摸得,Javascript就摸不得?连Perl这样的从批处理命令演变来的语言都敢号称是后端语言,Javascript凭什么就不能?
回到历史的长河中,其实Java为什么能成为后端语言,是因为它背靠的爹娘太强大了,先是有Sun这样的父母,后来又过继给Oracle,无一不是有钱有势,就连Php这样被后端都看不起的语言都有Zend这样的爹娘扶持,而年幼失怙的Javascript在夹缝中苟且偷生,遭人白眼,不是很正常的事情吗?如果没有Google的V8,能有Javascript的今天?
现在V8引擎已经开发到了7.8版本,2015年起加入了Turbofan优化器,直接借鉴了Java编译器的Hotspot机制,如果不想干后端的事情,为什么要搞Sea of node IR?有人说Typescript不是Javascript,但其实Typescript就是Javascript加上了强类型的变体而已,本质上还是Javascript,这都不重要,我们更应该关注的是Node.js的底层,实际上在现代编译器的扶持下,Javascript早已脱离了早期的编译型语言和解释型语言之争,无论什么语言,只要有大公司扶持,只要用的人足够多,就会不断投入资金进行优化,性能不断提升。
Javascript已经度过了童年的黯淡时光,如果不出意外,它必将彻底统治前后端,这是从它诞生第一天起它的亲生父母Netscape对它寄予的厚望,也是它现在的养父母Google的期望。因为,用一种语言解决所有问题,受益的将是全人类,这个梦想从来就没有变过。
近期看过一本书叫《JavaScript 二十年》 里面提到 JS
发展的历程,在当时的环境下,短短数日催生出了的 JS
,难免也有蹩脚的地方。 Ajax
和 Nodejs
技术使得 JS
不再是“玩具”,不仅如此,JS 已经在其他领域开花结果。
8 回答4.8k 阅读✓ 已解决
6 回答3.5k 阅读✓ 已解决
5 回答2.9k 阅读✓ 已解决
6 回答2.4k 阅读
5 回答6.4k 阅读✓ 已解决
4 回答2.3k 阅读✓ 已解决
5 回答1.3k 阅读✓ 已解决
以下纯属个人观点口嗨,看个热闹即可,欢迎讨论,莫杠,杠就是你对
只要你要需要上网浏览网页就需要JS。都这么多年了,要出现一个替换JS明细不太可能了,中间也出现很多据说要替代JS的语言,最终也还是编译为JS,最先抢占市场的优势不是那么容易被替代的,由于暂时无法被替代,所以替换的想法被改良的想法所替换,于是TS出现了,其实给JS加类型还有个flow,很简单就能想到供需关系,有类型的需要,但又不能换掉JS于是就有了这些东西。
这个问题建议左转某乎,那里会有更好的回答。