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

വിക്കിപീഡിയ, ഒരു സ്വതന്ത്ര വിജ്ഞാനകോശം.
(Procedural programming language എന്ന താളിൽ നിന്നും തിരിച്ചുവിട്ടതു പ്രകാരം)
Jump to navigation Jump to search

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

പ്രൊസീജറൽ പ്രോഗ്രാമിങ്ങിനായി ഹാർഡ്വെയർ പിന്തുണ കമ്പ്യൂട്ടർ പ്രോസസറുകൾ നൽകുന്നു, ഒരു സ്റ്റാക്ക് റജിസ്റ്റർ വഴിയും കോൾ നടപടിക്രമങ്ങൾ സംബന്ധിച്ച നിർദേശങ്ങളിലൂടെയും അവയിൽ നിന്ന് തിരികെയെത്തണം. മറ്റ് തരത്തിലുള്ള പ്രോഗ്രാമിംഗിനുള്ള ഹാർഡ്വെയർ പിന്തുണ സാധ്യമാണ്, പക്ഷേ ഒരു ശ്രമവും വാണിജ്യപരമായി വിജയിച്ചില്ല (ഉദാഹരണത്തിന് ലിസ്പ് മെഷീനുകൾ അല്ലെങ്കിൽ ജാവ പ്രോസ്സസറുകൾ [വൈരുദ്ധ്യം]).

നടപടിക്രമങ്ങളും മോഡുലാരിറ്റിയും[തിരുത്തുക]

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

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

ഒരു ലളിതമായ ഇന്റർഫെയിസ്, സ്വയമായി അടങ്ങിയിരിക്കാനും പുനരുപയോഗിക്കാനുമുള്ള കഴിവ് കാരണം, പ്രോഗ്രാമുകൾ കോഡുകളുടെ ഭാഗങ്ങൾ സൃഷ്ടിക്കുന്നതിനുള്ള പ്രോഗ്രാമിൽ ലൈബ്രറികൾ ഉൾപ്പെടെ വ്യത്യസ്ത ആളുകളോ വ്യത്യസ്ത ഗ്രൂപ്പുകൾകളോ എഴുതിയതാണ്.

മറ്റ് പ്രോഗ്രാമിങ് മാതൃകളുമായി താരതമ്യപ്പെടുത്തൽ[തിരുത്തുക]

ഇംപെറേറ്റീവ് പ്രോഗ്രാമിംഗ്[തിരുത്തുക]

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

ഒബ്ജക്റ്റ് ഓറിയന്റഡ് പ്രോഗ്രാമിങ്[തിരുത്തുക]

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

Procedural Object-oriented
procedure method
record object
module class
procedure call message

അവലംബം[തിരുത്തുക]

  1. "Welcome to IEEE Xplore 2.0: Use of procedural programming languages for controlling production systems". ieeexplore.ieee.org. ശേഖരിച്ചത് 2008-04-06.
  2. Stevenson, Joseph. "Procedural programming vs object oriented programming". neonbrand.com. ശേഖരിച്ചത് 2013-08-19.