微信号:programmer_club

介绍:程序员第一自媒体,与你探讨码农人生路上遇到的各类泛技术话题,定期为你推荐码农人生思考、感悟以及启迪!

十天打造的编程语言,如何影响世界!!!

2018-07-18 08:30 程序员之家

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(全栈)的角度带你进入企业实战,直接渗入知识点,给大家详细讲解开发过程中一门语言对于项目的巨大影响,扫描下方二维码立即获得听课。

↓ ↓ ↓ ↓

加群更可获取企业级项目实战案例视频教程,听说光听群里的大牛解答就有好些人加薪了!!!

↓ ↓ ↓ ↓ 


 
程序员之家 更多文章 匿名爆料,头条员工被强制离职! 程序员用代码求救, 同事“秒懂” 程序员什么时候该考虑辞职? 年薪50万的AI和年薪80万的区块链,哪一个更适合你? 从架构理解价值-我的软件世界观
猜您喜欢 AI科技评论专访Yann LeCun: 关于深度学习未来的14个问题 以貌取人,分分钟让你错过几个亿 The Delicious Evils of PHP LIVE:数据分析可视化--让R的可视化更炫酷 没有干货,只有吃货 [上]