TypeScript 7 এই সপ্তাহে লঞ্চ হয়েছে যা সম্পূর্ণভাবে Go ভাষায় পুনরায় লেখা হয়েছে। এর ফলে VS Code-এর কম্পাইলেশন সময় ১৭.৫ সেকেন্ড থেকে কমে ১.৩ সেকেন্ডের নিচে নেমে এসেছে এবং বড় প্রজেক্টগুলোতে মেমরি ব্যবহার ২৬% পর্যন্ত হ্রাস পেয়েছে। এই গতি বৃদ্ধির ফলে প্রতিদিনের কোডিং করা অনেক দ্রুত ও সহজ মনে হবে এবং এর ফলে ডেভেলপারদের কাজের অনেক সময় সাশ্রয় হবে।
কেন Go-তে পুনরায় লেখাটা গুরুত্বপূর্ণ
Microsoft দীর্ঘদিনের JavaScript/Node ইমপ্লিমেন্টেশনের পরিবর্তে Go ভাষায় কম্পাইলারটি পুনরায় তৈরি করেছে। প্রজেক্টের আকার বাড়ার সাথে সাথে মূল কোডবেসটি সীমাবদ্ধতার মুখে পড়ছিল—পার্সিং (parsing) এবং টাইপ-চেকিং (type-checking) প্রক্রিয়াগুলো সীমিত CPU এবং RAM সম্পন্ন CI রানারগুলোকে ধীরগতির করে তুলছিল। বিল্ট-ইন কনকারেন্সি (concurrency) সম্পন্ন একটি কম্পাইল্ড ল্যাঙ্গুয়েজে স্থানান্তরের মাধ্যমে, নতুন ইঞ্জিনটি পার্সিং এবং টাইপ-চেকিং সমান্তরালভাবে সম্পন্ন করে, যা প্রথম এরর (error) দেখার জন্য অপেক্ষার সময় কমিয়ে দেয়।
বাস্তব জগতের পারফরম্যান্সের উন্নতি
বেশ কিছু বড় কোডবেসের প্রাথমিক বেঞ্চমার্ক থেকে এর প্রভাব স্পষ্ট বোঝা যাচ্ছে:
- VS Code: ১১.৯ গুণ দ্রুত কম্পাইলেশন, ১৮% কম মেমরি ব্যবহার।
- Sentry, Bluesky, Playwright, Tldraw: ৭.৭ গুণ থেকে ৮.৯ গুণ পর্যন্ত গতি বৃদ্ধি।
- Bluesky-তেও মেমরি ব্যবহারের ক্ষেত্রে ২৬% হ্রাস দেখা গেছে।
যারা দিনে ডজন ডজন বার “run” বা “watch” কমান্ড ব্যবহার করেন, তারা আরও মসৃণ এডিটিং এবং হালকা CI লোড লক্ষ্য করবেন।
নতুন ফ্ল্যাগগুলো আপনাকে নিয়ন্ত্রণ দেবে
এই নতুন ভার্সনে এমন কিছু কমান্ড-লাইন অপশন রয়েছে যা টিমগুলোকে গতি এবং মেমরির মধ্যে ভারসাম্য বজায় রাখতে সাহায্য করবে:
--checkersএবং--buildersপার্সিং এবং টাইপ-চেকিং ওয়ার্কারগুলোকে পাশাপাশি চালু করে মাল্টি-কোর CPU-এর সুবিধা গ্রহণ করে।--singleThreadedসমস্ত কাজ একটি থ্রেডে সীমাবদ্ধ করে, ফলে রেস কন্ডিশন (race condition) দেখা দিলে ডিবাগিং করা সহজ হয়।- টাইপ-চেকিং ওয়ার্কার এবং বিল্ডার ওয়ার্কারের আলাদা স্কেলিং করার সুবিধা থাকায় CI পাইপলাইন প্রতিটি ধাপের জন্য প্রয়োজনীয় রিসোর্স বরাদ্দ করতে পারে।
- নতুনভাবে উন্নত
--watchমোডটি Parcel-এর একটি Go-ভিত্তিক পোর্ট ব্যবহার করে, যা বিশালnode_modulesট্রি-এর ব্যয়বহুল পোলিং (polling) কমিয়ে দেয় এবং ফাইল পরিবর্তনের শনাক্তকরণ প্রক্রিয়াকে হালকা রাখে।
কারা লাভবান হবে এবং কারা দ্বিধায় থাকতে পারে
যেসব ফ্রন্ট-এন্ড ফ্রেমওয়ার্ক TypeScript-এর ওপর ব্যাপকভাবে নির্ভরশীল—যেমন Next.js এবং Nuxt—তারা দ্রুত রিবিল্ড এবং আরও কার্যকর ফিডব্যাক লুপের সুবিধা পাবে। VS Code এবং Cursor-এর মতো IDE-গুলো আরও রেসপন্সিভ মনে হবে, যা ডেভেলপারদের টার্মিনালে বিল্ড করার পরিবর্তে এডিটরে দীর্ঘক্ষণ কাজ করতে উৎসাহিত করবে।
পরবর্তীতে যা লক্ষ্য রাখা প্রয়োজন
- বড় ওপেন-সোর্স প্রজেক্ট এবং এন্টারপ্রাইজ মনোরিপো (monorepos)-এর মধ্যে গ্রহণের হার।
- স্ট্যাবিলিটি এবং কোনো লুকানো পারফরম্যান্স সমস্যা সম্পর্কে কমিউনিটির মতামত।
- Microsoft-এর সেই সব আপডেট যা কম্পাইল করার সময় আরও কমাতে বা এরর ডায়াগনস্টিকস (error diagnostics) উন্নত করতে কম্পাইলারের নতুন ফিচার যোগ করবে।
