国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

技術選型之爭:看編程泰斗給 TypeScript-7 編譯器選型 Go 的淺顯思考與疑惑

開發 前端
微軟的項目沒有刻意選擇應用自己的技術,恰恰說明其決策之純粹,是只基于技術層面的考量。 這種獨屬于技術引領者的、釋然放松的狀態,我們恐怕無論在主觀上還是在客觀上,都需要很長時間才能體會到。

編程屆泰斗、流行編程語言 C# 和 TypeScript 主要設計者 Anders Hejlsberg 于 3 月 11 日在微軟技術博客上發布的文章[1]可謂是一石激起千層浪:“我們開源了已經完成得差不多的 TypeScript-7 的代碼...不再使用 TypeScript 實現,而是將其遷移到了 go 語言...性能比現有 tsc 快了 10 倍,無論是編譯還是在 Language Server Protocol (LSP)上”。

基于編程經驗以及對技術社區的關注,在我的認知里,這個消息無疑是令人震驚的,在 Hacker News comments[2]Github disscussion[3] 上的激烈討論也印證了我的觀點。

我的第一反應是:為什么不用 Rust ?

  • Rust 幾乎已經全面“侵入” TypeScript 和前端生態鏈,比如編譯 TS 的 SWC 、 Oxc ,打包工具 Rolldown 、 Turbopack ,代碼檢查工具 RSLint 、 deno_lint
  • 很巧的是,就在這個新聞出現前一天 3 月 10 日,我剛剛在茶余飯后聽了尤雨溪最新演講[4]

2025 尤雨溪最新演講:圍繞 Vite 的前端統一工具鏈2025 尤雨溪最新演講:圍繞 Vite 的前端統一工具鏈

結合我平時刷的前端帖子,仿佛一切都預示著:所有基于 JS/TS 實現的相對底層的工具,都將遷移到 Rust 實現...

但是當我看完 A 10x faster TypeScript 這個 13 分鐘的視頻,才發現選擇 Go ,而不是 Rust 或 C# 的理由是十分充分的。

我這個年代的程序員(23年畢業時, Go 生態已經相對成熟,已經被廣泛用于生產環境)在學習工作中已經有大量機會接觸到 Go :

  • MIT6.824 麻省理工的分布式系統公開課,作業和課程設計是基于 Go 語言的
  • 在云原生時代,你不可能接觸不到 k8s ,而實現一些 hook ,要會用 Go 語言
  • 相比 Java , Go 的設計更加簡單、直接、底層——

Go 天生為服務端并發而服務,創建管理有棧協程 goroutine 極其方便

Go 的設計十分謹慎,不希望給程序員留出太多自我發揮的空間,從而嚴格控制了代碼質量:強類型、用大小寫規定變量私有公有屬性、 lint 不對就不許通過編譯 etc.

Go 拋棄了 OOP 面向對象編程,鼓勵使用 interface

Go 甚至只允許在函數中返回 err 拋棄了 try catch 機制

Go 甚至直接用 Git 倉庫管理依賴

Go 中可以直接訪問指針,某種意義上講可以把 Go 理解為有語法糖的 C 語言,但同時 Go 是有 GC 垃圾回收機制的

Go 可以直接打包 runtime ,把自己編譯成一個很小的可執行文件,并不需要管理生產環境運行時

上述特點也包含了 TypeScript 官方團隊選擇 Go 關鍵因素:

  1. 他們需要程序很快, Go 天生并發
  2. 他們需要 TypeScript 兼容各個平臺, Go 作為一個實現了 docker 這種 IoT 物聯網行業都廣泛應用的工具的語言,其兼容性已經得到證明
  3. 他們需要有 GC 垃圾回收機制的語言(這點后面會展開解釋)

說到這里,肯定有人會問為什么不用同樣速度快、且更加底層并且和 TypeScript 生態耦合緊密的 Rust 呢?

因為 TypeScript 決定“移植”項目,而非“重構”項目。

如視頻中的一個截圖,已經可以很明顯地看出原因:

go 和 ts 的代碼幾乎一樣...go 和 ts 的代碼幾乎一樣...

TypeScript 編譯器同一個函數邏輯,上圖左邊是 Go 實現,右邊是 TypeScript 實現,你可以發現,他們幾乎長得一樣...這也為 TypeScript-go 的開發工作減輕了極多的負擔。

如果使用 Rust ,考慮到 Rust 的設計哲學,則不得不進行重構。

實際上,在我翻之前收藏的知乎帖子時,才發現基于 Rust 實現 swc 工具的作者,前些日子也宣布了決定從 Rust 轉向 Go 。

https://www.zhihu.com/question/513453040/answer/2393678735https://www.zhihu.com/question/513453040/answer/2393678735

這其中的核心論點都是:并不是 Rust 不好,而是 Go 很方便。

另一個觀點是,為什么不用 C# 呢?要知道 TypeScript 和 C# 都是微軟設計并主導發展的技術,而 Go 則是對家 Google 的產品。尤其是 Anders Hejlsberg 還有 “TypeScript 和 C# 之父”的美名,“親爹”都不喜歡“親兒子”了嗎?

