<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          TypeScript之父:JS不是競爭對手?

          共 2290字,需瀏覽 5分鐘

           ·

          2021-04-13 15:17

          轉自:OSC開源社區(qū)


          TypeScript 4.0 已于上月正式發(fā)布。近日,外媒 ZDnet 則對 TypeScript 之父安德斯·海爾斯伯格(Anders Hejlsberg)進行了一則專門訪談,就 TypeScript 的發(fā)展歷程進行了分享。


          圖片:Microsoft/YouTube

          首先,Hejlsberg 提到了在 TypeScript 發(fā)展初期時微軟內部對開源的態(tài)度。眾所周知,微軟的前首席執(zhí)行官史蒂夫·鮑爾默(Steve Ballmer)曾公開的表達過 “Linux 是一種癌癥”言論。他認為,Linux 威脅著微軟的所有知識產權。而 Hejlsberg 則持不同意見,他認為 Linux 并不是 Windows 的威脅,“事實證明,它恰恰相反。”

          Hejlsberg 稱,早在 2010 年微軟還在 Ballmer 的帶領下時,他的團隊就認為,開源戰(zhàn)略是贏得 JavaScript 開發(fā)者的唯一途徑。不過當時的他知道,想要在微軟的總部將 TypeScript 作為一個開源項目推行,將會是很困難的一件事。

          Hejlsberg 透露,一開始 TypeScript 其實只是一個簡單的想法,一個想看看他們是否可以做得比 JavaScript 更好一點的想法。"我們建立了一些原型,并把它扔在了一起。但當時我們真的很清楚,我們吸引 JavaScript 社區(qū)的唯一方法就是開源。不過在當時的微軟,這無疑是一個很破格的想法" 。

          彼時的微軟在 Ballmer 的領導下對開源持有一個"非常矛盾"且"害怕"的態(tài)度,Hejlsberg 的 TypeScript 團隊也不可避免地在微軟內部收到了抵制。"我們有點知道這是我們必須要做的事情,但我們沒有做的經驗。"

          好在現如今,隨著 TypeScript 項目日益成熟、微軟開始大力擁抱開源,Hejlsberg 的 TypeScript 團隊也終于不用再像之前一樣如履薄冰了。

          為什么要創(chuàng)建 TypeScript

          TypeScript 孵化在一個有意思的階段。彼時的谷歌 Chrome 瀏覽器,憑借其對 Web 標準的關注和一個名為 V8 的強大 JavaScript 引擎,已經成為了瀏覽器大戰(zhàn)中的贏家。

          Hejlsberg 回憶稱,谷歌打造了一個非常高效的 JavaScript 引擎,JavaScript 的效率也大幅提升。每個人都開始意識到,瀏覽器將成為構建真正應用的地方。他說,當時的開發(fā)人員已經開始為瀏覽器構建龐大的 JavaScript 應用,并努力用 JavaScript 編寫這些應用。

          不過 Hejlsberg 認為,這種語言缺乏 modules、classes 等關鍵功能;重要的是,還缺乏在程序中通過規(guī)則創(chuàng)建秩序的 type system。而 TypeScript 的開發(fā)目的就是為了解決這些問題,為 JavaScript 構建更好的工具。此舉的關鍵在于,要在語言中添加一個 type system,而不對 JavaScript 最受用戶喜歡的那一部分內容造成影響。

          于是,Hejlsberg 和他的團隊決定建立一個 "erasable type system",這個組件則使得 TypeScript 成為了 JavaScript 的超集。在編譯時,TypeScript 會刪除所有的 types 并將其返回給 JavaScript。

          Hejlsberg 解釋說,從某種意義上說,它是一個 type system,只存在于開發(fā)者體驗期間,但在運行時它就消失了。不過在運行時,它能給你帶來的只有好處,沒有任何缺點。

          TypeScript 的主要競爭對手是什么? 

          Hejlsberg 稱,TypeScript 的唯一真正競爭對手是 JavaScript。因為這兩種語言都是運行前端應用程序的必備語言,而 WebAssembly 卻模糊了本機應用程序和瀏覽器應用程序之間的界限。

          不過他也表示,JavaScript 并不是真正的競爭對手,“它是我們的孿生兄弟或另一個自我” 。由于 TypeScript 是 JavaScript 的超集,所以用戶也可以將 JavaScript 視為 TypeScript 的子集。這意味著整個 TypeScript 工具鏈非常樂于處理 JavaScript 并在 JavaScript 之上提供所有服務。

          Hejlsberg 認為,從某種意義上說,JavaScript 就像沒有類型注解的 TypeScript。所以一種流行的使用 JavaScript 的方式是,人們不會直接在你的源代碼中使用類型注解,而是將類型注解放在注釋中(js.doc 注釋),編譯器則可以從這些注釋中獲得很多信息。

          因此,在過去的幾年中,Hejlsberg 和他的團隊則一直在增強對 js.doc 注釋的支持,從而增強了直接使用 JavaScript 的能力。




          瀏覽 34
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  天天曰天天干天天射Av | 懂色av无码任你操久久久久蜜桃av | 精品av国产日韩一区二区 | 自拍偷拍三区 | 丰满老妇高潮一级A片免费看 |