আসল টুইটকারী এখানে here :)
প্রথমত, আমি কিছুটা বিস্মিত / হতবাক যে আমার টুইটটি এত গুরুত্ব সহকারে নেওয়া হচ্ছে! যদি আমি জানতাম যে এটি এই ব্যাপকভাবে প্রচারিত হতে চলেছে, আমি এটি লিখতে 30 সেকেন্ডেরও বেশি সময় ব্যয় করতাম!
থিয়াগো সিলভা উল্লেখ করে সঠিক যে "স্ট্যাটিক" এবং "গতিশীল" টাইপ সিস্টেমের চেয়ে টাইপ পরীক্ষার আরও সঠিকভাবে বর্ণনা করে । প্রকৃতপক্ষে, কোনও ভাষা স্থিতিশীল বা গতিশীলভাবে টাইপ করা হয় তা বলা সত্যিই সঠিক নয়। পরিবর্তে, কোনও ভাষার একটি টাইপ সিস্টেম থাকে এবং সেই ভাষার প্রয়োগের ফলে স্ট্যাটিক চেকিং, বা গতিশীল চেকিং, বা উভয়ই বা উভয়ই ব্যবহার করা যায় না (যদিও এটি খুব আবেদনমূলক ভাষা বাস্তবায়ন হবে না)।
এটি যেমন ঘটে থাকে তেমনি রয়েছে নির্দিষ্ট ধরণের সিস্টেম (বা টাইপ সিস্টেমের বৈশিষ্ট্য) যা স্থির চেকিংয়ের পক্ষে আরও সাধ্যজনক, এবং নির্দিষ্ট ধরণের সিস্টেম (বা টাইপ সিস্টেমের বৈশিষ্ট্য) রয়েছে যা ডায়নামিক চেকিংয়ের জন্য আরও সাবলীল। উদাহরণস্বরূপ, যদি আপনার ভাষা আপনাকে কোনও প্রোগ্রামের পাঠ্যে নির্দিষ্ট করতে দেয় যে নির্দিষ্ট মানটি সর্বদা পূর্ণসংখ্যার একটি অ্যারে থাকে, তবে সেই সম্পত্তিটি যাচাই করার জন্য স্থিতিক পরীক্ষককে লিখতে যুক্তিসঙ্গতভাবে সরল। বিপরীতভাবে, যদি আপনার ভাষাতে সাবটাইপিং থাকে এবং যদি এটি ডাউন কাস্টিংয়ের অনুমতি দেয় তবে রানটাইমের সময় একটি ডাউনকাস্টের বৈধতা পরীক্ষা করা যুক্তিসঙ্গতভাবে সোজা, তবে সংকলনের সময় এটি করা অত্যন্ত কঠিন difficult
আমার টুইটটির দ্বারা আমি যা বোঝাতে চেয়েছি তা হ'ল ভাষা বাস্তবায়নের বেশিরভাগ অংশই কিছু পরিমাণ গতিশীল প্রকারের পরীক্ষা করে। অথবা, সমতুল্য, ভাষার বেশিরভাগ ভাষার কিছু বৈশিষ্ট্য রয়েছে যা স্ট্যাটিকভাবে পরীক্ষা করা কঠিন (যদি অসম্ভব না হয়)। ডাউন কাস্টিং এর একটি উদাহরণ। অন্যান্য উদাহরণগুলির মধ্যে গাণিতিক ওভারফ্লো, অ্যারের সীমানা পরীক্ষা করা এবং নাল চেক করা অন্তর্ভুক্ত। এর মধ্যে কয়েকটি স্থিতিশীলভাবে কিছু পরিস্থিতিতে পরীক্ষা করা যেতে পারে, তবে এবং বৃহত্তর দ্বারা, আপনাকে এমন কোনও ভাষা প্রয়োগের সন্ধান করতে চাপ দেওয়া হবে যা রানটাইমে কোনও চেকিং করে না।
এটা খারাপ কিছু না। এটি কেবলমাত্র একটি পর্যবেক্ষণ যে এখানে অনেকগুলি আকর্ষণীয় বৈশিষ্ট্য রয়েছে যা আমরা আমাদের ভাষাগুলি প্রয়োগ করতে চাই এবং এটি কীভাবে আমরা স্থিতিকরভাবে চেক করব তা জানি না। এবং এটি একটি অনুস্মারক যে "স্ট্যাটিক ধরণের" বনাম "গতিশীল প্রকারের" মত পার্থক্যগুলি প্রায়শই পরিষ্কার-কিছু নয় যেহেতু কিছু লোক আপনার বিশ্বাস করতে পারে। :)
একটি চূড়ান্ত নোট: প্রোগ্রামিং ভাষা গবেষণা সম্প্রদায়ের "শক্তিশালী" এবং "দুর্বল" পদটি সত্যই ব্যবহৃত হয় না এবং এগুলির সত্যিকার অর্থে কোনও সামঞ্জস্যপূর্ণ অর্থ হয় না। সাধারণভাবে, আমি দেখতে পেয়েছি যে যখন কেউ বলে যে কোনও ভাষার "বলিষ্ঠ টাইপিং" রয়েছে এবং অন্য কোনও ভাষায় "দুর্বল টাইপিং" রয়েছে, তখন তারা সত্যই বলছেন যে তাদের প্রিয় ভাষা ("শক্তিশালী টাইপিং" সহ একটি ভাষা) তাদের বাধা দেয় কিছু ভুল করে যে অন্য ভাষা ("দুর্বল টাইপিংয়ের সাথে") - বা বিপরীতক্রমে তাদের প্রিয় ভাষা ("দুর্বল টাইপিং" সহ একটি ভাষা) তাদেরকে কিছু শীতল জিনিস করতে দেয় যা অন্য ভাষাতে ( "শক্ত টাইপিং" সহ একটি) এটি ব্যবহার করে না।