คอขวดที่ชื่อว่า V8 และ Node.js
เพื่อเข้าใจว่าทำไมเราต้องย้ายไป Native เราต้องเข้าใจข้อจำกัดของ Architecture ปัจจุบันก่อน
ปัจจุบัน tsc รันบน Node.js ซึ่งใช้ V8 Engine แม้ V8 จะเป็น JIT (Just-In-Time) Compiler ที่เร็วที่สุดในโลก แต่งานประเภท "Compiler" นั้นเป็นงานที่โหดหินและไม่ถูกโฉลกกับ JavaScript นัก ด้วยเหตุผล 3 ข้อ:
- Memory Overhead & Garbage Collection: การวิเคราะห์ Type ของโปรเจกต์ขนาดใหญ่ ต้องมีการสร้าง Object นับล้านชิ้น (AST Nodes, Symbols, Types) ใน Memory Node.js ต้องคอยหยุดทำงานเพื่อทำ Garbage Collection (GC) ซึ่งทำให้เกิดอาการ "กระตุก" หรือหยุดชะงักเป็นระยะ ยิ่งโปรเจกต์ใหญ่ GC ยิ่งทำงานหนัก
- Single-Threaded Limitations: JavaScript โดยธรรมชาติเป็น Single-threaded การจะกระจายงาน Type Checking ไปให้ CPU ทุก Core ช่วยกันทำนั้นยากมาก และมี Overhead ในการส่งข้อมูลข้าม Thread สูง
- JIT Warm-up: ทุกครั้งที่รัน
tscV8 ต้องเสียเวลาช่วงแรกในการ "Warm up" เพื่อ Optimize โค้ดที่รันบ่อยๆ (Hot Paths) ทำให้ Cold Start ช้ากว่า Native ที่ Compile มาเป็น Machine Code แล้ว
Project Corsa: การเดิมพันด้วย Native Core
Project Corsa หรือ TypeScript 7.0 คือความพยายามที่จะเขียน Compiler ใหม่ทั้งหมดด้วยภาษา Native (คาดการณ์ว่าเป็น Rust หรือ Go ซึ่งเป็นภาษาที่จัดการ Memory ได้แม่นยำและรองรับ Parallelism ได้ดีเยี่ยม)
สิ่งที่คาดว่าจะเกิดขึ้นคือ:
- Performance: เร็วขึ้น 10-50 เท่า (อ้างอิงจาก Benchmark ของ SWC ที่มาแทน Babel)
- Parallel Type Checking: สามารถใช้ CPU 16 Cores เช็ค Type พร้อมกันได้เต็มประสิทธิภาพ
- Low Memory Footprint: กินรมน้อยลงมหาศาล เพราะไม่ต้องแบก Runtime ของ Node.js

ดาบสองคม: ราคาที่ต้องจ่าย
แม้ความเร็วจะหอมหวาน แต่การทิ้ง "Self-hosting" (การใช้ภาษาตัวเองเขียนตัวแปลภาษาตัวเอง) มีราคาที่ต้องจ่ายแพงมากสำหรับ Ecosystem:
1. The "Black Box" Problem
เมื่อก่อน ถ้าเราเจอ Bug ใน tsc เราสามารถ Cmd+Click เข้าไปดู Source Code ใน node_modules แล้วทำความเข้าใจ หรือแม้แต่ Patch เองได้ เพราะมันเป็น TypeScript ที่เราเขียนกันอยู่ทุกวัน แต่ในเวอร์ชัน 7.0 ตัว Compiler จะกลายเป็น Binary File ที่อ่านไม่ออก การ Debug จะกลายเป็นเรื่องของ System Engineer ไม่ใช่ Web Developer อีกต่อไป
2. Plugin Ecosystem จะยากขึ้น
การเขียน Plugin เพื่อ Hook เข้าไปในกระบวนการ Compile อาจจะต้องเปลี่ยนไปใช้ WASM (WebAssembly) หรือต้องเขียนด้วย Rust/Go แทน ซึ่งเป็นการเพิ่มกำแพงความรู้ (Barrier to Entry) ให้กับชุมชนนักพัฒนา
อนาคตของ Web Tooling: ไม่มีที่ว่างสำหรับ JS?
ปรากฏการณ์นี้ตอกย้ำเทรนด์ที่ชัดเจนในปี 2025-2026 ว่า:
"JavaScript มีไว้สำหรับเขียน App ไม่ได้มีไว้สำหรับสร้าง Tool"
เราเห็นการเปลี่ยนแปลงนี้มาแล้ว:
- Webpack (JS) ➡️ Turbopack (Rust)
- Babel (JS) ➡️ SWC (Rust)
- Prettier/ESLint ➡️ Biome (Rust)
- และล่าสุด tsc (TS) ➡️ Native
บทสรุป: Developer ต้องปรับตัวอย่างไร?
การมาของ TypeScript 7.0 เป็นเรื่องที่น่าตื่นเต้นในแง่ Productivity งานเราจะเสร็จไวขึ้น รอคอมไพล์น้อยลง แต่ในฐานะ Software Engineer เราอาจต้องเริ่มถามตัวเองว่า:
"เราพอใจที่จะเป็นแค่ ผู้ใช้ (Consumer) เครื่องมือที่เร็วปานสายฟ้า หรือเราควรเริ่มศึกษาภาษาอย่าง Rust หรือ Go เพื่อที่จะยังคงเป็น ผู้สร้าง (Creator) ที่เข้าใจเครื่องมือที่ตัวเองใช้ได้อย่างถ่องแท้?"
ปี 2026 อาจจะเป็นปีที่เราต้องบอกลาเต่าตัวเก่า และกระโดดขึ้นจรวดลำใหม่... หวังว่าคุณจะรัดเข็มขัดแน่นพอนะครับ
ถ้าชอบบทความแนว Deep Tech แบบนี้ อย่าลืมกด Share และติดตามเพจ Sandwiched Developer ไว้นะครับ











