ഫോർട്രാൻ എന്ന പ്രോഗ്രാമിംഗ് ഭാഷയും കാലാവസ്ഥാ പ്രവചനവും

Read Time:11 Minute

ഡോ. ജയശങ്കര്‍ സി ബി
Post-Doctoral Research Associate, Center for Ocean-Atmospheric Prediction Studies (COAPS),
Florida State University

Python, C, JAVA എന്നിങ്ങനെ പലതരം പ്രോഗ്രാമിംഗ് ഭാഷകളെ കുറിച്ച് നമ്മൾ ഒരുപക്ഷെ കേട്ടുകാണും. പക്ഷേ ഇവക്കൊക്കെ മുന്നേ രൂപംകൊണ്ട FORTRAN (FORmula TRANSlation എന്ന പ്രോഗ്രാമിംഗ് ഭാഷയെ കുറിച്ച് പുതുതലമുറ ഒരുപക്ഷെ അധികം കേട്ടുകാണില്ല, ആദ്യകാലങ്ങളിൽ രൂപംകൊണ്ടതിൽ വിജയകരമായ ഉയർന്ന തലത്തിലുള്ള ഒരു പ്രോഗ്രാമിംഗ് ഭാഷയാണ് FORTRAN.

ജോൺ ബാക്കസ് (John W Backus) എന്ന അമേരിക്കൻ കമ്പ്യൂട്ടർ ശാസ്ത്രജ്ഞനാണ് FORTRAN രൂപകല്പന ചെയ്തത്. 1957-ൽ ഫോർട്രാൻ (FORTRAN) എന്ന വ്യാപകമായി ഉപയോഗിച്ചിരുന്ന പ്രോഗ്രാമിംഗ് ഭാഷയുടെ രൂപകല്പന മനുഷ്യരും കമ്പ്യൂട്ടറുകളും തമ്മിലുള്ള ആശയവിനിമയം എളുപ്പത്തിലാക്കി. ഇത് മനുഷ്യർക്ക് വായിക്കാവുന്ന പ്രോഗ്രാമിംഗ് ഭാഷകളുടെ കാലഘട്ടത്തിനു വലിയ രീതിയിൽ ഊർജം പകർന്നു. ഇംഗ്ലീഷ് ഷോർട്ട്‌ഹാൻഡിന്റെയും ബീജഗണിതത്തിന്റെയും സംയോജനത്തോട് സാമ്യമുള്ള പ്രോഗ്രാമിംഗ് ഭാഷയെ സെസിൽ ഇ. ലീത്ത് എന്ന അമേരിക്കൻ ശാസ്ത്രജ്ഞൻ ‘ശാസ്ത്രീയ കമ്പ്യൂട്ടിംഗിന്റെ മാതൃഭാഷ’ എന്ന് വിളിച്ചു. ജോൺ ബാക്കസ് രൂപകല്പന ചെയ്യാൻ സഹായിച്ച ഐബിഎം ന്റെ IBM 704 ആയിരുന്നു ഫോർട്രാൻ കമ്പൈലർ (മനുഷ്യർ എഴുതുന്ന ചില ഭാഷകളിൽ ഉള്ള പ്രോഗ്രാമുകളെ കമ്പ്യൂട്ടറുകൾക്ക് മനസിലാവുന്ന തരം ഭാഷയിലേക്ക് മാറ്റാൻ ഉപയോഗിക്കുന്ന കമ്പ്യൂട്ടർ പ്രോഗ്രാമുകൾ ആണൂ കമ്പൈലറുകൾ ) പ്രവർത്തിപ്പിച്ച ആദ്യത്തെ കംപ്യൂട്ടർ.

IBM 704 കമ്പ്യൂട്ടർ ന്റെ ചിത്രം കടപ്പാട് : https://www.computer-history.info

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

പഴയകാലത്തെ ഒരു ഫോർട്രാൻ പ്രസ്താവന  കടപ്പാട് : flickr.com
ശാസ്ത്രമേഖലയിലെ കമ്പ്യൂട്ടിങ്ങ് സമയം വളരെ വിലയേറിയതാണ്. കാലാവസ്ഥാ മാതൃകകൾ നിർമ്മിക്കുന്ന ശാസ്ത്രജ്ഞർ പ്രകടനത്തെക്കുറിച്ച് (performance) വളരെയധികം ശ്രദ്ധിക്കുന്നു, കാരണം പ്രകടനത്തിലെ ചെറിയ വർദ്ധനവിലൂടെ മണിക്കൂറുകളോളം സമയം ലാഭിക്കാൻ സാധിക്കും. മാറ്റ് ഭാഷകളെ അപേക്ഷിച്ച് വിവിധ ഘടനയിലുള്ള ഭീമമായ ഡാറ്റ സെറ്റുകൾ  കൈകാര്യം ചെയ്യാനുള്ള ശേഷിയും പ്രശ്നപരിഹാര വേഗതയുമാണ് ഫോർട്രാൻ ഭാഷക്കുള്ള പ്രധാന പ്രത്യേകത.
ഈ വേഗതയാണ് സമയം നിർണായക ഘടകമായ കാലാവസ്ഥാ പ്രവചന മേഖലയിൽ ഫോർട്രാൻ ഭാഷക്ക് ഇത്രയും പ്രാധാന്യം ഉണ്ടാകാനുള്ള ഒരു കാരണം. Python പോലുള്ള കാര്യക്ഷമമായ പല പുതിയ പ്രോഗ്രാമിങ് ഭാഷകളും ഭീമമായ ഡാറ്റ സെറ്റുകൾ കൈകാര്യം ചെയ്യുമ്പോൾ വേഗത കുറയുന്നു. Python പ്രോഗ്രാമുകൾ വേഗത്തിലാക്കുന്നതിനുള്ള ഒരു മാർഗമായി Python-ൽ നിന്നും ഫോർട്രാൻ കോഡ് ഉപയോഗിക്കുന്നവരും ഉണ്ട്. ശാസ്ത്രീയ കണക്കുകൂട്ടലുകൾക്ക് ഉപയോഗിക്കുന്ന ഒരു Python ടൂൾ ആയ SciPy യുടെ പലഭാഗങ്ങളും ഫോർട്രാൻ ഭാഷയിൽ എഴുതിയവയാണ്. പാരലൽ കമ്പ്യൂട്ടിങ്ങ് ചെയ്യാം, പതിപ്പുകളിലുടനീലമുള്ള സ്ഥിരതയും അനുയോജ്യതയും,  എന്നിവയൊക്ക ഫോർട്രാൻ ഭാഷയുടെ മറ്റു സവിശേഷതകളാണ്.

The Fortran Automatic Coding System for the IBM 704-  1956 ഒക്ടോബർ 15 ഫോർട്രാൻ പ്രോഗ്രാമർമാർക്കുള്ള ആദ്യത്തെ റഫറൻസ് കൈപ്പുസ്തകം

ഇപ്പോഴുള്ള കാലാവസ്ഥാ പ്രവചന മോഡലുകളിൽ ഭൂരിഭാഗവും ഫോർട്രാൻ ഭാഷ ഉപയോഗിച്ചു രൂപകല്പന ചെയ്തവയാണ്. മാത്രമല്ല ഫോർട്രാൻ എന്ന ഭാഷ കാലാവസ്ഥാ പ്രവചന മോഡലുകളുടെ വളർച്ചയിൽ വളരെ അധികം പങ്കുവഹിച്ചിട്ടുണ്ട്. കാലാവസ്ഥ പ്രവചനത്തിന്റെ അടിസ്ഥാനം അന്തരീക്ഷത്തിലെ പ്രതിഭാസങ്ങളെ അനുകരിക്കുന്ന കമ്പ്യൂട്ടർ അധിഷ്ഠിത ഗണിത മോഡലുകളാണ്. അന്തരീക്ഷത്തിലെ പ്രതിഭാസങ്ങളെ ഗണിത സമവാക്യങ്ങളായി കോർത്തെടുത്തു അവയെ കമ്പ്യൂട്ടറിനു മനസിലാകുന്ന ഭാഷയിലേക്കു മാറ്റി (കാലാവസ്ഥാ പ്രവചന മോഡലുകൾ) സൂപ്പർ കമ്പ്യൂട്ടറുകളുടെ സഹായത്തോടെയാണ് അന്തരീക്ഷത്തിലെ ഓരോ പ്രക്രിയകളെ (ഉദാഹരണത്തിനു ചുഴലിക്കാറ്റ്) അനുകരിക്കുന്നത്. ഭൂമിയുടെ അന്തരീക്ഷം കടലുമായും കരയുമായും നിരന്തരം കൊടുക്കൽ വാങ്ങൽ പ്രക്രിയ നടത്തിക്കൊണ്ടിരിക്കുന്നതിനാൽ അന്തരീക്ഷത്തിൽ സംഭവിക്കുന്ന പല പ്രതിഭാസങ്ങളും ശരിയായി മോഡലുകളിൽ സൃഷ്ടിക്കാൻ ഈ കൊടുക്കൽ വാങ്ങൽ പ്രക്രിയ കൂടെ ഉൾപെടുത്തേണ്ടിവരുന്നു, ഇങ്ങനെ മോഡലുകൾ വീണ്ടും സങ്കീർണ്ണമാകുന്നു. ഇത്തരത്തിൽ വികസിപ്പിച്ചെടുക്കുന്ന സങ്കീർണ്ണമായ കാലാവസ്ഥ പ്രവചന മോഡലുകളുടെ പ്രോഗ്രാമുകൾക്ക് ലക്ഷക്കണക്കിനു വരികളുണ്ടാകും. മറ്റു പ്രോഗ്രാമുകളേക്കാൾ കംപ്യൂട്ടിങ്ങ് വേഗത, പാരലൽ കമ്പ്യൂട്ടിങ്ങ് ചെയ്യാം, എന്നിങ്ങനെ ഉള്ള മേന്മകൾകൊണ്ട് ഈ മോഡലുകളുടെയെല്ലാം ഭൂരിഭാഗവും ഫോർട്രാൻ ഭാഷയിൽ ആണ് എഴുതപ്പെട്ടിട്ടുള്ളത്. ശേഷം ഈ സങ്കീർണ്ണമായ ഫോർട്രാൻ പ്രോഗ്രാമുകൾ സമാന്തര പ്രോസസ്സിംഗ് (Parallel Processing) ഉപയോഗിച്ച് വേഗത്തിലാക്കുന്നു. ഒരേതരം കണക്കുകൂട്ടലുകൾ ചെയ്യേണ്ടി വരുന്ന വലിയ പ്രക്രിയയെ പലതായി ഭാഗിച്ചു ഓരോ ഭാഗങ്ങൾ കൈകാര്യം ചെയ്യുന്നതിനായി രണ്ടോ അതിലധികമോ പ്രൊസസറുകൾ (സിപിയു) പ്രവർത്തിപ്പിക്കുന്ന കമ്പ്യൂട്ടിംഗിലെ ഒരു രീതിയാണ് സമാന്തര പ്രോസസ്സിംഗ്. ഇത്തരത്തിലുണ്ടാക്കുന്ന മോഡൽ സിമുലേഷനുകളുടെ (മോഡലുകൾ കംപ്യൂട്ടറിന്റെ സഹായത്തോടെ തരുന്ന അനുകരണങ്ങൾ) ഫലങ്ങളാണ് അർത്ഥവത്തായ കാലാവസ്ഥാ ഭൂപടം സൃഷ്ടിക്കാൻ വേണ്ടി കാലാവസ്ഥാ നിരീക്ഷകർ ഉപയോഗിക്കുന്നുത്.

ഒരു ഫോർട്രാൻ കോഡിങ് ഫോം – അച്ചടിച്ച ഇത്തരം ഫോമുകൾ ഫോർട്രാൻ പ്രോഗ്രാം എഴുതുന്നതിന് പ്രോഗ്രാമർമാർ മുൻകാലങ്ങളിൽ ഉപയോഗിച്ചിരുന്നു. ഈ ഫോം നോക്കിയാണ് കീപഞ്ച് ഓപ്പറേറ്റർമാർ പ്രോഗ്രാമുകളെ കാർഡിൽ പഞ്ച് ചെയ്തിരുന്നത്.
നിരവധി പതിപ്പുകൾ ഉള്ള ഫോർട്രാൻ ഭാഷ കണ്ടുപിടിച്ചിട്ട് ഇപ്പോൾ അര നൂറ്റാണ്ടിലേറെയായി എങ്കിലും ഇപ്പോഴും ഈ ഭാഷ നിരന്തരം അപ്‌ഡേറ്റ് ചെയ്യപ്പെടുന്നു. ശാസ്ത്രീയവും വ്യാവസായികവുമായ പ്രോഗ്രാമിംഗിലെ ഒരു മികച്ച ഭാഷയായി ഫോർട്രാൻ ഇന്നും തുടരുന്നു. ഒരുപക്ഷെ ഭാവിയിൽ പുതുതലമുറ ലളിതവും ഉയർന്ന പ്രകടനവും കാഴ്ച്ചവെക്കുന്ന ജൂലിയ എന്ന പ്രോഗ്രാമിങ് ഭാഷ ഫോർട്രാനു പകരമായി ഉപയോഗിച്ചേക്കാം എന്ന് പല നിരൂപകർ അഭിപ്രായപ്പെടുന്നുണ്ടെങ്കിലും ഫോർട്രാനെ കൂടുതൽ സംവേദനാത്മകമാക്കാനുള്ള ശ്രമങ്ങളും അണിയറയിൽ നടക്കുന്നുണ്ട്.

കൂടുതൽ വായനയ്ക്ക്

  1. https://luca.co.in/eniac-to-summit-supercomputer/
  2. https://luca.co.in/lorenz-butterfly-and-weather-prediction/
Happy
Happy
50 %
Sad
Sad
0 %
Excited
Excited
50 %
Sleepy
Sleepy
0 %
Angry
Angry
0 %
Surprise
Surprise
0 %

Leave a Reply

Previous post നിർഭയനായ ശാസ്ത്രജ്ഞൻ – ഡോ.പുഷ്പാ ഭാർഗ്ഗവ
Next post മസ്തിഷ്കം എന്ന ഭൂപടശേഖരം