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