শক্তিশালী / দুর্বল টাইপিং এবং স্ট্যাটিক / ডায়নামিক টাইপিং অরথোগোনাল।
শক্তিশালী / দুর্বল কার্যকরীভাবে বলতে গেলে কোনও মানের ধরণের বিষয়টি বিবেচনা করে। দুর্বলভাবে টাইপ করা ভাষায়, আপনি দুটি স্ট্রিং নিতে পারেন যা সংখ্যায় পূর্ণ হয়ে যায় এবং এর উপর পূর্ণসংখ্যার সংযোজন করতে পারে; একটি দৃ strongly়-টাইপিত ভাষায়, এটি একটি ত্রুটি (যদি না আপনি মানগুলি প্রথমে সঠিক ধরণের রূপান্তর করেন বা রূপান্তর না করেন)। শক্ত / দুর্বল টাইপিং কোনও কালো-সাদা জিনিস নয়; বেশিরভাগ ভাষা 100% কড়া বা 100% দুর্বল নয়।
স্ট্যাটিক / ডায়নামিক টাইপিং টাইপগুলি মানগুলির সাথে আবদ্ধ হয় বা সনাক্তকারীগুলির সাথে সম্পর্কিত whether একটি গতিশীল-টাইপিত ভাষায়, আপনি কোনও ভেরিয়েবলের যে কোনও মান নির্ধারণ করতে পারেন, নির্বিশেষে; স্ট্যাটিক টাইপিং প্রতিটি শনাক্তকারীর জন্য একটি প্রকারকে সংজ্ঞায়িত করে এবং ভিন্ন ধরণের থেকে নির্ধারণ করা হয় ত্রুটি হয়, বা ফলস্বরূপ একটি অন্তর্ভুক্ত কাস্টের ফলস্বরূপ। কিছু ভাষাগুলি একটি হাইব্রিড পদ্ধতির গ্রহণ করে, স্ট্যাটিকালি ঘোষিত ধরণের পাশাপাশি অব্যক্ত টাইপযুক্ত শনাক্তকারীদের ('ভেরিয়েন্ট') মঞ্জুর করে। প্রকারের অনুমিতিও রয়েছে, এমন একটি প্রক্রিয়া যেখানে স্ট্যাটিক টাইপিং সমস্ত কিছুর ধরণের স্পষ্টভাবে বিবরণ ছাড়াই সম্ভব হয়, সংকলকটি প্রকারগুলি নির্ধারণ করে (হাস্কেল এটিকে ব্যাপকভাবে ব্যবহার করে, সি # var
কীওয়ার্ডের মাধ্যমে এটি প্রকাশ করে )।
দুর্বল গতিশীল প্রোগ্রামিং একটি ব্যবহারিক পদ্ধতির জন্য অনুমতি দেয়; ভাষা বেশিরভাগ সময় আপনার পথে আসে না, তবে আপনি নিজে যখন পায়ে গুলি চালাচ্ছেন তখন তা পাবে না। এর বিপরীতে শক্ত স্ট্যাটিক টাইপিং প্রোগ্রামারকে কোডগুলিতে কোডগুলিতে স্পষ্টভাবে মান সম্পর্কে নির্দিষ্ট প্রত্যাশা প্রকাশ করার জন্য চাপ দেয় যাতে সংকলক বা দোভাষীকে কোনও শ্রেণীর ত্রুটি সনাক্ত করতে দেয়। একটি ভাল টাইপ সিস্টেমের সাথে একজন প্রোগ্রামার সঠিকভাবে সংজ্ঞা দিতে পারে যে কোনও মানের সাথে কী করা যায় এবং কী করা যায় না, এবং যদি দুর্ঘটনাক্রমে কেউ কেউ অযাচিত চেষ্টা করে তবে টাইপ সিস্টেমটি প্রায়শই এটি প্রতিরোধ করতে পারে এবং ঠিক কোথায় এবং কেন জিনিস ভুল হয় তা দেখাতে পারে।