സോഴ്സ് കോഡ് (കമ്പ്യൂട്ടിംഗ്)
പ്രോഗ്രാം എക്സിക്യൂഷൻ |
---|
പൊതുവായ ആശയങ്ങൾ |
|
ടൈപ്പ്സ് ഓഫ് കോഡ് |
|
കംപലേഷൻ സ്ട്രാറ്റെജീസ് |
|
ശ്രദ്ധേയമായ റൺടൈമുകൾ |
|
ശ്രദ്ധേയമായ കംപൈലറുകളും ടൂൾചെയിനുകളും |
|
കമ്പ്യൂട്ടിംഗിൽ, സോഴ്സ് കോഡ് എന്നത് ഏതൊരു കോഡിന്റെയും ശേഖരമാണ്, ഒരുപക്ഷേ കമന്റുകളോടെ[1], മനുഷ്യന് വായിക്കാൻ കഴിയുന്ന പ്രോഗ്രാമിംഗ് ഭാഷ ഉപയോഗിച്ച് സാധാരണ പ്ലെയിൻ ടെക്സ്റ്റ് ആയി എഴുതിയതാണ്. ഒരു പ്രോഗ്രാമിന്റെ സോഴ്സ് കോഡ് പ്രത്യേകമായി രൂപകൽപ്പന ചെയ്തിരിക്കുന്നത് കമ്പ്യൂട്ടർ പ്രോഗ്രാമർമാരുടെ ജോലി സുഗമമാക്കുന്നതിനാണ്, അവർ ഒരു കമ്പ്യൂട്ടർ നിർവ്വഹിക്കേണ്ട പ്രവർത്തനങ്ങൾ സോഴ്സ് കോഡ് എഴുതിക്കൊണ്ട് വ്യക്തമാക്കുന്നു. ഉറവിട കോഡ് പലപ്പോഴും ഒരു അസംബ്ലർ അല്ലെങ്കിൽ കംപൈലർ കമ്പ്യൂട്ടറിന് മനസ്സിലാകുന്ന ബൈനറി യന്ത്രഭാഷയിലേക്ക് പരിവർത്തനം ചെയ്യുന്നു. മെഷീൻ കോഡ് പിന്നീട് നടപ്പിലാക്കുന്നതിനായി സംഭരിക്കാം. പകരമായി, സോഴ്സ് കോഡ് വ്യാഖ്യാനിക്കുകയും ഉടനടി നടപ്പിലാക്കുകയും ചെയ്യാം.
എക്സിക്യൂട്ടബിൾ ഫയലുകൾ മാത്രം ഉൾക്കൊള്ളുന്ന ഒരു ഫോമിലാണ് മിക്ക ആപ്ലിക്കേഷൻ സോഫ്റ്റ്വെയറുകളും വിതരണം ചെയ്യുന്നത്. സോഴ്സ് കോഡ് ഉൾപ്പെടുത്തിയിട്ടുണ്ടെങ്കിൽ ഇത് ഒരു ഉപയോക്താവിനോ പ്രോഗ്രാമറിനോ സിസ്റ്റം അഡ്മിനിസ്ട്രേറ്റർക്കോ ഉപയോഗപ്രദമാകും, അവരിൽ ആരെങ്കിലും പ്രോഗ്രാം പഠിക്കാനോ പരിഷ്ക്കരിക്കാനോ ആഗ്രഹിക്കുന്നു.
നിർവചനങ്ങൾ
[തിരുത്തുക]സോഴ്സ് കോഡിനെ ലിനക്സ് ഇൻഫർമേഷൻ പ്രോജക്റ്റ് നിർവചിക്കുന്നത് ഇപ്രകാരമാണ്: [2]
സോഫ്റ്റ്വെയറിന്റെ പതിപ്പാണ് സോഴ്സ് കോഡ് (ഉറവിടം അല്ലെങ്കിൽ കോഡ് എന്നും അറിയപ്പെടുന്നു) ഇത് യഥാർത്ഥത്തിൽ എഴുതിയത് (അതായത്, കമ്പ്യൂട്ടറിലേക്ക് ടൈപ്പുചെയ്തത്) പ്ലെയിൻ ടെക്സ്റ്റിൽ ഒരു മനുഷ്യനാൽ എഴുതപ്പെട്ടവയാണ് (അതായത്, മനുഷ്യന് വായിക്കാൻ കഴിയുന്ന ആൽഫാന്യൂമെറിക് പ്രതീകങ്ങൾ).
മെഷീൻ കോഡും ഗ്രാഫിക്കൽ ഭാഷകളിലെ നൊട്ടേഷനുകളും ഉൾപ്പെടുത്തുന്നതിന് സോഴ്സ് കോഡിനെക്കുറിച്ചുള്ള ആശയം കൂടുതൽ വിശാലമായി എടുക്കാം, ഇവ രണ്ടും വാചക സ്വഭാവമല്ല. വാർഷിക ഐഇഇഇ കോൺഫറൻസിനെക്കുറിച്ചും സോഴ്സ് കോഡ് വിശകലനത്തെക്കുറിച്ചും കൃത്രിമത്വത്തെക്കുറിച്ചും അവതരിപ്പിച്ച ലേഖനത്തിൽ നിന്നുള്ള ഒരു ഉദാഹരണം ചുവടെ ചേർക്കുന്നു:[3]
വ്യക്തതയ്ക്കായി "സോഴ്സ് കോഡ്" ഒരു സോഫ്റ്റ്വേർ സിസ്റ്റത്തിന്റെ പൂർണ്ണമായി എക്സിക്യൂട്ടബിൾ വിവരണത്തെ അർത്ഥമാക്കുന്നു. അതിനാൽ മെഷീൻ കോഡ്, വളരെ ഉയർന്ന തലത്തിലുള്ള ഭാഷകൾ, സിസ്റ്റങ്ങളുടെ എക്സിക്യൂട്ടബിൾ ഗ്രാഫിക്കൽ പ്രാതിനിധ്യം എന്നിവ ഉൾക്കൊള്ളുന്നതാണ് ഇത്.[4]
ഒരു മനുഷ്യൻ ടൈപ്പുചെയ്ത ഒറിജിനൽ സോഴ്സ് കോഡും എക്സിക്യൂട്ടബിൾ പ്രോഗ്രാമും തമ്മിൽ പലപ്പോഴും പ്രോഗ്രാം വിവർത്തനത്തിന്റെയോ ചെറുതാക്കലിന്റെയോ നിരവധി ഘട്ടങ്ങളുണ്ട്. എഫ്എസ്എഫ് പോലെ ചിലർ, ഒരു ഇന്റർമീഡിയറ്റ് ഫയൽ "യഥാർത്ഥ സോഴ്സ് കോഡല്ലെന്നും സോഴ്സ് കോഡായി കണക്കാക്കുന്നില്ല" എന്നും വാദിക്കുമ്പോൾ, [5] മറ്റുള്ളവർക്ക് ഓരോ ഇന്റർമീഡിയറ്റ് ഫയലിനെയും അടുത്ത ഘട്ടങ്ങൾക്കായി സോഴ്സ് കോഡായി പരാമർശിക്കുന്നത് സൗകര്യപ്രദമാണ്.
പശ്ചാത്തലം
[തിരുത്തുക]1940-കളുടെ അവസാനത്തിൽ പ്രത്യക്ഷപ്പെട്ട ആദ്യത്തെ പ്രോഗ്രാമബിൾ കമ്പ്യൂട്ടറുകൾ,[6]മെഷീൻ ഭാഷയിലാണ് പ്രോഗ്രാം ചെയ്തത് (പ്രോസസറിൽ നേരിട്ട് നടപ്പിലാക്കാൻ കഴിയുന്ന ലളിതമായ നിർദ്ദേശങ്ങൾ). മെഷീൻ കോഡ് ഡീബഗ് ചെയ്യാൻ ബുദ്ധിമുട്ടുള്ളതും ഒരു കമ്പ്യൂട്ടറിൽ എഴുതിയ മെഷീൻ കോഡ് മറ്റൊരു കമ്പ്യൂട്ടറിൽ കൈമാറ്റം ചെയ്യാൻ സാധിക്കുമായിരുന്നില്ല[7]. കമ്പ്യൂട്ടിംഗിൻ്റെ ആദ്യകാലങ്ങളിൽ, ഹാർഡ്വെയർ വിരളവും വളരെ ചെലവേറിയതുമായിരുന്നു, അതിനാൽ അത് കാര്യക്ഷമമായി ഉപയോഗിക്കേണ്ടത് അത്യാവശ്യമാണ്. പ്രോഗ്രാമർമാർ ഉൾപ്പെടെയുള്ള മനുഷ്യാധ്വാനം താരതമ്യപ്പെടുത്തുമ്പോൾ താരതമ്യേന വിലകുറഞ്ഞതായിരുന്നു. സാങ്കേതികവിദ്യ വികസിച്ചുവരുന്നതിനുസരിച്ച്, ഹാർഡ്വെയർ കൂടുതൽ താങ്ങാനാവുന്നതും ശക്തവുമായിത്തീർന്നു, അതേസമയം ഉയർന്ന ഡിമാൻഡ് കാരണം വിദഗ്ദ്ധരായ ആളുകളുടെ അധ്വാനം കൂടുതൽ ചെലവേറിയതായി മാറി[8][9]. പ്രോഗ്രാമുകൾ കൂടുതൽ സങ്കീർണ്ണമായതിനാൽ, മെഷീൻ കോഡിൽ അവ എഴുതുന്നത് മന്ദഗതിയിലാവുകയും പിശകുകൾ ഉണ്ടാകുകയും ചെയ്തു. പ്രോഗ്രാമിംഗ് എളുപ്പത്തിലും വേഗത്തിലും ആക്കുന്നതിനായി, 1950-കളുടെ മധ്യത്തിൽ ഫോർട്രാൻ പോലുള്ള ഹൈ ലെവൽ ലാങ്വജുകൾ അവതരിപ്പിച്ചു. ഈ ഭാഷകൾ മനുഷ്യ ഭാഷയുമായി കൂടുതൽ അടുത്തു, അവ വായിക്കാനും എഴുതാനും മനസ്സിലാക്കാനും എളുപ്പമാക്കി. ഇത് പ്രോഗ്രാമർമ്മാരുടെ ഉൽപ്പാദനക്ഷമതയെ വളരെയധികം മെച്ചപ്പെടുത്തുകയും കൂടുതൽ നൂതനമായ സോഫ്റ്റ്വെയർ വികസിപ്പിക്കാൻ അനുവദിക്കുകയും ചെയ്തു.
അവലംബം
[തിരുത്തുക]- ↑ 1.0 1.1 "Programming in C: A Tutorial" (PDF). Archived from the original (PDF) on 23 February 2015.
- ↑ The Linux Information Project. "Source Code Definition".
- ↑ SCAM Working Conference, 2001–2010.
- ↑ Why Source Code Analysis and Manipulation Will Always Be Important by Mark Harman, 10th IEEE International Working Conference on Source Code Analysis and Manipulation (SCAM 2010). Timişoara, Romania, 12–13 September 2010.
- ↑ "gnu.org". www.gnu.org.
- ↑ Gabbrielli & Martini 2023, പുറങ്ങൾ. 520–521.
- ↑ Gabbrielli & Martini 2023, പുറം. 522.
- ↑ Gabbrielli & Martini 2023, പുറം. 521.
- ↑ Tracy 2021, പുറം. 1.