📌 10å€æé€Ÿï¼ç¼–程è¯è¨€å²ä¸Šæœ€å¼ºå‡çº§ï¼TypeScript为何选择用Goé‡å†™ã€è®©ç¼–ç¨‹å†æ¬¡ä¼Ÿå¤§#33】 - YouTube
Original URL: https://youtu.be/qLLFOCOVrew
📌 10å€æé€Ÿï¼ç¼–程è¯è¨€å²ä¸Šæœ€å¼ºå‡çº§ï¼TypeScript为何选择用Goé‡å†™ã€è®©ç¼–ç¨‹å†æ¬¡ä¼Ÿå¤§#33】 - YouTube
ã€å®¹æ˜“懂 Easy Know】
å¾®è»ŸæŠŠé–‹ç™¼è€…å¯«ç¨‹å¼æ™‚用的TypeScripté€™å€‹å·¥å…·ï¼Œå¾žæœ¬ä¾†çš„èªžè¨€æ›æˆäº†ä¸€ç¨®å«Go的新語言。想åƒä¸€ä¸‹ï¼Œé€™å°±åƒæ˜¯æŠŠ Ñортинг Lego bricks çš„æ©Ÿå™¨å¾žæ…¢çš„æ›æˆè¶…快的。它讓開發者把寫好的程å¼ç¢¼è®Šæˆé›»è…¦æ‡‚的速度快了10å€ï¼ˆé€™ä¸æ˜¯èªªå¯«å¥½çš„程å¼è·‘得更快,而是轉æ›éŽç¨‹æ›´å¿«ï¼‰ã€‚這讓寫程å¼çš„人å¯ä»¥æ›´å¿«å®Œæˆå·¥ä½œï¼Œä¸ç”¨ç‰å¤ªä¹…。他們é¸Go䏿˜¯éš¨ä¾¿çš„ï¼Œæ˜¯å› ç‚ºGo處ç†ç¨‹å¼ç¢¼çš„æ–¹å¼è·ŸTypeScript原本的很åƒï¼Œå®¹æ˜“「æ¬å®¶ã€ã€‚雖然大家會好奇為什麼ä¸ç”¨åˆ¥çš„èªžè¨€ï¼Œä½†ä¸»è¦æ˜¯å› 為Go最é©åˆé€™ç¨®ã€Œæ¬å®¶ã€çš„æ–¹å¼ï¼Œè€Œä¸”Go在處ç†å¾ˆå¤šäº‹æƒ…ï¼ˆåƒæ•´ç†è¨˜æ†¶é«”ï¼‰ä¹Ÿæ¯”è¼ƒå¿«ï¼Œé‚„å–„æ–¼åˆ©ç”¨å¤šå€‹é›»è…¦æ ¸å¿ƒï¼Œæœªä¾†ç”šè‡³å¯èƒ½å¹«åŠ©AIå¯«ç¨‹å¼æ›´åŽ²å®³ã€‚
----
ã€ç¸½çµ Overall Summary】
微軟宣布將整個TypeScriptç·¨è¯å™¨ä»¥Go語言é‡å¯«ï¼Œå¯¦ç¾ç·¨è¯æ™‚é–“æå‡10å€çš„é‡å¤§çªç ´ã€‚é€™é …æ”¹å‹•æ˜¯ç¨‹å¼èªžè¨€å‡ç´šå²ä¸Šè¦æ¨¡èˆ‡æ•ˆæžœå…¼å…·çš„里程碑。需è¦é‡æ¸…的是,æé€Ÿçš„æ˜¯ç¨‹å¼ç¢¼ç·¨è¯éšŽæ®µï¼ŒéžåŸ·è¡ŒéšŽæ®µï¼Œå› 最終é‹è¡Œä»ä¾è³´JavaScript引擎。然而,å°é–‹ç™¼è€…而言,編è¯åŠ é€Ÿé¡¯è‘—æå‡é–‹ç™¼æ•ˆçŽ‡ï¼Œæ˜¯å€¼å¾—æ…¶è³€çš„å¤§äº‹ã€‚æ¤äº‹ä»¶ä¸æœ€å—é—œæ³¨çš„ç„¦é»žï¼Œä¸¦éžæŠ€è¡“ç´°ç¯€ï¼Œè€Œæ˜¯å¾®è»Ÿç‚ºä½•é¸æ“‡Google開發的Goï¼Œè€Œéžæ›´ç†±é–€çš„Rust或自家C#ç‰èªžè¨€ã€‚影片深入分æžäº†é€™é …決ç–背後的技術é¸åž‹èˆ‡å°ˆæ¡ˆç®¡ç†è€ƒé‡ã€‚æ ¹æ“šTypeScript創始人Anders Hejlsberg的說法,專案首è¦ç›®æ¨™æ˜¯ã€ŒåŽŸç”Ÿç§»æ¤ã€ï¼ˆNative Port),å³å°‡ç¾æœ‰JavaScript程å¼ç¢¼ä»¥ä¸€å°ä¸€æ–¹å¼ç¿»è¯æˆæ–°èªžè¨€ï¼Œè€Œéžå¾žé›¶é–‹å§‹ã€Œé‡å¯«ã€ï¼ˆRewrite)。原生移æ¤å¯æœ€å¤§ç¨‹åº¦ä¿ç•™åŽŸæž¶æ§‹èˆ‡é‚輯,確ä¿é«˜åº¦ç›¸å®¹æ€§åŠé–‹ç™¼æ•ˆçŽ‡ã€‚åœ¨æ¤å‰æä¸‹ï¼ŒGoèªžè¨€å› å…¶åžƒåœ¾å›žæ”¶ï¼ˆGC)機制(mark and sweep,支æ´å¤šåŸ·è¡Œç·’)與JavaScript高度相似,能輕鬆處ç†å¦‚å¾ªç’°è³‡æ–™çµæ§‹ç‰è¤‡é›œæƒ…æ³ï¼Œå¯¦ç¾åŠŸèƒ½ä¸Šçš„å®Œç¾Žå°æ‡‰ã€‚相較之下,Rustç¨ç‰¹çš„Ownershipå’ŒLifetimeå…§å˜ç®¡ç†æ©Ÿåˆ¶èˆ‡JavaScript差異巨大,無法進行一å°ä¸€ç§»æ¤ï¼Œæ•…被排除。C#ç‰OOPèªžè¨€å› èˆ‡TypeScriptå¤§é‡æŽ¡ç”¨çš„å‡½æ•¸å¼ç¨‹å¼è¨è¨ˆï¼ˆFPï¼‰é¢¨æ ¼ä¸ç¬¦ï¼Œä¹Ÿé›£ä»¥é€²è¡Œç›´æŽ¥ç§»æ¤ã€‚Goèªžè¨€å› å…¶ä½œç‚ºç·¨è¯èªžè¨€çš„原生速度優勢(比解釋型快3å€ï¼‰ä»¥åŠé ˜å…ˆçš„å¤šåŸ·è¡Œç·’ä½µç™¼èƒ½åŠ›ï¼ˆèƒ½å……åˆ†åˆ©ç”¨å¤šæ ¸CPU,ç†è«–最高æé€Ÿå¯é”100å€ï¼‰ï¼Œèƒ½ç‚ºTypeScript的類型檢查ç‰è¨ˆç®—密集型任務æä¾›å¼·å¤§ç®—力支æ’。除了æå‡ç•¶å‰é–‹ç™¼é«”é©—ï¼Œé€™é …æ€§èƒ½çªç ´æ›´å¯èƒ½æˆç‚ºAI輔助開發的新契機,讓AI峿™‚ç²å–è±å¯Œçš„程å¼ç¢¼ä¸Šä¸‹æ–‡è³‡è¨Šï¼Œæå‡è¼”助功能的智能化水平。æ¤å¤–,TypeScript從自舉語言轉為由外部語言é‡å¯«æ ¸å¿ƒï¼Œä¹Ÿæ˜¯å…¶ç¨ç‰¹ä¹‹è™•ã€‚é€™é …å‡ç´šä¸åƒ…是技術的飛èºï¼Œä¹Ÿå±•ç¾äº†åŸºæ–¼å¯¦éš›éœ€æ±‚進行技術é¸åž‹çš„務實ç–略。
----
ã€è§€é»ž Viewpoints】
鏿“‡Go而éžRust或C#çš„æ ¸å¿ƒåŽŸå› æ˜¯å°ˆæ¡ˆç›®æ¨™ç‚ºã€ŒåŽŸç”Ÿç§»æ¤ã€ï¼Œè¿½æ±‚高度相容性與一å°ä¸€ç¿»è¯ã€‚
Go語言的垃圾回收機制與JavaScript相似,能良好處ç†è¤‡é›œè³‡æ–™çµæ§‹ï¼Œé©åˆç›´æŽ¥ç§»æ¤ï¼Œè€ŒRust的內å˜ç®¡ç†æ©Ÿåˆ¶èˆ‡æ¤ä¸ç¬¦ã€‚
TypeScriptåŽŸå§‹ç¢¼å¤§é‡æŽ¡ç”¨å‡½æ•¸å¼ç¨‹å¼è¨è¨ˆï¼ˆFPï¼‰é¢¨æ ¼ï¼ŒGo在移æ¤FPé¢¨æ ¼ç¨‹å¼ç¢¼ä¸Šæ¯”C#ç‰OOP語言更具優勢。
作為編è¯èªžè¨€ï¼ŒGoæœ¬èº«å³æ¯”解釋型語言JavaScript具備更快的原生執行速度(約3å€ï¼‰ã€‚
Go強大的多執行緒能力能充分利用ç¾ä»£å¤šæ ¸CPUï¼Œé¡¯è‘—åŠ é€ŸTypeScript的類型檢查ç‰å¯†é›†è¨ˆç®—éŽç¨‹ï¼ˆç†è«–最高æé€Ÿå¯é”100å€ï¼‰ã€‚
ç·¨è¯é€Ÿåº¦çš„大幅æå‡ï¼ˆç†è«–上å¯é”100å€ï¼‰å¯èƒ½é©æ–°AI輔助開發,讓AI峿™‚ç²å–更深入的程å¼ç¢¼çµæ§‹è³‡è¨Šã€‚
æœ€çµ‚é¸æ“‡Go是基於語言æˆç†Ÿåº¦ã€ç·¨è¯ç‰¹æ€§ã€èˆ‡TypeScriptåŽŸå§‹ç¢¼é¢¨æ ¼åŠæ ¸å¿ƒæ©Ÿåˆ¶çš„ç›¸å®¹æ€§ç‰æ¢ä»¶é€²è¡ŒæŽ’é™¤å¾Œçš„çµæžœã€‚
----
ã€æ‘˜è¦ Abstract】
✅ 微軟以Go語言é‡å¯«TypeScriptæ ¸å¿ƒï¼Œå¯¦ç¾10å€ç·¨è¯é€Ÿåº¦æå‡ã€‚
âš ï¸ æé€Ÿé‡å°çš„æ˜¯ã€Œç·¨è¯æ™‚é–“ã€ï¼Œéžç¨‹å¼ç¢¼ã€Œé‹è¡Œæ™‚é–“ã€ã€‚
📌 這被èªç‚ºæ˜¯ç¨‹å¼èªžè¨€å²ä¸Šä¸€æ¬¡æœ€å¼·çš„å‡ç´šã€‚
✅ 鏿“‡Goæ˜¯å› å…¶æœ€é©åˆå°‡ç¾æœ‰JavaScript程å¼ç¢¼é€²è¡Œã€ŒåŽŸç”Ÿç§»æ¤ã€ã€‚
🚫 Rust的內å˜ç®¡ç†èˆ‡C#çš„OOPé¢¨æ ¼ä¸ç¬¦åˆä¸€å°ä¸€ç§»æ¤éœ€æ±‚。
🚀 Goçš„å¤šåŸ·è¡Œç·’èƒ½åŠ›èƒ½æ¥µå¤§åŠ é€Ÿé¡žåž‹æª¢æŸ¥ç‰CPU密集型任務。
💡 ç·¨è¯åŠ é€Ÿèƒ½é¡¯è‘—æå‡é–‹ç™¼æ•ˆçŽ‡ä¸¦æ¸›å°‘ç‰å¾…。
🤖 性能æå‡æœ‰æœ›ç‚ºAI輔助開發æä¾›æ›´è±å¯Œå³æ™‚的程å¼ç¢¼ä¸Šä¸‹æ–‡ã€‚
✨ TypeScript從自舉轉為由外部語言é‡å¯«æ ¸å¿ƒï¼Œæ˜¯å…¶ç¨ç‰¹ä¹‹è™•。
----
ã€FAQ 測驗】
1. 微軟以Goé‡å¯«TypeScript,實ç¾10å€é€Ÿåº¦æå‡çš„æ˜¯å“ªä¸€éƒ¨åˆ†ï¼Ÿ
A. 程å¼ç¢¼é‹è¡Œé€Ÿåº¦ (Runtime speed)
B. 程å¼ç¢¼ç·¨è¯é€Ÿåº¦ (Compilation speed)
C. 開發環境啟動速度 (IDE startup speed)
D. 套件安è£é€Ÿåº¦ (Package installation speed)
æ£ç¢ºç”案:B. å½±ç‰‡ä¸æ˜Žç¢ºèªªæ˜Žæ˜¯ç·¨è¯æ™‚é–“æé€Ÿï¼Œéžé‹è¡Œæ™‚間。
2. æ ¹æ“šå½±ç‰‡å…§å®¹ï¼Œå¾®è»Ÿé¸æ“‡Go語言é‡å¯«TypeScriptæ ¸å¿ƒçš„ä¸»è¦è€ƒé‡æ˜¯ä»€éº¼ï¼Ÿ
A. Go語言比Rust或C#æ›´å—開發者æ¡è¿Žã€‚
B. Go語言的語法與TypeScript的JavaScript語法最相似。
C. Go語言的特性(如GC機制)最é©åˆå°‡ç¾æœ‰TypeScript程å¼ç¢¼é€²è¡Œã€ŒåŽŸç”Ÿç§»æ¤ã€ã€‚
D. Go語言是微軟內部更熟悉的語言。
æ£ç¢ºç”案:C. å½±ç‰‡å¼·èª¿é¸æ“‡Goæ˜¯å› ç‚ºå…¶èˆ‡JavaScript相似的GC機制åŠå°FPé¢¨æ ¼çš„å…¼å®¹æ€§ï¼Œæœ€ç¬¦åˆä¸€å°ä¸€åŽŸç”Ÿç§»æ¤çš„需求。
3. 除了作為編è¯èªžè¨€çš„原生速度外,Goèªžè¨€å“ªä¸€é …é‡è¦ç‰¹æ€§è¢«æåŠèƒ½è®“TypeScriptåœ¨å¤šæ ¸CPU上ç²å¾—顯著的性能æå‡ï¼Ÿ
A. 強大的函å¼åº«ç”Ÿæ…‹ç³»
B. 優秀的單執行緒性能
C. å…§å»ºçš„è‡ªå‹•æ ¼å¼åŒ–工具
D. é ˜å…ˆçš„å¤šåŸ·è¡Œç·’ä½µç™¼èƒ½åŠ›
æ£ç¢ºç”案:D. 影片特別指出Goçš„å¤šåŸ·è¡Œç·’ä½µç™¼èƒ½åŠ›æ˜¯åˆ©ç”¨å¤šæ ¸CPUå¯¦ç¾æ›´é«˜å€æ•¸æé€Ÿçš„é—œéµã€‚
✡ Oliå°æ¿ƒç¸® Summary bot 為您濃縮é‡é»ž ✡
â–¶ https://youtu.be/qLLFOCOVrew
Comments ()