這里我總結一些觀點:

  1. C# 和 Java / Python 類似,需要先轉為字節碼,運行在運行時上
  2. 但是 C# 也可以 Native AOT 作為二進制執行呀?很簡單,正是由于 C# 什么都能做,導致其 Native AOT 并不如 Go 那般久經沙場考驗,這里還可以搬出 docker 的例子...
  3. C# 主打 OOP 風格,與 TypeScript 項目本身的設計不一致,還是那句話:要移植而非重構

此外, Hejlsberg 老人家已經很久沒有管理過 C# 的發展了——現在的 C# 可以說和 C++ 一樣都是編程語言中的龐然巨獸,怪物般的存在。你可以用他們寫出風格特異甚至詭異的代碼。但是這本身是一柄雙刃劍,太強大以至于難以駕馭。

https://zhuanlan.zhihu.com/p/368304027https://zhuanlan.zhihu.com/p/368304027

上述文章惡意并不強(并不是抨擊 Go ,而是抨擊無腦吹捧的風氣),其實可以說明 C# 在性能實現層面是高于 Go 的——但是 Go 的性能可能差一點點,而上手開發以及維護難度好了很多。

微軟的項目沒有刻意選擇應用自己的技術,恰恰說明其決策之純粹,是只基于技術層面的考量。 這種獨屬于技術引領者的、釋然放松的狀態,我們恐怕無論在主觀上還是在客觀上,都需要很長時間才能體會到。

所以從這里,我們可以總結出哪些經驗?

  1. 開發成本是最需要考量的因素,這其中包括但不限于:技術選型的難度、開發路線是否曲折、生態是否良好、是否已經被實際證明可用、是否好找到幫手
  2. 遠離編程語言飯圈,沒有一門語言值得被神化,客觀看待網絡觀點

同時,我也有一個小小疑問:Go 的 err 和類型系統在我看來是十分簡陋的,它能適配有“類型體操藝術家”之名的 TypeScript 嗎?答案一定就在整個 Repo 里。

參考資料

[1]在微軟技術博客上發布的文章: https://devblogs.microsoft.com/TypeScript/TypeScript-native-port/

[2]Hacker News comments: https://news.ycombinator.com/item?id=43332830

[3]Github disscussion: https://github.com/microsoft/TypeScript-go/discussions/411

[4]尤雨溪最新演講: https://www.bilibili.com/video/BV1WERGYDEix

責任編輯:武曉燕 來源: Piper蛋窩
相關推薦

2016-10-21 15:58:51

容器容器技術Docker

2022-06-08 13:25:51

數據

2013-09-04 14:55:01

Web AppNative App技術

2023-04-11 08:02:26

單測技術JUnit框架

2023-09-15 14:37:55

2024-07-25 08:52:13

2022-09-22 09:54:56

技術選型

2020-10-13 18:25:33

技術流程云計算

2020-06-17 15:44:47

技術研發架構

2023-11-13 08:37:33

消息中間件分布式架構

2020-09-27 14:55:27

程序員技能開發者

2020-02-24 20:45:33

控制器技術選型技巧

2016-11-15 14:18:09

神策分析大數據數據分析

2013-12-30 11:21:31

Go編譯器

2013-10-28 13:48:10

技術選型

2012-02-13 16:00:35

內網安全技術選型安全產品

2022-08-19 14:06:56

前端架構技術

2023-11-03 09:05:53

2021-01-18 05:20:52

數倉hive架構

2016-12-22 13:32:04

服務化框架JSF解密
點贊
收藏

51CTO技術棧公眾號

