Microsoft telah mengumumkan bahwa mereka sedang mengembangkan ulang compiler TypeScript menggunakan bahasa pemrograman Go.
Langkah ini bertujuan untuk meningkatkan performa kompilasi TypeScript secara signifikan, dengan klaim peningkatan kecepatan hingga 10 kali lipat dibandingkan dengan implementasi sebelumnya yang berbasis Node.js.
Mengapa Microsoft Memilih Go?
Meskipun Microsoft memiliki bahasa pemrograman sendiri seperti C#, keputusan untuk menggunakan Go didasarkan pada beberapa pertimbangan teknis:
- Performa Tinggi: Go dikenal memiliki performa kompilasi yang cepat dan efisien dalam penggunaan memori.
- Distribusi Mudah: Go menghasilkan binary statis yang dapat dijalankan tanpa dependensi tambahan, memudahkan distribusi dan deployment.
- Concurrency: Model concurrency Go memungkinkan pengelolaan tugas paralel dengan efisien, yang berguna dalam proses kompilasi proyek besar.
Anders Hejlsberg, arsitek utama TypeScript, menyatakan bahwa implementasi native ini akan secara drastis meningkatkan waktu startup editor, mengurangi waktu build hingga 10 kali lipat, dan secara substansial mengurangi penggunaan memori.
Dampak Bagi Developer
Dengan adanya implementasi compiler TypeScript dalam Go, pengembang dapat mengharapkan:
- Kompilasi Lebih Cepat: Proyek besar seperti VS Code dan Playwright menunjukkan peningkatan kecepatan kompilasi yang signifikan.
- Penggunaan Memori Lebih Efisien: Pengurangan penggunaan memori membantu dalam pengelolaan proyek besar dan kompleks.
- Distribusi yang Lebih Sederhana: Binary statis memudahkan distribusi alat kompilasi tanpa perlu mengelola dependensi Node.js.
Microsoft berharap dapat merilis pratinjau implementasi native tsc
yang mampu melakukan typechecking melalui command-line pada pertengahan 2025.
Kesimpulan
Rewriting compiler TypeScript dalam Go merupakan langkah strategis Microsoft untuk meningkatkan performa dan efisiensi alat pengembangan mereka.
Dengan peningkatan kecepatan kompilasi dan pengurangan penggunaan memori, ini akan memberikan pengalaman yang lebih baik bagi pengembang dalam membangun aplikasi TypeScript.