স্ট্যাটিক্যালি টাইপ করা ভাষাগুলি সাধারণত আপনার চলকগুলির প্রকারের ঘোষণা করতে হয় যা ত্রুটিগুলি হ্রাস করার জন্য সংকলন সময়ে পরীক্ষা করা হয়। "স্ট্যাটিকালি টাইপড" এ "স্ট্যাটিক" শব্দটি "স্ট্যাটিক কোড এনালাইসিস" বোঝায়, যা কোডটি কার্যকর করার আগে পরীক্ষা করার প্রক্রিয়া is যদিও কোনও স্ট্যাটিক্যালি টাইপ করা ভাষার পক্ষে কোনও অভিব্যক্তি বা প্রকৃত প্যারামিটারের ডান হাত থেকে ভেরিয়েবলের ধরণটি নির্ধারণ করা সম্ভব হয়, তবে বাস্তবে বেশিরভাগ স্থিতিযুক্ত টাইপের ভাষাগুলিকে সুস্পষ্টভাবে ঘোষিত করার প্রয়োজন হয়।
সচলভাবে টাইপ করা ভাষাগুলির সাধারণত প্রকারভেদে ভেরিয়েবলের ঘোষণার প্রয়োজন হয় না এবং তারা প্রতিটি কার্যনির্বাহী বিবৃতিতে ডান হাতের ফাংশন বা ফাংশন কলের আসল পরামিতিগুলির মূল্যায়নের ফলাফল হিসাবে গণনা করা টাইপের ভিত্তিতে পরিবর্তনশীল প্রকারগুলি নির্ধারণ করে। যেহেতু ভেরিয়েবলটিকে তার জীবদ্দশায় একাধিক অ্যাসাইনমেন্ট দেওয়া যেতে পারে, সময়ের সাথে সাথে এর ধরণটি পরিবর্তিত হতে পারে এবং এজন্য এটিকে "গতিশীল টাইপড" বলা হয়। এছাড়াও, রানটাইম পরিবেশকে প্রতিটি ভেরিয়েবলের জন্য বর্তমান ধরণের ট্র্যাক রাখতে হবে, সুতরাং প্রকারটি ভেরিয়েবল ঘোষণার পরিবর্তে মানটির সাথে আবদ্ধ। এটি একটি রানটাইম ধরণের তথ্য (আরটিটিআই) সিস্টেম হিসাবে বিবেচনা করা যেতে পারে।
স্থিতিশীল এবং গতিশীল টাইপ করা ভাষার উপাদানসমূহ একত্রিত করা যেতে পারে। উদাহরণস্বরূপ, সি # স্ট্যাটিকাল এবং ডায়নামিকালি টাইপড ভেরিয়েবল উভয় সমর্থন করে এবং অবজেক্ট ওরিয়েন্টেড ল্যাঙ্গুয়েজগুলি সাধারণত হায়ারার্কি টাইপ ডাউন-কাস্টিং সমর্থন করে। স্ট্যাটিকালি টাইপ করা ভাষা সাধারণত টাইপ চেকিং বাইপাস করার বিভিন্ন উপায় সরবরাহ করে, উদাহরণস্বরূপ castালাই, প্রতিবিম্ব এবং গতিশীল প্রার্থনা ব্যবহার করে।
স্ট্রং বনাম দুর্বল টাইপিং একটি ভেরিয়েবল ব্যবহারের কারণে ভাষা বাগগুলি প্রতিরোধ করার জন্য কতটা চেষ্টা করে তার ধারাবাহিকতা বোঝায় যদি এটি আসলে অন্য ধরণের হয় তবে এটি এক প্রকারের। উদাহরণস্বরূপ সি এবং জাভা উভয়ই স্ট্যাটিস্টিকালি টাইপ করা ভাষা, তবে জাভা সি এর চেয়ে অনেক বেশি শক্তিশালী প্রকারের চেকিং ব্যবহার করে নিচের সি কোডটি সংকলন ও রান করতে খুশি, এবং রানটাইমের সময় চলক বিতে একটি এলোমেলো মান স্থাপন করবে, সম্ভবত সম্ভবত একটি কারণ বাগ:
char *a = "123";
int b = (int)a;
সমতুল্য জাভা কোড একটি সংকলন ত্রুটি তৈরি করবে, যা সাধারণত পছন্দনীয়:
String a = "123"
int b = (int)a;