في 2017-2019 ، كانت هناك زيادة كبيرة في TypeScript. حدث هذا لأسباب واضحة. هناك الكثير من الخير في هذه اللغة. ما يقرب
من نصف المجيبين في استطلاع
حالة جافا سكريبت لعام 2018 جربوا بالفعل برنامج TypeScript ويعتزمون الكتابة عليه في المستقبل. يعتبر برنامج TypeScript شائعًا جدًا ، ولكن هل يستحق استخدامه في مشاريع البرامج الكبيرة؟

في هذه المادة ، يتم إجراء محاولة بدقة ، بناءً على المؤشرات العددية والخبرة العملية للمؤلف ، لتحليل تأثير استخدام TypeScript في تطوير المشاريع الكبيرة.
حول TypeScript النمو
TypeScript هي واحدة من أسرع اللغات نمواً. حاليا ، هي اللغة الرائدة لأولئك المترجمة في جافا سكريبت. فيما يلي بيانات TypeScript من Google Trends.
2014-2019 بيانات Google Trends عن ديناميات شعبية برنامج TypeScriptفيما يلي
المعلومات الواردة من GitHub ، والتي تعكس اهتمام المبرمجين بالعمل على تطوير لغات البرمجة المختلفة.
بيانات جيثب عن نمو لغات البرمجة من حيث عدد المساهمينما ورد أعلاه عبارة عن مؤشرات مثيرة للإعجاب تشير إلى تزايد شعبية برنامج TypeScript ، والتي لا ينبغي الاستهانة بها. ولكن تجدر الإشارة إلى أن TS لا يزال بعيدًا عن الاعتراف به باعتباره اللغة الرائدة لنظام جافا سكريبت البيئي. إذا تمت مقارنة نظام JavaScript البيئي بالمحيط ، فسيكون TypeScript موجة كبيرة في هذا المحيط. فيما يلي مقارنة بين JavaScript (الخط الأحمر) و TypeScript (الخط الأزرق) وفقًا لـ Google Trends.
بيانات من اتجاهات Google للفترة 2014-2018 حول ديناميات شعبية JavaScript و TypeScriptوهنا
معلومات من GitHub حول لغات البرمجة الرائدة المستخدمة لإنشاء مستودعات في الفترة 2008-2018.
بيانات جيثب على عدد المستودعات التي تم إنشاؤها باستخدام لغات البرمجة المختلفةيمكنك أن ترى أنه من خلال عدد المستودعات ، لا يعد TypeScript من بين اللغات الخمس الأولى.
تجدر الإشارة إلى أنه في عام 2018 كانت هناك نقطة تحول في تاريخ TypeScript ، وفي عام 2019 سيتم استخدام هذه اللغة في العديد من المشاريع الحقيقية. إذا كنت مطور جافا سكريبت ، فلن يكون لديك خيار في مثل هذه الظروف. سيتم بالفعل اتخاذ قرار استخدام TypeScript في مشروع يجب أن تعمل عليه دون مراعاة رأيك. لا داعي للخوف من تعلم واستخدام TypeScript.
ومع ذلك ، إذا كنت الشخص الذي يقرر اللغة التي يجب استخدامها في المشروع ، فأنت بحاجة إلى فهم واقعي لنقاط القوة والضعف في برنامج TypeScript. عند اتخاذ القرارات ، ستحتاج إلى فهم ما إذا كان اختيار TypeScript سيكون له تأثير جيد أو سيء على المشروع.
تشير تجربتي إلى أن TypeScript له إيجابيات وسلبيات ، ولكن لا يمكن القول أن استخدامها ، بشكل عام ، له تأثير إيجابي على المشاريع. ناشد برنامج TypeScript العديد من المطورين ، وهناك الكثير من الأشياء المرتبطة بهذه اللغة التي أحببتها بالفعل ، والتي اختبرتها في الواقع العملي. ولكن عليك أن تدفع ثمن كل شيء.
الخلفية
جئت إلى JavaScript من عالم اللغات المكتوبة بشكل ثابت - مثل C / C ++ و Java. في البداية ، كان من الصعب علي أن أتكيف مع الكتابة الديناميكية المعتمدة في جافا سكريبت ، ولكن بمجرد أن اعتدت على ذلك ، شعرت وكأنني شخص وصل إلى نفق طويل مظلم ورأيت الضوء. للكتابة الثابتة العديد من الميزات الإيجابية ، ولكن يمكن قول الشيء نفسه عن الكتابة الديناميكية.
في السنوات القليلة الماضية ، تغرقت بشكل دوري في تطوير TypeScript. نتيجة لذلك ، لقد ربحت أكثر من عام من ممارسة TypeScript. قادت عدة فرق كبيرة باستخدام TypeScript كلغتهم الأساسية. هذا سمح لي بتقييم تأثير TypeScript على تطوير المشروعات الكبيرة ومقارنة المشروعات المماثلة بالمشاريع المماثلة التي تستخدم JavaScript العادي.
في عام 2018 ، يمكن
أن تقلع التطبيقات اللامركزية. تستخدم معظم هذه التطبيقات العقود الذكية والحلول مفتوحة المصدر. عند تطوير تطبيقات للإنترنت ذات القيمة ، يمكن أن تكلف الأخطاء في البرامج أموال المستخدمين. الآن أكثر من أي وقت مضى ، من المهم أن تكتب رمز موثوق. نظرًا لأن مثل هذه المشروعات عادةً ما تكون مفتوحة المصدر ، فقد اعتقدت أن ما نستخدمه في تطوير TypeScript جيدًا ، لأن هذا سيجعل من السهل على فرق TypeScript الأخرى العمل مع حلولنا ، وفي الوقت نفسه ، يضمن هذا التوافق الكود الخاص بنا مع المشاريع التي تستخدم JavaScript.
أثناء الاستخدام العملي لـ TypeScript ، بدأت أفهم بشكل أفضل مزايا وعيوب هذه اللغة. أصبح من الواضح أيضًا بالنسبة لي نوع الخيار الذي يمكن أن يكون لـ TypeScript على مشروع برنامج. يؤسفني أن أقول إن تجربة TypeScript لم تكن ناجحة كما أردت. إذا لم يتم تحسين TypeScript بشكل كبير ، فلن أختر هذه اللغة لمشروع آخر واسع النطاق.
TypeScript القوة
لا يزال يبدو TypeScript ، على المدى الطويل ، تطوراً إيجابياً. أريد أن أحب هذه اللغة ، وما زلت بالتأكيد أحب بعض معالمها. آمل أن يرى مطورو TypeScript وأنصارهم انتقادات بناءة في هذه المادة ، وليس هجمات لا أساس لها على هذه اللغة. يمكن لمطوري TypeScript إصلاح بعض أوجه القصور فيه ، وإذا فعلوا ذلك ، يمكنني تكرار تحليلي لفعالية هذه اللغة والتوصل إلى نتائج مختلفة.
يمكن أن تكون الكتابة الثابتة مفيدة للغاية حيث تساعد على توثيق الدوال ، وتسهيل فهم الكود ، وتقليل الحمل الزائد المعرفي للمبرمج. على سبيل المثال ، عادة ما أجد نظام النوع Haskell يعمل ، ولا يتطلب الكثير من الوقت والجهد ، ومريح ، وغير مزعج. لكن في بعض الأحيان حتى نظام أنواع Haskell المرن وأنواعه الرفيعة تجعل من الصعب العمل. على سبيل المثال ، حاول كتابة محول طاقة باستخدام Haskell أو TypeScript. هذا ليس بالأمر السهل ، وربما تكون النتيجة أسوأ قليلاً من نظيرتها غير المطابقة.
أحب حقيقة أن تعليقات TypeScript ، إذا كانت تتداخل ، يمكن أن تكون اختيارية. أحب حقيقة أن TypeScript يستخدم الكتابة الهيكلية ، وأن هناك بعض الدعم لاستدلال النوع (على الرغم من وجود العديد من الفرص للتحسين في هذا المجال).
يدعم TypeScript واجهات قابلة لإعادة الاستخدام (على عكس إعلانات النوع المضمنة). يمكن استخدام الواجهات بطرق مختلفة للتعليق على واجهات برمجة التطبيقات والتوقيعات الوظيفية. واجهة واحدة يمكن أن يكون لها العديد من التطبيقات. تعد الواجهات أحد أفضل ميزات TypeScript وأريد ظهور شيء مماثل في JavaScript العادي.
واحدة من نقاط القوة في TypeScript هي مجموعة أدواتها. على سبيل المثال ، باستخدام محرر مناسب (مثل Atom أو Visual Studio Code) ، والتي يتم إنشاء مكونات TS عالية الجودة بها ، يضع المطور تحت تصرف أفضل الأدوات في نظام JavaScript JavaScript. يجب على مطوري المكونات الإضافية الأخرى دراسة إضافات TS والتفكير في الكيفية التي يمكنهم من خلالها تحسين تنميتهم باستخدام الأفكار المتضمنة فيها.
TypeScript تحليل الأداء
الآن سأقوم بتقييم TypeScript للعديد من المؤشرات ، وتحديد الدرجات في النطاق من -10 إلى 10. هذا سيساعدك على فهم أفضل لمدى تأثير TypeScript (أو السيئ) على المشاريع الكبيرة.
إذا تجاوزت النتيجة في المؤشر 0 - فهذا يشير إلى التأثير الإيجابي لـ TypeScript على المشروع. إذا كانت النتيجة أقل من 0 ، فهذا يشير إلى تأثير سلبي. قيمة التصنيف من 3-5 نقاط تشير إلى وجود تأثير قوي إلى حد ما. 2 نقطة تشير إلى متوسط التعرض. 1 نقطة هو تأثير ضعيف نسبيا.
من الصعب قياس الأرقام بدقة التي سأستمر في العمل بها. في تقديري ، سأكون ، إلى حد ما ، شخصيًا. لكنني حاولت إجراء هذه التقديرات بحيث تكشف واقعيا قدر الإمكان عن إيجابيات وسلبيات استخدام TypeScript في مشاريع حقيقية.
جميع المشاريع التي قمت بتحليلها ، وإعطاء الدرجات ، تحتوي على أكثر من 50 ألف سطر من الكود. لقد كانت نتيجة عمل العديد من المبرمجين لعدة أشهر. يعتمد أحد هذه المشاريع على Angular 2 ، ويستخدم TypeScript. تمت مقارنته بمشروع مشابه كتب باستخدام Angular 1 وجافا سكريبت عادي. تستند جميع المشاريع الأخرى على React و Node باستخدام TypeScript. تمت مقارنتها بمشاريع مماثلة استخدمت JavaScript عاديًا. تم تقدير بعض المؤشرات ، مثل كثافة الأخطاء ، تقريبًا فقط. وتألفت جميع الفرق العاملة في المشاريع من مطوري TypeScript ذوي الخبرة والمبتدئين. أتيحت لجميع أعضاء هذه الفرق الفرصة للتفاعل مع الموجهين الأكثر خبرة الذين ساعدوهم على التكيف في مجال تطوير TypeScript.
نظرًا لصغر حجم العينة ، فإن البيانات الموضوعية التي أمتلكها غير متجانسة للغاية ، فهناك الكثير من الضجيج فيها ، وبناءً عليها ، من المستحيل اتخاذ أي أحكام موضوعية معينة يمكن أن تستند إلى أرقام دقيقة بما فيه الكفاية وبدون المخاطرة أكثر من اللازم ارتكب خطأ كبيرا. أظهر مشروع JavaScript واحدًا كثافة الأخطاء في الإنتاج التي كانت أقل بنسبة 41٪ من مشروع TypeScript قابل للمقارنة. في مقارنة أخرى ، أظهر مشروع TypeScript كثافة خطأ أقل 4٪ من مشروع JavaScript مشابه. في هذه الحالة ، من الواضح أن عدد الأخطاء التي وصلت إلى مرحلة إطلاق المنتج يتأثر أكثر بكثير ليس باستخدام TypeScript في المشروع ، ولكن بسبب وجود أو عدم وجود تدابير أخرى لضمان جودة الكود. هذا يشوه المؤشرات لدرجة أنه يصبح من المستحيل استخدامها.
أدت هذه المجموعة الواسعة من المؤشرات الموضوعية إلى حقيقة أنني قررت عدم استخدامها ، مع التركيز على سرعة تنفيذ فرص المشروع وعلى الملاحظات التي تشير إلى تلك المجالات من دورة حياة المشروع التي قضى فيها معظم الوقت. أدناه ، عند تحليل المؤشرات ، سنتحدث عن ذلك بمزيد من التفصيل.
نظرًا لأن التحليل الخاص بي يحتوي على عنصر شخصي قوي ، فأنت بحاجة إلى النظر في إمكانية عدم الدقة في تفسير المؤشرات (هذا ينعكس في الرسم التخطيطي). لكن يمكن أن توفر الاستنتاجات العامة لهذا التحليل صورة واقعية لما يمكنك توقعه من استخدام مشروع TypeScript.
TypeScript تحليل الأداءيمكنني بالفعل سماع الاعتراضات المتعلقة بالتصنيفات المنخفضة لمزايا TypeScript ، وبصراحة ، لا يمكنني رفض هذه الاعتراضات تمامًا. في الواقع ، يوفر TypeScript للمبرمج بعض الميزات المفيدة والقوية للغاية. لا يمكن أن يكون هناك شك في هذا.
من أجل فهم سبب التصنيفات الإيجابية المنخفضة والنادرة نسبيًا في تحليلي ، يجب أن تفهم جيدًا ما أقارن به برنامج TypeScript. هذه ليست "JavaScript فقط" ، ولكن JavaScript وأدوات مصممة للتطوير الفعال لهذه اللغة.
النظر في المؤشرات المبينة في الرسم البياني.
▍ أدوات المطور
Toolkit هي ميزة TypeScript المفضلة لدي ، والتي ربما تكون أقوى ميزة عملية لاستخدام هذه اللغة. بفضل الأدوات عالية الجودة ، يتم تقليل الحمل المعرفي على المطور. تحت تصرفه نصائح حول أنواع الواجهات ، في هذه العملية ، في الوقت الحقيقي ، يتم اكتشاف الأخطاء المحتملة. إذا لم يحدث شيء مثل هذا عند تطوير جافا سكريبت عادي باستخدام مكونات إضافية جيدة ، فسوف أعطى TypeScript تقييمًا إيجابيًا أعلى. ولكن في حالتنا ، 0 نقطة هي شيء يمكنك استخدامه بالفعل عند البرمجة في جافا سكريبت ، بمعنى أننا نقارن TypeScript ، إنه بالفعل على مستوى مرتفع إلى حد ما.
لا يبدو أن معظم دعاة TypeScript يفهمون جيدًا ما يتنافس عليه برنامج TypeScript. النقطة المهمة هي أن اختيار الأدوات ليس قرارًا بشأن استخدام TypeScript أو JavaScript دون أي أدوات مساعدة. إنه يتعلق بالاختيار بين TypeScript والنظام البيئي الغني بالكامل لأدوات تطوير JavaScript. توفر أدوات إكمال التعليمات البرمجية واكتشاف الأخطاء لجافا سكريبت الشائعة ما بين 80 إلى 90٪ من نقاط القوة في TypeScript. يحدث هذا ، على سبيل المثال ، عند استخدام أدوات
لإكمال التعليمات البرمجية ، وأدوات
لأنواع الإخراج ، والبطانات . عند استخدام نظام الاستدلال على الكتابة وعند تطبيق معلمات الوظيفة الافتراضية التي ظهرت في ES6 ، يوجد لدى المطور نصائح تحت تصرفه تشبه إلى حد بعيد تلك المتوفرة عند العمل على كود TypeScript مع تعليقات توضيحية على الكتابة.
مثال على الإكمال التلقائي لرمز JS العادي مع استدلال الكتابةبصراحة ، إذا كنت تستخدم الإعدادات الافتراضية لتوفير تلميحات الكتابة ، فلن تحتاج مطلقًا إلى تعليق كود TypeScript. هذه تقنية ممتازة لتقليل عدد تصميمات بناء الجملة المساعدة ، والتي تعد واحدة من عيوب TypeScript.
ربما كانت الأدوات المستخدمة لكتابة كود TypeScript أفضل قليلاً ، فهي تبدو أكثر شمولية ، لكن هذا كله لا يكفي لمنح TypeScript تقييمًا أعلى من ذلك بكثير ولتغطية أوجه القصور في هذه اللغة.
▍ وثائق API
فائدة رئيسية أخرى من TypeScript هي وثائق API الأفضل. في الواقع ، يمكننا القول أن وثائق واجهة برمجة التطبيقات تتوافق دائمًا مع حالة شفرة المصدر. يمكن أن يتم إنشاء الوثائق بناءً على كود TypeScript. بالنسبة لمؤشر TypeScript ، يمكن للمرء أيضًا إعطاء علامة أعلى - إذا ، عند البرمجة في JavaScript ، لا يمكن للمرء استخدام شيء مثل
JSDoc و
Tern.js والكثير من الأدوات لإنشاء الوثائق. أنا شخصياً لست من محبي JSDoc ، لذلك فإن برنامج TypeScript في تحليلي لهذا المؤشر موضع تقدير كبير.
تجدر الإشارة إلى أنه حتى باستخدام أفضل الوثائق المضمّنة في التعليمات البرمجية في العالم ، لا يمكن للمرء الاستغناء عن الوثائق الحقيقية ، لذلك فمن الإنصاف القول إن إمكانيات TypeScript تزيد على الأرجح من إمكانيات تجميع الوثائق الموجودة بدلاً من استبدالها.
Safety اكتب السلامة
عند مقارنة أمان نوع TS و JS ، كما اتضح ، لا يمكن الكشف عن اختلاف خاص. يتحدث مؤيدو TypeScript غالبًا عن فوائد أمان النوع ، ولكن لا يمكن القول أن
أمان الكتابة يقلل بشكل كبير من كثافة الخطأ في الإنتاج. هذه نقطة مهمة ، حيث أن استخدام مراجعة الشفرة و TDD له تأثير خطير على استكشاف الأخطاء وإصلاحها (مجرد استخدام تقنية
TDD يقلل الأخطاء بنسبة 40-80 ٪). إذا قمت بدمج TDD مع تحليل بنية المشروعات ، والتحقق من المواصفات ومع مراجعات الكود ، يمكنك تحقيق أكثر من 90 ٪ من تقليل كثافة الخطأ. يمكن أن تساعدك العديد من هذه التقنيات (TDD بشكل خاص) في العثور على نفس الأخطاء التي يمكن اكتشافها باستخدام TypeScript ، بالإضافة إلى العديد من الأخطاء التي يتعذر على TypeScript اكتشافها.
هنا نقدم بعض الحسابات من
هذه الدراسة . الحد الأقصى النظري للأخطاء "المتاحة للجمهور" التي يمكن الكشف عنها بواسطة TypeScript هو حوالي 15 ٪. الأخطاء "العامة" هي أخطاء تنجو من مرحلة تطوير المشروع وينتهي بها الأمر في مستودع عام.
رصدت الدراسة المذكورة أعلاه الأخطاء التي كانت معروفة سلفًا. تضمن ذلك معرفة أسطر التعليمات البرمجية التي تم تغييرها لتصحيح الأخطاء ، بينما كانت المشكلة والحل المحتمل معروفين قبل كتابة التعليمات البرمجية. هذا يعني أنه حتى معرفة وجود أخطاء لم تسمح ، باستخدام TypeScript ، باكتشاف 85٪ من الأخطاء "العامة".
لماذا يتعذر على TypeScript اكتشاف الكثير من الأخطاء؟ لماذا أقول أن 15٪ من الأخطاء المكتشفة هي الحد الأقصى النظري لـ TypeScript؟ بادئ ذي بدء ، تجدر الإشارة إلى أنه ، وفقًا للدراسة المعنية ، تؤدي الأخطاء في المواصفات إلى حوالي 78٪ من الأخطاء في مستودعات GitHub العامة. يؤدي عدم القدرة على صياغة مواصفات البرامج بوضوح أو عدم القدرة على تنفيذ المواصفات بشكل صحيح إلى حدوث أكثر أنواع الأخطاء شيوعًا. يؤدي هذا تلقائيًا إلى حقيقة أنه لا يمكن اكتشاف أو منع معظم الأخطاء في مشاريع برامج TypeScript. يحدد مؤلفو الدراسة ، من بين أشياء أخرى ، وتصنيف الأخطاء التي لم يتم اكتشافها بواسطة TypeScript. فيما يلي رسم بياني شريطي يحتوي على معلومات حول هذه الأخطاء.
الأخطاء التي لم يتم اكتشافها بواسطة TypeScriptمثال "StringError" هو خطأ يحدث في حالة استخدام سلسلة حيث تكون هناك حاجة إلى سلسلة ، أي أن الأخطاء في الأنواع لا تحدث ، لكن محتويات هذه السلسلة نفسها تسبب خطأ (على سبيل المثال ، قد يكون هناك عنوان URL غير صحيح). باستخدام التحليل الثابت ، يمكنك تحديد بعض هذه الأخطاء عن طريق فحص محتويات السلاسل واستخدام أوصاف هذا المحتوى. ولكن هذا لن يعطي سوى احتمال تصحيح جزء صغير من نسبة مئوية صغيرة من الأخطاء. نتيجة لذلك ، نقول أنه من غير المحتمل أن يتمكن برنامج TypeScript من اكتشاف أكثر من 15-18٪ من الأخطاء.
هنا قد يبدو أن 15 ٪ بالفعل الكثير جدا. لماذا يتعذر على TypeScript اكتشاف نسبة أكبر من الأخطاء؟
نظرًا لوجود العديد من الأخطاء التي لا يمكن اكتشافها عن طريق الكتابة الثابتة ، سيكون من غير المسؤول رفض استخدام طرق أخرى لمراقبة الجودة مثل مراجعة الشفرة و TDD. لذلك ، ليس من العدل الاعتماد على حقيقة أن TypeScript سيكون الأداة الوحيدة لبعض المشاريع المستخدمة للتعامل مع الأخطاء. من أجل إدراك واقعي للمؤشر المدروس لتحليلنا لفعالية TypeScript ، يجدر حساب العدد المحتمل للأخطاء التي اكتشفها TypeScript ، بعد استبعاد الأخطاء المكتشفة بواسطة طرق أخرى من عددها.
لنفترض أن مشروعك سوف يحتوي على 1000 خطأ إذا لم تتخذ أي تدابير للتعامل مع الأخطاء. بعد اختبار المشروع بشكل صحيح ، انخفض العدد المحتمل للأخطاء التي يمكن أن تصل إلى الإنتاج إلى 100. الآن ، لمعرفة الإمكانيات الحقيقية لـ TypeScript ، دعونا نلقي نظرة على عدد هذه الأخطاء التي يمكن اكتشافها باستخدامه. نظرًا لأنه لا يمكن اكتشاف حوالي 80٪ من الأخطاء باستخدام TypeScript ، وبالنظر إلى أنه ، من الناحية النظرية ، يمكن اكتشاف جميع الأخطاء التي تم اكتشافها باستخدام TypeScript باستخدام طرق أخرى ، مثل استخدام منهجية TDD ، وسوف نصل بسخاء ونفترض أن TypeScript سيكتشف 8 ٪ أخرى من الأخطاء. هنا ، بالإضافة إلى ذلك ، ننطلق من افتراض أننا لم نعثر على حوالي نصف الأخطاء التي يكتشفها برنامج TypeScript بطرق أخرى. والنتيجة هي ما يلي:
- يحتوي المشروع الذي لا يتم تطبيق تدابير التحكم في الأخطاء فيه على 1000 خطأ.
- باستخدام تدابير لمحاربة الأخطاء غير الخاصة بـ TypeScript ، تم اكتشاف 900 خطأ.
- بعد التحقق من المشروع باستخدام TypeScript ، بقي 92 خطأ. هذا يعني أنه بفضل تطبيق TypeScript ، تم اكتشاف 8 أخطاء أخرى.
, , TDD, , TypeScript- , , . . TypeScript . TypeScript, .
, TypeScript, TypeScript 15% . — 150 1000. , , TypeScript, 900 . , , , TypeScript - . TypeScript , , , 908 1000 (, , , , TypeScript).
. , 30-80% . :
, , , , , , , TypeScript. : TypeScript . , . .
, , - TypeScript. TypeScript, ?
▍ JavaScript - (New JS Features, Compile to Cross-Browser JS)
TypeScript 0, JavaScript. , Babel JavaScript , , , .
TypeScript JavaScript. , . JavaScript , , , , TypeScript , . , , TypeScript «».
▍ (Recruiting)
, State of JavaScript, TypeScript , 33.7% TypeScript. 5.4% TS , , 13.7% , . TS- 20%, , . — , (, , , ).
, - , TypeScript . . , TypeScript .
▍ , (Setup, Initial Training)
, . , JavaScript, TypeScript- 2-3 , 6-8 . , , , , , , TypeScript, , .
▍ (Missing Features)
, , . TypeScript JavaScript. TypeScript , . , JavaScript- , , . , , , TypeScript .
TypeScript TypeScript. , , , . , , TypeScript- . , , , , .
▍ (Ongoing Mentorship)
TypeScript, . , , , . TypeScript -. , , , , , .
, TypeScript- , , , , . , , , , , .
. . , TypeScript-, - , . « » — , , . , — , TypeScript .
▍ , (Typing Overhead)
, , , . — TypeScript, . . , , .
, , . , , , . , , , .
, . , , .
, TypeScript « ». Haskell , . TypeScript, , , , , .
, TypeScript- . — , TypeScript- , , , , . TypeScript- , , . , , — .
« » . , .
« » — , . « » — .
« » — TypeScript. :
- . «» ( — Haskell).
- , , , . TypeScript- , , , , , , . , , TypeScript-, Stack Overflow.
TypeScript, , . , , .
, TypeScript , , .
TypeScript , . TypeScript , , , . TypeScript, TypeScript- , TypeScript.
, TypeScript , , « » TypeScript . , TypeScript-, .
TypeScript, , , , — , , TypeScript. TypeScript . , — , , TypeScript.
.
TypeScript , «JavaScript, ». : «JavaScript, ».
! TypeScript.
