十天打造的編程語言,如何影響世界!!!

程序員之家2018-07-21 10:48:40

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(全棧)的角度帶你進入企業實戰,直接滲入知識點,給大家詳細講解開發過程中一門語言對於項目的巨大影響,掃描下方二維碼立即獲得聽課。

↓ ↓ ↓ ↓

加群更可獲取企業級項目實戰案例視頻教程,聽說光聽群裡的大牛解答就有好些人加薪了!!!

↓ ↓ ↓ ↓ 


閱讀原文

TAGS:



http://seo.vxiaotou.com