പ്രോസീജറൽ പ്രോഗ്രാമിംഗ്

ഒരു പ്രോഗ്രാമിനെ ഫംഗ്‌ഷനുകൾ അല്ലെങ്കിൽ സബ്‌റൂട്ടീനുകൾ എന്ന് വിളിക്കുന്ന ചെറിയ ടാസ്‌ക്കുകളായി വിഭജിക്കുന്ന കോഡ് എഴുതുന്നതിനുള്ള ഒരു മാർഗമാണ് **പ്രൊസീജറൽ പ്രോഗ്രാമിംഗ്**. ഓരോ ഫംഗ്‌ഷനും ഒരു പ്രത്യേക ജോലി ചെയ്യുന്നു, കൂടാതെ മുഴുവൻ ജോലിയും പൂർത്തിയാക്കാൻ അവ പടിപടിയായി ഒരുമിച്ച് പ്രവർത്തിക്കുന്നു. സബ്ബ് റൂട്ടീനുകൾ(subroutines), അല്ലെങ്കിൽ ഫംഗ്ഷനുകൾ കൈകാര്യം ചെയ്യാനായി കമ്പ്യൂട്ടേഷണൽ ഘട്ടങ്ങൾ ഒരു ശ്രേണിയിൽ ഉൾക്കൊള്ളുന്നു. നൽകിയ ഏതെങ്കിലും പ്രൊസീജറുകൾ പ്രോഗ്രാമിന്റെ നിർവ്വഹണസമയത്ത് ഏതെങ്കിലും ഘട്ടത്തിൽ വിളിക്കാം, മറ്റ് പ്രോസീജറുകൾ അല്ലെങ്കിൽ അത് തന്നെയോ ഉൾപ്പെടെ. ഫോർട്രാൻ, അൽഗോൾ (ALGOL), കോബോൾ (COBOL), ബേസിക് (BASIC) ഉൾപ്പെടെ 1960 ൽ ആദ്യമായി നിർണായകമായ പ്രധാന പ്രൊസീജറൽ പ്രോഗ്രാമിംഗ് ഭാഷകൾ പ്രത്യക്ഷപ്പെട്ടു. പാസ്കലും സിയും 1970 കളുടെ തുടക്കത്തിൽ പ്രസിദ്ധീകരിച്ചു.

കമ്പ്യൂട്ടർ പ്രോസസറുകൾ ഒരു സ്റ്റാക്ക് രജിസ്റ്ററിലൂടെ പ്രൊസീജറൽ പ്രോഗ്രാമിംഗിനുള്ള ഹാർഡ്‌വെയർ പിന്തുണയും കോളിംഗ് പ്രോസീജർ നിർദ്ദേശങ്ങളും അവയിൽ നിന്ന് മടങ്ങിവരുന്നതിനുള്ള നിർദ്ദേശങ്ങളും നൽകുന്നു. മറ്റ് തരത്തിലുള്ള പ്രോഗ്രാമിംഗുകൾക്കുള്ള ഹാർഡ്‌വെയർ പിന്തുണ സാധ്യമാണ്, എന്നാൽ വാണിജ്യപരമായി ഒരു ശ്രമവും വിജയിച്ചില്ല (ഉദാഹരണത്തിന് ലിസ്പ് മെഷീനുകൾ അല്ലെങ്കിൽ ജാവ പ്രോസസ്സറുകൾ മുതലയാവ).
## നടപടിക്രമങ്ങളും മോഡുലാരിറ്റിയും
സാധാരണഗതിയിൽ, പ്രത്യേകിച്ച് വലിയ, സങ്കീർണ്ണമായ പ്രോഗ്രാമുകളിൽ മോഡുലാരിറ്റി സാദ്ധ്യമാണ്. ആർഗ്യുമെന്റുകളുടെയും റിട്ടേൺ മൂല്യങ്ങളായി നൽകപ്പെട്ട ഔട്പുട്ടുകൾക്കും ഇൻപുട്ടുകൾ സാധാരണയായി വാക്യഘടന നൽകുന്നു. സ്കോപ്പിംഗ് മറ്റൊരു രീതിയാണ് ഇത് നടപടിക്രമങ്ങളെ ഘടകങ്ങളാക്കാൻ സഹായിക്കുന്നു. സ്‌പഷ്‌ടമായ അംഗീകാരമില്ലാതെ തന്നെ, മുമ്പത്തെ ഉദാഹരണങ്ങൾ ഉൾപ്പെടെ  മറ്റ് നടപടിക്രമങ്ങളുടെ വേരിയബിളുകൾ ആക്സസ് ചെയ്യുന്നതിനുള്ള നടപടിക്രമത്തെ തടയുന്നു (തിരിച്ചും).

ചെറിയതോ വേഗത്തിൽ എഴുതപ്പെട്ടതോ ആയ പ്രോഗ്രാമുകളിൽ ഉപയോഗിക്കപ്പെടുന്ന ലളിതമായ രീതികൾ, നിർവ്വഹണ പരിസ്ഥിതിയിൽ വളരെയധികം വേരിയബിളുകളുമായി ഇടപഴകുന്നതിന് ഇടയാക്കും, മറ്റ് നടപടിക്രമങ്ങളിലും മാറ്റം വരുത്താവുന്നതാണ്.

