十天打造的编程语言,如何影响世界!!!
JavaScript的前世
在1995年,因为web市场开始展露头角,网景公司想立即抢占web市场。而早期的web页面只有单纯的浏览的功能,这并不足以打动我们的用户停留在页面。所以为了增加用户和页面之间的交流,网景公司开始决定使用一门语言来完成这个页面交互的工作。当时工程师们原本想从原有的语言中上手完成这个任务,但传统语言因为历史包袱太重,如果之间使用老语言环境,那么对于浏览器的负荷在当时的机器环境下是很占资源的,所以网景公司准备开发一门新的语言,嵌入到浏览器当中。这个任务就交给了就职于网景的工程师—Brendan Eich
Brendan Eich 1961
但估计这位大哥当时在接到这个任务的时候,就真的当做任务去完成了!一共10天的时间,就仓促完成了。并且这门语言更像是其他语言的结合体,没有任何创新的地方。他的设计思路:
C语言的基本语法
java的数据类型和内存管理
借鉴Scheme语言,将函数提升到“第一公民”的地位
Self语言,使用基于原型(prototype)的继承机制
估计大家除了C和Java,另外两门语言应该都没见过吧。当然它们都是随着时间的推移也确实逐渐退出一线市场了。尤其以self的原型继承机制,到现在也只有JavaScript这一门语言还在坚持着,其他的早已经石沉大海了。所以这也是为什么大部分人在学JS面向对象学的相当恶心的一个最主要的原因。
10天,不多不少刚刚好,这个哥们完成了任务,但估计连他都不知道。这门语言到今天会有这般影响力,否则绝对不会只花10天就完成了它。后来事实证明,它的缺点确实不少,这也是它为什么沉寂十几年之后才开始被程序员们所重视起来。
为什么是JavaScript
这么一门看似很“随便”就开发出来的语言,为什么到了现在这个时代几乎统治了整个web前端市场,同时连后台它都开始有野心去涉及了?
GitHut社交语言问卷调查排行
如果是在10年前我说JavaScript将来肯定能达到今天这个高度,那绝对是在吹牛,它的恶心程度我不在多说,这也就是为什么在前十几年之间根本没有多少人像重视java,PHP一样去重视这门语言,这也直接导致现在在大学连一个专业的JavaScript的老师都难以找到。至于为什么是JavaScript,这取决于3个点。
Netscape
第一个就是当你去了网景公司直接把JavaScript解释器直接嵌入浏览器,而且它也成为了浏览器端唯一的脚本语言。它就类似一个没有任何学历的人,在15年前在北京买了几套房,打算放弃人生开始当咸鱼,但是谁知道,阴差阳错的走到了人生巅峰。所以只能说这门语言的出现的正是时候,也找到了一个好的出生地。
HTML5
如果说这里有老前端或者web开发者,你经历HTML5之前的混沌时期,你以前会被IE和其他浏览器的兼容搞得焦头烂额。所以W3C组织在很早之前就想统一这个标准,但因为涉及到几家浏览器厂商得直接利益,所以这个标准的统一直到2014年才发布,他们为此努力了八年。
一旦标准制定,那么前端的作用开始重视,很多后台的功能放到了前端,并且前端的交互和体验开始无限放大。移动端市场以及PC的web市场开始爆炸增长,以前我们的web服务从单纯的PC终端到了现在的多终端,真正实现了给我一个浏览器,我们还原你的整个世界的愿望了。
Node.js
Node.js其实09年就开发出来了,在12年的时候中国就已经有人开始研究了,只不过这个技术基于JavaScript,所以它的发展还是比较受限制的。在2014H5颁布之后,ECMA(欧洲计算机制造联合会)为了迎接这一波JS的高潮,解决JS的一些晦涩难懂,冗余的语法,在2015年颁布了ECMAscript2015,也就是我们经常所说ES6。至此JavaScript也可以在后端发光发热了,而且因为它天生的异步支持,事件驱动,所以在处理高并发事务的时候可以说so easy。
JavaScript的未来
JavaScript在被开发者重视之后,那么它的未来会怎样去发展了。到目前为止,我们在学习完基础的JavaScript语法以及DOM+BOM之后,各大框架以及Node.js是我们使用这门语言的常用场所,不能说JavaScript会影响前端,应该说前端影响JavaScript的发展。而ECMA组织它们要做的仍然是如何让这门语言让我们的开发体验更加流畅,严谨,安全。而浏览器厂商需要为JavaScript的兼容问题提供解决方案,不然在浏览器端的影响力无法再提升一个维度了。
我们作为现代JavaScript工程师,我们要学习不仅仅只照顾到某一个端。前端,后端都要涉及,并且需要了解ES 3 5 6 7 8的各个特性以及关键的作用点。当然,一名成熟的开发者,对于算法,数据结构,设计模式等任何一门语言都要掌握的核心内容仍然是开发者的重点。
那么如何利用好JavaScript这个尚方宝剑,我们不仅仅只是学习它表层的语法,更多的是要深入语言本身,利用语言的特性将我们的业务表现更加完善。为了解决各位在学习JavaScript的时候一些困惑以及难点,我会在Full stack(全栈)的角度带你进入企业实战,直接渗入知识点,给大家详细讲解开发过程中一门语言对于项目的巨大影响,扫描下方二维码立即获得听课。
↓ ↓ ↓ ↓
加群更可获取企业级项目实战案例视频教程,听说光听群里的大牛解答就有好些人加薪了!!!
↓ ↓ ↓ ↓
关注公众号:拾黑(shiheibook)了解更多
[广告]赞助链接:
四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/
随时掌握互联网精彩
- 1 老百姓的事情是最重要的事情 7998495
- 2 多省否认花一万亿推平黄土高原 7930657
- 3 央视蛇年春晚分会场确定 7887801
- 4 数说2024中国经济脉动 7764500
- 5 13.2万瓶“特供酒”销毁 7641819
- 6 中国籍两兄弟在日本偷走3200颗包菜 7534546
- 7 近9000亿美元!拜登签了 7456245
- 8 网红羊毛月被禁止关注 7334607
- 9 充绒量仅3克 波司登客服回应 7284076
- 10 景区回应李现在虎跳峡举国旗 7165992