مايكروسوفت قررت إعادة بناء مترجم TypeScript باستخدام لغة Go في خطوة تهدف إلى تحسين الأداء بشكل كبير. مع توسع مشاريع TypeScript، بدأت تظهر مشاكل في الأداء واستهلاك الذاكرة، حيث أن المترجم الحالي مكتوب بلغة JavaScript ويعمل عبر Node.js، مما يؤدي إلى بطء في الترجمة، خاصة في المشاريع الضخمة، حيث قد يستغرق الأمر دقائق. هذا التأخير يضر بتجربة المطور، حيث يبطئ من ظهور ميزات مثل IntelliSense ويجعل العمل أقل كفاءة. إعادة بناء المترجم كان ضروريًا لتحقيق أداء أعلى، ووفقًا لمايكروسوفت، الهدف هو تحسين سرعة الترجمة بمقدار 10 أضعاف وتقليل استهلاك الذاكرة بشكل ملحوظ.
اختيار Go كلغة للمترجم الجديد جاء بعد تجربة عدة خيارات أخرى مثل Rust وC#. مايكروسوفت وجدت أن Go توفر أفضل توازن بين الأداء وسهولة الصيانة، كونها لغة مترجمة مسبقًا ولا تحتاج إلى Runtime مثل Node.js، مما يساهم في سرعة التنفيذ. بالإضافة إلى ذلك، توفر Go إدارة ذاكرة تلقائية ودعمًا مدمجًا للتزامن، مما يجعلها مناسبة لبناء مترجم فعال دون تعقيدات إضافية. كما أن سهولة تعلمها سمحت لفريق TypeScript بالانتقال إليها بسرعة، خاصة أن أسلوبها قريب من هيكلة المترجم الأصلي.
التغيير الجديد سيجلب تحسينات كبيرة للمطورين، حيث ستصبح الترجمة أسرع بعشرة أضعاف، مما يعني أن مشاريع ضخمة مثل كود Visual Studio Code قد يتم بناؤها في ثوانٍ بدلًا من دقائق. كما سيقل استهلاك الذاكرة، مما يجعل العمل على المشاريع الكبيرة أكثر سلاسة حتى على الأجهزة ذات الموارد المحدودة. بفضل هذا الأداء، ستصبح استجابة المحرر فورية، مع إكمال تلقائي أسرع وتنقل سلس بين الملفات، مما يعزز الإنتاجية ويقلل من إحباط الانتظار. كما أن استخدام Go، التي تعتمد على نظام قوي لإدارة الذاكرة، سيجعل المترجم أكثر استقرارًا وأقل عرضة للأخطاء. مايكروسوفت أكدت أن هذا التغيير لن يؤثر على توافق الشيفرات القديمة، حيث أن الهدف الأساسي هو تحسين الأداء فقط دون تغيير سلوك TypeScript نفسه
مصدر المنشور
هذا المحتوى نُشر أصلًا كمنشور على LinkedIn. يمكنك فتحه في تبويب جديد.