JavaScript,25 岁生日快乐,看看“她”的成长历

前端人

共 4368字,需浏览 9分钟

 ·

2020-12-10 16:45

关注公众号 前端人,回复“加群

添加无广告优质学习群


众所周知,JavaScript是世界上最容易被误解的编程语言,同时也是最受欢迎的编程语言之一。世界上几乎每台个人电脑上都安装了JavaScript解释器,并在活跃运行中。

在1995年,三十多岁的布兰登·艾奇(Brendan Eich)在他任职的网景(Netscape)总部办公桌旁,花了十天时间致力于编程工作中,最后成果是一种新的语言的诞生。

十天创造一个新的语言?天呀!

一些编程语言造就了软件开发的世界。JavaScript可以做到这一点,但同时也影响了每一个互联网用户的生活。

如大多数有趣的故事一样,JavaScript的创建也始于一场战争中。没错,就是1990年的浏览器大战。九十年代仿佛是很久以前了,但我们今天享受的很多事物都形成于那个时候。

一方面有网景,另一方面有微软,即当时主要的软件权威。

网景通信公司原名为MOSAIC Communication Corp是首家尝试利用新兴万联网的公司。该公司首款实际产品是名为Mosaic Netscape 0.9的网页浏览器,然后是网景领航员(Netscape Navigator

网景将其宣称为“适用于所有人的网页”,并声称他们的目标之一是提供始终如一的网页浏览体验,在操作系统之间“公平竞争”。

你刚刚是不是说,在操作系统之间“创造公平竞争环境”?不,这和微软等产品的理念可不兼容。完全不一样!

你现在可以想象到网景和微软可能曾在争抢些什么。这本质上是一场战争,胜者将成为互联网的掌门人,创造关于互联网使用方式的全新故事。

1995年时的手机样式
而杰·雷诺(Jay Leno)主持了Windows 95操作系统的发布会

我们当时可能是在渴望着一些改变...

所以,一方面有网景,它意识到浏览器才是人们用来上网的关键软件。另一方面,微软完全专注于一种商业模式,即用Windows系统包含所有内容,这是人们做任何事都应用的方式。不然怎样!

世界在转至线上,而微软当时并不在意浏览器,直到他们看到了网景所提供的:一条通往互联网星光大道的道路,一条通向明媚前景的阶梯。

数十万人像是画图一样,使用网景浏览器来上网。人们开始意识到,网景浏览器可能就是互联网的未来。

而在那时,随着故事的发展,浏览器大战开始了。在位于繁华西雅图的微软总部,微软眼睁睁看着网络的机遇失之交臂,开始了大型动员令。这家软件巨头有资金、有人力、也有品牌做支撑来逆转处境。因此,在1995年秋天,他们发布了一个浏览器:IE浏览器(The Internet Explorer)。

IE浏览器对抗网景领航员-“第一次互联网大战”

两家公司的战争方式截然不同。网景施行了快速发展,每隔几个月便发布一个新浏览器。从一个基础的导航系统升级成了整合邮件在内的浏览器,而在几个月后,它有了搜索等功能。它不断地升级,很快,人们开始体验到可以在网上做的不同事情。

然而微软已习惯缓慢的发展速度了。你要耐心等待长达四年之久的开发过程,微软公司尽力做到没有软件漏洞,将其包装,送去商店,然后接下来四年内又不会发布新版本了。享受产品吧,谢谢!

快速的开发过程确实动摇了微软,但只是暂时的。笔者认为,微软意识到浏览器有着巨大的文化影响,它是你在互联网上所能做的第一件带来文化乐趣的事情。

你可以从一个乐队的网页上浏览到他们的发布的内容和照片。

你与世界各地的人们真正有了关联,而这一快乐在浏览器之前是绝没有的。这种像绘成图画似的浏览器页面使互联网看上去像个很酷的杂志,而这流入到了商业、金融、银行、媒体等多个行业领域。

因此,在实现理念中,微软也意识到浏览器是非常强大的,能带来巨大的财富,和深远的影响。

世界上80%到90%的电脑在安装Windows系统时,人们很容易就将软件设置成系统默认。这一现象在那时也恰好发生了。IE浏览器的使用量升到了首位,几乎摧毁了领航者浏览器,但只是几乎。

此时,网景落入下风,开始最后的拼死一搏,而这改变了整个编程世界。

JavaScript,或者Mocha,或是LiveScript,又或是之后的JScript以及再之后的ECMAScript

浏览器包含着对互联网的热爱以及生活的所有可能性,这都清楚说明了一件事。我们需要一种超越HTML的新编程语言。我们需要能够驱动以网页为基础的开发、打开互联网上创意的洪流之门的事物。

Java在这时被认为是“酷”语言,人们好奇着Java会成为网页开发的语言吗?开发者一直想要一个轻巧的编程语言,可以被解读而不是编译/汇编,而且是有吸引力的东西,甚至对非专业程序员也是如此。

网景明白他们需要一个在他们浏览器内部运行的编程语言,这可能会挽救他们的浏览器。那时,他们马上要迎来发布网景浏览器2.0版本(the Netscape 2.0)的日子,而他们也快在浏览器大战中输给微软了。他们离2.0 Beta版本发布日还有十天,如果说有一个挽救时机,那么只有现在。

16世纪版画内容:一位炼金术士正在蝎子加入其他混合物

布兰登·艾奇入职,以及十天时间

艾奇在伊利诺伊大学上学期间,就因对编程语言的狂热而出名。他曾经为了娱乐而发明了新的语言,只是在玩弄着语法。如果有人能够在十天之内完成任务,发明出新的语言,那一定是他。

JavaScript的句法很明显是被C语言所启发的。其中的一些字符串模式出自Java,以目标为中心的潜在模式出自一个叫做Modula-2的编程语言。

JavaScript最著名的特征之一可能就是它的首要功能,其概念也来自于Modula-2。可能还有更多没提到的灵感来源,但是现在暂且不谈。

于是在1995年的11月30日,JavaScript与网景领航员2.0版本一起发布了,所有人都注意到了这个神奇的新语言。美国在线(America Online), AT&T, 以及其余28家公司达成共识,将其定为开放的标准化语言。但这一面世并不是没有批评和质疑的。做了数十年编程的老古板们自然是瞧不起这个闪亮的新语言。甚至在今天,有些人并不认为JavaScript是“真正的编程”,而仅仅把它看作是新手的一种语言。

小子,听说过Fortran吗...?滚出去!

JavaScript凭借其傻乎乎、乐趣十足、轻巧易操作的思路,渐渐成为了我们集体意识中的一部分。它真的是一个非常有趣又古怪的语言。同时,它功能也非常强大,能够做到计算机科学领域内几乎所有的事情。

如今,JavaScript可能已经成为世界上最广泛运用的语言。它无处不在,真正意义上的无处不在!当你进入软件领域时,你除了学习这一语言外别无选择。

比如说你有一个很棒的创意,并且已经为此准备好了所有的后勤工作。但如今,如果你想要传播这个创意,那它必须与网络或移动方面有所联系。于是你表示:“我想要创建一个浏览器应用,希望能够具备所有酷炫的互动元素让我们的顾客了解到创意有多棒。”好吧,那你必须学习JavaScript或者雇佣一个会JavaScript的员工。

你可能会问经验丰富的编程员他们最喜爱的语言是什么,他们一定会说“我爱Python(以及JavaScript)”。如今,你压根不能逃脱开JavaScript。它在这里,无处不在,在这个网页,在手机里,在浏览器中,它是如今大部分人们唯一需要学的语言。

因此我们可以花片刻时间来感谢网景和布兰登·艾奇创造了JavaScript,然后可以再花片刻来感谢微软推动了这一发明。但最后,因为网景没有微软这样的资金支持、大规模和影响力,网景领航员以消失收场。

微软对整个行业的把持,帮助他们在浏览器游戏中后来者居上。但即使是他们也跟不上网景衰落带来的范式转移。

在二十世纪初期,谷歌邮件,即我们熟知的Gmail面世。它很可能是第一个将JavaScript提升到另一个高度的应用。Gmail用JavaScript来动态提取你在在浏览器中查看的内容。

原本你需要在点击收信箱内的邮件后等待新的网页加载,但现在谷歌在背景使用JavaScript捕捉你想要浏览的内容然后呈现给你。再也不需要等待一整个新网页加载了。

这改变了一切。它不仅节省下一堆时间精力,如果仔细想一想,它还彻底改变了我们的工作性质。web 2.0革命的开始可以归功于JavaScript。生活不仅仅变得更快,网站浏览器的所有用户都突然有了一个开发环境。

迄今为止,我们已经说过了JavaScript是如何成为所有浏览器的语言,没有人能够逃避它。

为了将事情提升到一个新高度,瑞安·达尔(Ryan Dahl)在2010年向世界介绍了Node.js.,一个可以在浏览器外部执行JavaScript代码的运行环境。现在开发者们可以使用JavaScript进行服务器端脚本编写。

作为第一个服务器端的JavaScript环境,这实际上对网景LiveWire Pro Web的一种重新评估。

Node.js.如今已是行业内的一股强势力量。Node.js.如此成功的原因之一就是做出贡献的庞大的开发人员群体。安装Node.js.,不需要编写服务器代码就可以呈现出复杂的web应用程序。

因此首先在浏览器中,接着在服务器中,JavaScript是一个表面朴实无华、内在优雅,有时会有程序漏洞的语言。作为第一次浏览器大战的幸存者,所有人都低估了它。

今天的生活取决于JavaScript提供的交互性。如果想知道你对其的依赖程度,可以选一至两天停用浏览器上的JavaScript。试一下,然后就会知道我在说什么了。那会是最枯燥、单板、索然无味的体验。

当然,页面会加载得更快,页面更整洁,广告更少,没有弹出窗口,并且会有更长的计算机电池寿命。但网页的一部分功能会无法正常运作。网飞(Netflix)、油管(Youtube)、谷歌文档(Google Docs)和谷歌地图(Google Maps)都会无法运作。最终,你会意识到你的一切活动在一定程度上都依赖于JavaScript。

这一语言渗透在我们的一切活动中。

花片刻时间思考一下,以及世界DNA的永久改变。

算下来今年刚好是javascript,25岁的生日,希望在这个年轻的年纪,javascript能够绽放更多的可能,我们一起期待。共勉!

来源:levelup.gitconnected.com


1.如果看到这里,说明你喜欢这篇文章,请 转发点赞在看

2.关注公众号前端人,回复资料包领取我整理的前端进阶资料包

3.回复加群,加入前端进阶群,和小伙伴一起学习讨论!

浏览 36
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报