"ഇംപെറേറ്റീവ് പ്രോഗ്രാമിംഗ്" എന്ന താളിന്റെ പതിപ്പുകൾ തമ്മിലുള്ള വ്യത്യാസം

വരി 10:
 
==ഇംപെറേറ്റീവ് പ്രോഗ്രാമിന്റെ ന്യായവാദവും അടിസ്ഥാനവും==
മിക്കവാറും എല്ലാ കമ്പ്യൂട്ടറുകളുടെയും ഹാർഡ്വെയർ നടപ്പിലാക്കേണ്ടത് അനിവാര്യമാണ്(imperative). ഏതാണ്ട് എല്ലാ കമ്പ്യൂട്ടർ ഹാർഡ്വെയറുകളും [[യന്ത്രഭാഷ|മെഷീൻ കോഡ്]] നടപ്പിലാക്കാൻ രൂപകൽപ്പന ചെയ്‌തിരിക്കുന്നു. കമ്പ്യൂട്ടറിന് അനിവാര്യമായതും അവശ്യ ശൈലിയിൽ എഴുതിയതുമാണ്. നിമ്ന തലത്തിൽ (low-level) നിന്നുള്ള വീക്ഷണത്തിൽ നിന്ന്, മെമ്മറിയിലെ ഉള്ളടക്കങ്ങളാൽ പ്രോഗ്രാമിന്റെ അവസ്ഥ നിർവ്വചിക്കപ്പെടുന്നു. കൂടാതെ കമ്പ്യൂട്ടറിന്റെ നൈസർഗ്ഗികമായ യന്ത്ര ഭാഷയിലും നിർദ്ദേശങ്ങൾ നൽകുന്നു. ഉയർന്ന തലത്തിലുള്ള നിർദ്ദിഷ്ട ഭാഷകൾ വേരിയബിളുകളും കൂടുതൽ സങ്കീർണ്ണമായ പ്രസ്താവനകളും ഉപയോഗിക്കുന്നു. പക്ഷേ ഇപ്പോഴും അതേ മാതൃക പിന്തുടരുന്നു. കാര്യനിർവ്വഹണമാർഗ്ഗങ്ങൾ, പ്രോസസ് ചെക്ക് ലിസ്റ്റുകൾ, കമ്പ്യൂട്ടർ പ്രോഗ്രാമുകൾ ഇല്ലാത്തപ്പോൾ, ഇംപെറേറ്റീവ് പ്രോഗ്രാമിങ് രീതിയിൽ സമാനമായ പരിചിതമായ ആശയങ്ങളാണിവ. ഓരോ ചുവടിലും നിർദ്ദേശങ്ങൾ അടങ്ങിയിട്ടുണ്ട്, ഭൗതിക ലോകം ഈ അവസ്ഥയെ നിലനിർത്തുന്നു. ഇംപെറേറ്റീവ് പ്രോഗ്രാമിംഗിന്റെ അടിസ്ഥാന ആശയങ്ങൾ മുതൽ രണ്ടും ആശയപരമായി സുപരിചിതങ്ങളാണ്, നേരിട്ട് ഹാർഡ്വെയർ തത്ത്വങ്ങളെ പ്രവർത്തനങ്ങളിലൂടെ ഉൾപ്പെടുത്തിയിട്ടുണ്ട്, മാത്രമല്ല മിക്ക കമ്പ്യൂട്ടർ ഭാഷകളും ഇംപെറേറ്റീവ് ശൈലിയിലാണ് തുടർന്നുപോരുന്നത്. അസൈൻമെന്റ് പ്രസ്താവനകൾ, ഇംപെറേറ്റീവ് ശൈലിയിൽ, മെമ്മറിയിൽ ലഭ്യമായിട്ടുള്ള വിവരങ്ങളിൽ ഒരു പ്രവർത്തനം നടത്തുകയും, പിന്നീട് ഉപയോഗത്തിനായി മെമ്മറിയിൽ സൂക്ഷിക്കുകയും ചെയ്യുന്നു. ഉയർന്ന തലത്തിലുള്ള ഇംപെറേറ്റീവ് ഭാഷകൾ കൂടാതെ, സങ്കീർണ്ണമായ എക്സ്പ്രഷനുകളുടെ വിലയിരുത്തൽ അനുവദിക്കുന്നു, അരിത്മെറ്റിക് പ്രവർത്തനവും ഫങ്ഷൻ മൂല്യനിർണ്ണയവും ചേർന്ന ഒരു സംഖ്യയും, കൂടാതെ മെമ്മറിയിലേക്കുള്ള തൽസമയ മൂല്യത്തിന്റെ അസൈൻമെന്റും ഉൾപ്പെടുന്നു. ലൂപ്പുചെയ്യുന്ന സ്റ്റേറ്റ്മെന്റുകൾ (വൈയിൽ ലൂപ്പ്(while loop), ഡു വൈൽ ലൂപ്പ്(do while loop), ഫോർ ലൂപ്പ്(for loop))ഒന്നിലധികം തവണ സ്റ്റേറ്റ്മെന്റിന്റെ ശ്രേണി എക്സിക്യൂട്ട് ചെയ്യാൻ അനുവദിക്കുന്നു. ലൂപ്പിന് ഒന്നുകിൽ മുൻനിർവചിച്ച തവണവരെ സ്റ്റേറ്റ്മെന്റ് എക്സിക്യൂട്ട് ചെയ്യാം അല്ലെങ്കിൽ ചില വ്യവസ്ഥകൾ മാറ്റുന്നതുവരെ അവ ആവർത്തിച്ചു നിർവ്വഹിക്കാൻ കഴിയും. ചില വ്യവസ്ഥകൾ പാലിക്കപ്പെട്ടിട്ടുണ്ടെങ്കിൽ മാത്രമേ വ്യവസ്ഥാപിത ബ്രാഞ്ചിംഗ് പ്രസ്താവനകൾ നടപ്പിലാക്കാൻ അനുമതിയുള്ളൂ. അല്ലെങ്കിൽ, പ്രസ്താവനകൾ ഒഴിവാക്കിയശേഷം, സ്റ്റേറ്റ്മെന്റ് അവയെ പിന്തുടരുകയും നിർവഹണ ശ്രേണി തുടർന്നുവരുകയും ചെയ്യുന്നു. ഒരു പ്രോഗ്രാമിന്റെ മറ്റൊരു ഭാഗം കൈമാറുന്ന നിർവഹണ ശ്രേണി നിരുപാധിക ബ്രാഞ്ചിംഗ് പ്രസ്താവനകൾ അനുവദിക്കുന്നു. ഇവിടെ ജമ്പ് ഉൾപ്പെടുന്നു(പല ഭാഷകളിലും ഗോടു(goto) എന്നു വിളിക്കുന്നു), സ്വിച്ചുപ്രോഗ്രാം, അതിന്റെ ഉപപ്രോഗ്രാം സബ്റൂട്ടീൻ, അല്ലെങ്കിൽ പ്രൊസീജർ കോൾ (കോൾ കഴിഞ്ഞാൽ ഇത് സാധാരണയായി അടുത്ത പ്രസ്താവനയിലേക്ക് മടങ്ങുന്നു). ഉയർന്ന നിലവാരമുള്ള പ്രോഗ്രാമിങ് ഭാഷകളുടെ തുടക്കത്തിൽ, ബ്ളോക്കിലെ ആമുഖം ഒരു കൂട്ടം സ്റ്റേറ്റ്മെൻറുകളും പ്രഖ്യാപനങ്ങളും ഒറ്റ പ്രസ്താവനയായി കണക്കാക്കിയിരുന്ന പ്രോഗ്രാമുകളുടെ നിർമ്മാണത്തെ സഹായിച്ചു. സബ്റൂട്ടീനുകളുടെ മുഖവുരയോടൊപ്പം, ലളിതമായ പ്രക്രിയാപരമായ ഘടനയിലേക്ക് ഹയറാജിക്കൽ സിദ്ധാന്തം അവതരിപ്പിക്കുന്നതിന് സങ്കീർണ ഘടനകളെ പ്രാപ്തമാക്കി. പല ഇംപെറേറ്റീവ് പ്രോഗ്രാമിങ് ഭാഷകളും ([[ഫോർട്രാൻ]], [[ബേസിക്]], [[സി (പ്രോഗ്രാമിങ് ഭാഷ)|സി ]]എന്നിവ പോലുള്ളവ) [[അസെംബ്ലി ഭാഷ|അസംബ്ലിഭാഷയുടെ]] അമൂർത്തമാണ്അബ്സ്ട്രാക്ഷനാണ്.<ref>{{cite book|author=Bruce Eckel|title=Thinking in Java|url=https://books.google.com/?id=bQVvAQAAQBAJ&pg=PA24&lpg=PA24&dq=imperative#v=onepage&q=imperative&f=false|publisher=[[Pearson Education]]|year=2006|isbn=978-0-13-187248-6|page=24}}</ref>
 
==ഇംപെറേറ്റീവ്, ഒബ്ജക്റ്റ് ഓറിയെന്റഡ് ഭാഷകളുടെ ചരിത്രം==
"https://ml.wikipedia.org/wiki/ഇംപെറേറ്റീവ്_പ്രോഗ്രാമിംഗ്" എന്ന താളിൽനിന്ന് ശേഖരിച്ചത്