热门国产精品亚洲第一区在线| 日韩精品欧美专区| 桃色av一区二区| 亚洲成人免费影院| 国产在线拍揄自揄拍无码| 亚洲国内自拍| 成人网在线免费观看| 成人av影音| 中文字幕欧美在线| 三级资源在线| 欧美一区二区三区不卡| 亚洲成人福利| 五月综合激情日本mⅴ| 国产一二三视频| 国产精品美女久久久久aⅴ| 国产欧美在线一区| 成人av在线影院| 91麻豆天美传媒在线| 久久精品理论片| 亚洲精品国产精品国自产观看 | 蜜桃视频成人m3u8| 亚洲精品一区中文| 毛片在线导航| 日韩免费高清视频| 岛国中文字幕在线| 日韩免费在线观看| 国产高清在线a视频大全 | 最新中文字幕在线视频| 亚洲一区二区三区不卡国产欧美| 天堂在线看视频| 日韩欧美综合在线视频| 国内在线免费高清视频| 欧美中文字幕一区| 欧美日韩一区二区三区不卡 | 国产东北露脸精品视频| 日本精品二区| 天堂av在线一区| 亚洲人成网站在线播放2019| 青青草97国产精品免费观看 | 一级中文字幕一区二区| 天堂在线看视频| 亚洲福利视频导航| 久久精品蜜桃| 欧美zozozo| 亚洲成人av观看| 久久99精品久久久久久青青91| 国产66精品| 国产欧美精品日韩精品| 狠狠干成人综合网| 日本一区二区视频| 国产精品一区不卡| 丰满少妇在线观看| 亚洲妇熟xx妇色黄| 日本在线播放| 日韩精品一区二区三区第95| 国语自产精品视频在线看抢先版结局 | 美国av一区二区三区| 精品午夜久久福利影院| 国产免费成人在线| 五月天欧美精品| 欧美寡妇性猛交xxx免费| 中文字幕欧美日韩va免费视频| 风间由美性色一区二区三区四区| 欧美一级大片视频| 欧美一区精品| 中文字幕日韩精品一区二区| 国产亚洲1区2区3区| 久久米奇亚洲| 国产午夜精品视频| heyzo久久| 一级二级三级欧美| 国产精品传媒在线| 在线免费观看的av| 高清欧美性猛交xxxx黑人猛交| 久久久久蜜桃| 国产在线播放观看| 福利视频第一区| 蜜桃成人精品| 91免费版黄色| 久久久亚洲高清| 黄网站app在线观看| 久久久亚洲欧洲日产国码aⅴ| 国产精品久久久久久模特| 欧美一级黄色片视频| 欧美年轻男男videosbes| 都市激情亚洲欧美| 91香蕉视频网址| 偷拍一区二区三区| 五月亚洲婷婷| 日韩精品极品视频在线观看免费| 自拍偷拍国产亚洲| 婷婷激情一区| 精品产品国产在线不卡| 综合久久给合久久狠狠狠97色| 黄网av在线| 亚洲一区二区免费在线| 欧美经典三级视频一区二区三区| 日本一本在线免费福利| 91精品国产综合久久香蕉最新版| av网站免费线看精品| caopo在线| 国产欧美日韩精品专区| 久久久久久日产精品| 2019中文字幕在线电影免费 | 国产成人成网站在线播放青青 | 欧美日韩精品在线播放| 亚洲欧洲国产精品一区| 亚洲资源在线网| 91豆麻精品91久久久久久| 欧美大胆视频| 人妻精品无码一区二区三区| 亚洲精品720p| 免费在线播放第一区高清av| 日韩资源在线| 国产精品久久久久影院日本| 中文在线一区二区| 久久丁香四色| 国产深夜男女无套内射| 亚洲午夜未删减在线观看 | 欧美高清一级片在线| 国产精品毛片视频| 视频一区视频二区视频三区高| 国产精品美女一区二区| 成人在线黄色电影| 3d蒂法精品啪啪一区二区免费| 国产婷婷精品av在线| 精品欧美色视频网站在线观看| 91精品久久久久| 中国色在线观看另类| 国产精品videossex撒尿| 欧美精品免费观看二区| 亚洲一区二区精品视频| 日韩在线视频一区二区三区| 亚洲第一精品区| 欧美群妇大交群的观看方式| jvid福利在线一区二区| 九九热在线免费| 久久久视频精品| 91女厕偷拍女厕偷拍高清| 午夜裸体女人视频网站在线观看| 国产激情一区二区三区在线观看| 国产亚洲污的网站| 欧美大片网站| 日韩欧美在线免费观看视频| 精品国产一区二区三区四区在线观看 | 欧美1区2区| videoxxxx另类日本极品| 亚洲人线精品午夜| 日本vs亚洲vs韩国一区三区二区| www在线免费观看| 91九色露脸| 婷婷中文字幕综合| 欧美一区三区| av黄色在线观看| 99国产在线视频| 在线观看日韩一区| 亚洲国内欧美| 日p在线观看| 婷婷视频在线播放| 亚洲色图日韩av| 99久久婷婷国产| 亚洲精品第一| 狠狠热免费视频| 国产欧美精品日韩精品| 福利一区福利二区微拍刺激| 国产精品不卡| 98在线视频| 日韩高清专区| 久久国产精品久久久| 亚洲国产精品黑人久久久| 加勒比视频一区| 91大神影片| 1卡2卡3卡精品视频| 日韩精品在线免费| 99国产精品久久| 精品国产18久久久久久洗澡| 国产无遮挡又黄又爽免费网站| 国产精品日韩在线| 日韩欧美亚洲国产另类| 国产河南妇女毛片精品久久久 | 日韩中文综合网| 亚洲国产精品成人综合| 亚洲激情77| 久久电影中文字幕| 国产综合动作在线观看| 色悠悠国产精品| 亚洲激情图片小说视频| 你懂的成人av| 999福利在线视频| 明星乱亚洲合成图.com| 亚洲wwwav| 亚洲精品一二区| 洋洋av久久久久久久一区| 亚洲日本欧美| 欧美不卡高清一区二区三区| 中文av一区二区三区| 亚洲xxxx18| 成年人精品视频| 在线观看欧美黄色| 9i在线看片成人免费|