ഒരു കമ്പ്യൂട്ടർ പ്രോഗ്രാം പൂർത്തിയാക്കുന്നതിനുള്ള നിർദ്ദേശങ്ങളായി നിരവധി കമാൻഡുകൾ ഉപയോഗിക്കുന്ന ഒരു തരം കമ്പ്യൂട്ടർ പ്രോഗ്രാമിംഗ് ഭാഷയാണ് ഇമ്പറേറ്റീവ് പ്രോഗ്രാമിംഗ്. "നിർബന്ധം" എന്ന പേര് ലാറ്റിൻ ഇംപറേറ്റീവിൽ നിന്നാണ് വന്നത്, അതിനർത്ഥം "കൽപ്പന" എന്നാണ്. അതുപോലെ, ഡിക്ലറേറ്റീവ് പ്രോഗ്രാമിംഗ് പോലുള്ള മറ്റ് തരത്തിലുള്ള പ്രോഗ്രാമിംഗ് ഭാഷകളിൽ നിന്ന് വ്യത്യസ്തമായി, കമ്പ്യൂട്ടറിനോട് കൃത്യമായി എന്താണ് ചെയ്യേണ്ടതെന്ന് പറഞ്ഞുകൊണ്ടാണ് ഇംപെറേറ്റീവ് പ്രോഗ്രാമിംഗ് പ്രവർത്തിക്കുന്നത്, ഇത് അന്തിമഫലം വ്യക്തമാക്കുകയും കമ്പ്യൂട്ടറിനെ എങ്ങനെ എത്തിച്ചേരണമെന്ന് തീരുമാനിക്കാൻ അനുവദിക്കുകയും ചെയ്യുന്നു.
സങ്കീർണ്ണമായ സോഫ്റ്റ്വെയർ പ്രോജക്റ്റുകൾ നിർമ്മിക്കുമ്പോൾ നിർബന്ധിത പ്രോഗ്രാമിംഗ് ഉപയോഗിക്കാറുണ്ട്. കമ്പ്യൂട്ടറുകൾ എടുക്കുന്ന നിർദ്ദേശങ്ങളിൽ കൃത്യമായ നിയന്ത്രണം ഇത് അനുവദിക്കുന്നു, സങ്കീർണ്ണമായ ആപ്ലിക്കേഷനുകൾ സൃഷ്ടിക്കുമ്പോൾ ഇത് വളരെ സഹായകമാകും. ഡിക്ലറേറ്റീവ് പ്രോഗ്രാമിംഗ് ഉപയോഗിച്ച് സൃഷ്ടിച്ചതിനേക്കാൾ കൂടുതൽ പരിപാലിക്കാവുന്നതും വിപുലീകരിക്കാവുന്നതുമായ പ്രോഗ്രാമുകൾ സൃഷ്ടിക്കാൻ ഡെവലപ്പർമാരെ നിർബന്ധിത പ്രോഗ്രാമിംഗ് അനുവദിക്കുന്നു.
മറ്റ് പ്രോഗ്രാമിംഗ് മാതൃകകളിൽ നിന്ന് വ്യത്യസ്തമായി, നിർബന്ധിത പ്രോഗ്രാമിംഗ് ഭാഷകൾ അവയുടെ കമാൻഡുകൾ നിർദ്ദിഷ്ട ക്രമത്തിൽ ക്രമീകരിക്കുന്നില്ല. ഭാഷ ഫലപ്രദമായി ഉപയോഗിക്കുന്നതിന് പ്രോഗ്രാമർ ഓരോ ഭാഷയുടെയും വാക്യഘടനയും ഓരോ കമാൻഡിന് പിന്നിലെ യുക്തിയും പരിചിതനായിരിക്കണം എന്നാണ് ഇതിനർത്ഥം. C, C++, Java, Python എന്നിവയാണ് ഏറ്റവും സാധാരണയായി ഉപയോഗിക്കുന്ന നിർബന്ധിത പ്രോഗ്രാമിംഗ് ഭാഷകൾ.
കൃത്യമായ നിയന്ത്രണം കാരണം, ബിസിനസ്സ്, ഫിനാൻസ്, ശാസ്ത്ര മേഖലകളിൽ ഉപയോഗിക്കുന്ന തീവ്രമായ കണക്കുകൂട്ടലുകളോ കണക്കുകൂട്ടലുകളോ ഉൾപ്പെടുന്ന പ്രോഗ്രാമുകൾക്കായി നിർബന്ധിത പ്രോഗ്രാമിംഗ് തിരഞ്ഞെടുക്കപ്പെടുന്നു. വീഡിയോ ഗെയിമുകൾ അല്ലെങ്കിൽ മൊബൈൽ ഉപകരണങ്ങൾക്കുള്ള ആപ്ലിക്കേഷനുകൾ പോലുള്ള വേഗതയ്ക്ക് മുൻഗണന നൽകുന്ന പ്രോജക്റ്റുകൾക്ക് ഇത്തരത്തിലുള്ള പ്രോഗ്രാമിംഗ് അനുയോജ്യമല്ല.
കമ്പ്യൂട്ടർ പ്രോഗ്രാമിംഗ് ലോകത്തിന്റെ ഒരു പ്രധാന ഭാഗമാണ് ഇംപെറേറ്റീവ് പ്രോഗ്രാമിംഗ്, സോഫ്റ്റ്വെയർ ഡെവലപ്മെന്റ് ടെക്നിക്കുകൾ പരിഷ്കരിക്കുന്നതിനും കൂടുതൽ സങ്കീർണ്ണമായ കമ്പ്യൂട്ടർ പ്രോഗ്രാമുകൾ നിർമ്മിക്കുന്നതിനും ഇത് ഉപയോഗിക്കുന്നു. ഈ ഭാഷകൾ മനസ്സിലാക്കുന്നത് പ്രോഗ്രാമുകളുടെ കൂടുതൽ കാര്യക്ഷമവും വിജയകരവുമായ വികസനത്തിന് അനുവദിക്കുന്നതിനാൽ, ഏതൊരു പ്രോഗ്രാമർക്കും നിർബന്ധിത പ്രോഗ്രാമിംഗ് ഭാഷാ വാക്യഘടനയെക്കുറിച്ച് പ്രവർത്തനപരമായ അറിവ് ഉണ്ടായിരിക്കേണ്ടത് പ്രധാനമാണ്.