আমি এটি যেভাবে দেখছি তা হল, আপনি যদি কোনও স্ট্যাটিক্যালি টাইপ করা ভাষার মধ্যে প্রাকৃতিকভাবে কাজ করতে পারেন তবে স্থির টাইপিং হ'ল উপায়। সাধারণভাবে, একটি টাইপ সিস্টেমের উদ্দেশ্য হ'ল আপনাকে অপরিজ্ঞাত শব্দার্থ - যেমন পছন্দ করে অপারেশন করা থেকে বিরত রাখা (string) "hello" + (bool) true
। এই ক্রিয়াকলাপগুলি সম্পাদন করা থেকে রোধ করার অতিরিক্ত স্তরের সুরক্ষা রাখা আপনার কোডে বাগগুলি প্রতিরোধের একটি ভাল উপায় হতে পারে এমনকি বিস্তৃত ইউনিট পরীক্ষা না করেও । এটি হ'ল, টাইপ-সুরক্ষা আপনার কোডের শব্দার্থিক নির্ভুলতার জন্য আরও একটি স্তরের আত্মবিশ্বাস সরবরাহ করে।
তবে টাইপ সিস্টেমগুলি সঠিকভাবে পাওয়া খুব শক্ত। আমি বিশ্বাস করি না সেখানে হয় এই লেখার সময়ে প্রকৃতিতে একটি নিখুঁত টাইপ সিস্টেম। ("পারফেক্ট টাইপ সিস্টেম" দ্বারা, আমি বোঝাচ্ছি একটি কঠোর প্রকারের সিস্টেম, যার জন্য ভার্বোজ কোড টীকাগুলির দরকার হয় না, এতে কোনও ভুয়া-পজিটিভ ধরণের ত্রুটি হয় না এবং যার ধরণের ত্রুটি প্রোগ্রামারকে বুঝতে সহজ হয় understand) আরও, এটি করতে পারে সত্য যে ভাল টাইপ সিস্টেম আছে তা বুঝতে অসুবিধা হবে। আমি যখন হাস্কেল শিখছিলাম তখন সঠিক কোডটির মতো (আমার কাছে) কী লাগছে তা লেখার চেষ্টা করার সময় আমি যে অস্পষ্ট ধরণের ত্রুটি পেয়েছিলাম তার সংখ্যা বলতে পারি না। সাধারণত কোডটি আসলে সঠিক ছিল না (যা টাইপ সিস্টেমের পক্ষে একটি পয়েন্ট), তবে এটি অনেকটা সময় নিয়েছিলসংকলকটির ত্রুটি বার্তাগুলি বোঝার জন্য কাজের, যাতে আমি অন্তর্নিহিত সমস্যাগুলি সংশোধন করতে পারি। ওও ভাষাগুলিতে, আপনি অবশেষে নিজেকে ভাবতে পারেন যে "এই যুক্তিটি ইনপুট টাইপের সাথে স্বতঃস্ফূর্ত হওয়া উচিত , কোভারিয়েন্ট নয় !", বা (সম্ভবত আরও বেশি) টাইপকাস্টে ফিরে টাইপ সিস্টেমের সীমানা থেকে বাঁচতে হবে। প্রকারের সিস্টেমগুলি আপনি যে ভাবেন তার চেয়ে অনেক বেশি কৌশলযুক্ত হতে পারে।
এটির মূল্য কী তা, আমি বুঝতে পেরেছি যে ভাল টাইপ সিস্টেম নিয়ে আসতে অসুবিধা হ'ল গিলাদ ব্রাচাকে নিউজপ্যাকে প্লাগেবল টাইপ-সিস্টেম সমর্থন অন্তর্ভুক্ত করার জন্য অনুপ্রাণিত করেছিল ।