"പ്രതിഫലനം (കമ്പ്യൂട്ടർ പ്രോഗ്രാമിങ്)" എന്ന താളിന്റെ പതിപ്പുകൾ തമ്മിലുള്ള വ്യത്യാസം

No edit summary
(ചെ.) യന്ത്രം: അക്ഷരപിശകുകൾ ശരിയാക്കുന്നു
വരി 2:
കമ്പ്യൂട്ടർ ശാസ്ത്രത്തിൽ, റൺടൈമിൽ സ്വന്തം ഘടനയും പെരുമാറ്റവും പരിശോധിക്കുന്നതിനും, ബോധ്യപ്പെടുത്തുന്നതിനും, മാറ്റം വരുത്തുന്നതിനുമുള്ള ഒരു കമ്പ്യൂട്ടർ പരിപാടിയുടെ പ്രതിഫലനമാണ് '''റിഫ്ലക്ഷൻ'''(reflection).<ref>[http://www2.parc.com/csl/groups/sda/projects/reflection96/docs/malenfant/malenfant.pdf A Tutorial on Behavioral Reflection and its Implementation by Jacques Malenfant et al.]</ref>
==ചരിത്രപരമായ പശ്ചാത്തലം==
ആദ്യകാല കമ്പ്യൂട്ടറുകൾ പ്രാദേശിക [[അസെംബ്ലി ഭാഷ|അസംബ്ലി]] ഭാഷയിൽ പ്രോഗ്രാം ചെയ്തിരുന്നു, അവ ആധികാരികമായി പ്രതിഫലിപ്പിക്കുന്നവയാണ്, ഈ നിർദ്ദിഷ്ട ആർക്കിറ്റക്ചറുകൾ ഡാറ്റ പോലെ നിർദ്ദേശങ്ങൾ നിർവ്വചിച്ച് സ്വയം പരിഷ്കരണ കോഡ് ഉപയോഗിച്ചുകൊണ്ടാണ് പ്രോഗ്രാം ചെയ്തത്. പ്രോഗ്രാമുകൾ അൽഗോൾ, [[കോബോൾ]], [[ഫോർട്രാൻ]] തുടങ്ങിയ ഉയർന്ന തലത്തിലുള്ള ഭാഷകളിലേക്ക് കംപൈൽ ചെയ്തു(അതുമാത്രമല്ല പാസ്കൽ, [[സി (പ്രോഗ്രാമിങ് ഭാഷ)|സി]] , മറ്റു പല ഭാഷകളും ഉൾപ്പെടുന്നു)പ്രോഗ്രാമിങ് ഭാഷകൾ തങ്ങളുടെ തരത്തിലുള്ള സംവിധാനത്തിലേക്ക് പുനർനിർമിക്കുന്നതുവരെപുനർനിർമ്മിക്കുന്നതുവരെ ഈ പ്രതിഫലന ശേഷി വലിയതോതിൽ അപ്രത്യക്ഷമായി.
 
1982-ൽ ബ്രയാൻ കാന്റ് വെൽ സ്മിത്തിന്റെ ഡോക്ടറേറ്റ് പ്രബന്ധം, പ്രോസീജറൽ [[പ്രോഗ്രാമിംഗ് ഭാഷ|പ്രോഗ്രാമിങ് ഭാഷകളിൽ]] കംപ്യൂട്ടേഷണൽ പ്രതിഫലനം എന്ന ആശയവും, 3-ലിസ്പിന്റെ ഘടകമായി മെറ്റാ-സർകുലർ ഇന്റർപ്രെറ്റർ എന്ന ആശയവും അവതരിപ്പിച്ചു.<ref>Brian Cantwell Smith, [http://hdl.handle.net/1721.1/15961 Procedural Reflection in Programming Languages], Department of Electrical Engineering and Computer Science, Massachusetts Institute of Technology, PhD dissertation, 1982.</ref><ref>Brian C. Smith. [http://publications.csail.mit.edu/lcs/specpub.php?id=840 Reflection and semantics in a procedural language]. Technical Report MIT-LCS-TR-272, Massachusetts Institute of Technology, Cambridge, Massachusetts, January 1982.</ref>
==ഉപയോഗങ്ങൾ==
പ്രതിഫലനം എന്നത് ഡാറ്റ പ്രദർശിപ്പിക്കുന്നതിന് സാധാരണ സോഫ്റ്റ്വെയർസോഫ്റ്റ്‌വേർ ലൈബ്രറികൾ, പ്രോഗ്രാമർമാരെ സഹായിക്കുന്നു. ഡാറ്റയുടെ വ്യത്യസ്ത ഫോർമാറ്റുകൾ പ്രോസസ്സ് ചെയ്യുക, ആശയവിനിമയത്തിനുള്ള ഡാറ്റയുടെ സീരിയലൈസേഷൻ അല്ലെങ്കിൽ ഡിസീരിയലൈസേഷൻ നടപ്പിലാക്കുക, അല്ലെങ്കിൽ കണ്ടെയ്നറുകൾക്ക് ഡാറ്റ കൂട്ടിച്ചേർക്കാനും ഒത്തുചേരുകയും അല്ലെങ്കിൽ ആശയവിനിമയത്തിന്റെ ആവിർഭാവം.
 
പ്രതിഫലനം ഫലപ്രദമായി ഉപയോഗിക്കുന്നതിന് എപ്പോഴും ഒരു പ്ലാൻ ആവശ്യമാണ്: ഒരു ഡിസൈൻ ചട്ടക്കൂട്, എൻകോഡിംഗ് വിവരണം, ഒബ്ജക്ട് ലൈബ്രറി, ഒരു ഡാറ്റാബേസ് അല്ലെങ്കിൽ എന്റിറ്റി റിലേഷൻസ് എന്നിവയുടെ ഒരു മാപ്പ്.