ഒരു ലളിതമായ ഇന്റർഫെയിസ്, സ്വയമായി അടങ്ങിയിരിക്കാനും പുനരുപയോഗിക്കാനുമുള്ള കഴിവ് കാരണം, പ്രോഗ്രാമുകൾ കോഡുകളുടെ ഭാഗങ്ങൾ സൃഷ്ടിക്കുന്നതിനുള്ള പ്രോഗ്രാമിൽ ലൈബ്രറികൾ ഉൾപ്പെടെ വ്യത്യസ്ത ആളുകളോ വ്യത്യസ്ത ഗ്രൂപ്പുകൾകളോ എഴുതിയതാണ്.
## മറ്റ് പ്രോഗ്രാമിങ് മാതൃകളുമായി താരതമ്യപ്പെടുത്തൽ
### ഇംപെറേറ്റീവ് പ്രോഗ്രാമിംഗ്
പ്രൊസീജറൽ പ്രോഗ്രാമിങ് ഭാഷകൾ ഇംപെറേറ്റീവ് ഭാഷകൾ കൂടിയാണ്, കാരണം അവ നിർവ്വഹണ പരിതഃസ്ഥിതിയെക്കുറിച്ച് വ്യക്തമായ പരാമർശങ്ങൾ നൽകുന്നു. ഇത് വേരിയബിളുകളിൽ നിന്നും എന്തും ആയിരിക്കാം(പ്രോസസ്സർ രജിസ്റ്ററുകളുമായി ബന്ധപ്പെട്ടിരിക്കാം)ലോഗോ പ്രോഗ്രാമിങ് ഭാഷയിലെ "ടർട്ടിൽ(turtle)" സ്ഥാനം വരെ. പലപ്പോഴും, "പ്രൊസീജറൽ പ്രോഗ്രാമിങ്", "ഇംപെറേറ്റീവ് പ്രോഗ്രാമിങ്" പര്യായമായി ഉപയോഗിച്ചു. എന്നിരുന്നാലും, പ്രൊസീജറൽ പ്രോഗ്രാമിങ് എന്നത് ബ്ളോക്കുകളുടെയും സ്കോപ്പുകളുടെയും അടിസ്ഥാനത്തിലാണ്. പ്രോസീജറൽ ഭാഷകൾ പൊതുവെ ബ്ലോക്കുകളിൽ പ്രവർത്തിക്കുന്ന റിസർവ്ഡ് പദങ്ങളെ ഉപയോഗിക്കുന്നു, `as if`, `while`, `as if`, `for` മുതലായവ നിയന്ത്രണം ഒഴുക്ക് നടപ്പാക്കുന്നു, അതേസമയം, നോൺ-സ്ട്രക്ചേർഡ് ഇംപെറേറ്റീവ് ഭാഷകൾ `goto` സ്റ്റേറ്റ്മെൻറും ബ്രാഞ്ച് ടേബിളുകളും ഉപയോഗിക്കുന്നു.

### ഒബ്ജക്റ്റ് ഓറിയന്റഡ് പ്രോഗ്രാമിങ്
പ്രൊസീജറൽ പ്രോഗ്രാമിങ്ങിന്റെ ശ്രദ്ധ കേന്ദ്രീകരിക്കുന്നത് പ്രോഗ്രാമിങ് ടാസ്ക് ബ്രേക്ക് ഡൗൺ ചെയ്ത് വേരിയബിളുകൾ , ഡാറ്റാ സ്ട്രക്ച്ചറുകൾ, സബ്റൂട്ടീനുകൾ മുതലയാവ ശേഖരിക്കുകയും, അതേ സമയം, ഒബ്ജക്റ്റ് ഓറിയെന്റഡ് പ്രോഗ്രാമിങ്ങിൽ ഒരു പ്രോഗ്രാമിങ് ടാസ്ക്ക് ഇന്റർഫെയ്സുകൾ ഉപയോഗിച്ചുകൊണ്ടുള്ള സ്വഭാവരീതി (മാർഗ്ഗങ്ങൾ), ഡാറ്റ (അംഗങ്ങൾ അല്ലെങ്കിൽ ആട്രിബ്യൂട്ടുകൾ) എന്നിവ പുറത്തുകൊണ്ടുവരുന്നു. അവ തമ്മിലുള്ള നിർണായകമായ വ്യത്യാസം, പ്രോസസ് പ്രോഗ്രാമിങ് ഡാറ്റാ സ്ട്രക്ച്ചറുകളിൽ പ്രവർത്തിക്കാൻ വേണ്ട നടപടിക്രമങ്ങൾ ഉപയോഗിക്കുമ്പോൾ, ഒബ്ജക്റ്റ് ഓറിയെന്റഡ് പ്രോഗ്രാമിങ് ഒരുമിച്ച് പ്രവർത്തിക്കുന്നു എന്നതാണ്. അതിനാൽ ഒരു "ഒബ്ജക്ട്" ഒരു ക്ലാസിലെ ഒരു ഉദാഹരണം, അതിന്റെ "സ്വന്തം" ഡാറ്റ ഘടനയിൽ പ്രവർത്തിക്കുന്നു.
പദങ്ങൾ സമാനമായ അർത്ഥവിജ്ഞാനീയമുള്ളതാണെങ്കിലും, അവ തമ്മിൽ രണ്ടുതരം വ്യത്യാസമുണ്ട്:

## അവലംബം

വർഗ്ഗം:പ്രോഗ്രാമിങ് ശൈലികൾ