பைத்தான் நிரலாக்க மொழியானது பல துறை சார்ந்த தொழில்நுட்ப வளர்ச்சிக்கும் பயன்படுத்தப்படுகிறது. பைத்தான் மொழியை பயன்படுத்தி நவீன செயற்கை நுண்ணறிவு மாதிரிகளை கூட உருவாக்க முடியும். ஆனால், பெரும்பாலும் பைத்தான் மொழியை கணினி துறை சாராதவர்கள் பயன்படுத்துவது அரிதான ஒன்றாகவே இருக்கிறது.
பைத்தான் மொழியில் கணக்கீடுகளை மேற்கொள்வதற்காக Numpy,scipy போன்ற சக்தி வாய்ந்த நூலகங்கள் ஏற்கனவே இருக்கின்றன. இவை பெரும்பாலும் c/c++ போன்ற மொழிகளில் எழுதப்பட்டவை. இவற்றைக் கொண்டு சிக்கலான பல கணக்கீடுகளையும் மேற்கொள்ள முடியும்.
பைத்தான் மொழிக்கு ஒரு புதிய நூலகத்திற்கான தேவை காலத்திற்கு ஏற்ப இருந்து கொண்டு தான் இருக்கிறது. பெரிய அளவிலான நுட்பமான நூலகத்தை உருவாக்குவதற்கு அதிகப்படியான கால அளவு எடுத்துக் கொள்ளும். அதற்கு ஆழ்ந்த கணினி நுட்பவியல் அறிவும் முக்கியமானது. இரண்டு வருடத்திற்கு முன்பு வரை எனக்கும் கணினிக்கும் ஏணி வைத்தாலும் எட்டாது என நினைத்துக் கொண்டிருந்தவன் நான்.
கணினி தொழில்நுட்பங்களை பற்றி சிறிதும் அறிந்து கொள்ளாமல் இருந்த எனக்கு கணிதத்திற்கு வந்த பிறகு பல்வேறு விதமான கட்டற்ற தொழில்நுட்பங்கள் பற்றி தெரிய வந்தது. பல தொழில்நுட்பங்கள் பற்றியும் கட்டுரைகளை எழுதி இருக்கிறேன். ஆனால் துறை சார்ந்து வருங்காலத்தில் இயங்குவதற்கு சிறந்த ஒரு செயல் திட்டத்தை வடிவமைத்துக் கொள்வது இன்றியமையாதது.
அந்த வகையில், நான் படிக்கக்கூடிய கல்லூரியின் முதுகலை படிப்பிற்கும் ஒரு செயல் திட்டத்தை தயாரிக்க வேண்டும். அந்த செயல் திட்டத்தை ஏன் பைத்தான் மொழியிலேயே செய்யக்கூடாது என திடீரென மூளையின் ஒரு ஓரத்தில் யோசனை தோன்றியது. தெரிந்த நண்பர்கள், தொழில்நுட்ப வல்லுனர்கள் போன்றவர்களின் அறிவுரைகளுக்கு இணங்க கல்லூரி பேராசிரியரிடம் அனுமதி பெற்று திட்டத்தை தொடங்கி விட்டேன்.
ஆரம்பத்தில் வைத்திருந்த திட்டம், 250 இயற்பியல் சமன்பாடுகளை பைத்தான் மொழியில் நிரல்களாக எழுத வேண்டும். இவை அனைத்தும் பள்ளி மாணவர்களுக்கு உகந்த வகையிலேயே இருக்கும். இவற்றை தனித்தனி பங்க்ஷன்களாக (function) பயன்படுத்தும்போது, சிறுசிறு கணக்கீடுகளை செய்து கொள்ள முடியும். ஏற்கனவே இது போல ஒருவர் செய்து இருக்கிறார். சரி அதையே கொஞ்சம் மாற்றி அமைத்து செய்து விடலாம் என முடிவு செய்தேன். ஒரு மாத காலத்திற்கு அவ்வாறே திட்டத்தை நகர்த்தி சென்றேன். ஆனால், ஆழமான கணக்கீடுகளை மேற்கொள்வதற்கு எளிமையான நூலகம் போதாது என்பது வெகு விரைவில் எனக்கு புரிந்தது.
என்னுடைய சுற்றத்தில் ஆய்வு மேற்கொள்ளக் கூடிய மாணவர்கள் பெரும்பாலும் பணம் கொடுத்து பயன்படுத்தக்கூடிய சாப்ட்வேர்களை கொண்டு கணக்கீடுகளையும் மேற்கொள்கிறார்கள். நம்மால் அவற்றை எளிமையாக பைத்தான் மொழியில் மேற்கொள்ள முடியும். Matplotlib தேவையான வரைபடங்களை வரைந்து கொடுத்து விடும். Streamlit தளத்தை பயன்படுத்தி பிற மொழிகளின் துணை இன்றி தற்காலிக இணைய செயலிகளை வடிவமைத்து விட முடியும்.
நுட்பமான கணக்கீடுகளை மேற்கொள்வதற்கு pandas,Numpy,scipy ஆகியவற்றை கற்றுக்கொண்டால் போதுமானது. இங்கே பெரியதாக வெற்றிடம் இல்லாதது போல தோன்றலாம். ஆனால், எளிமையாக இருக்கும் பைத்தான் மொழியும் இன்னும் பலருக்கு எட்டா கனியாகத்தான் இருக்கிறது. என்னுடைய நோக்கம் மிகவும் எளிமையான ஆனால் சக்தி வாய்ந்த ஒரு பைத்தான் நூலகத்தை உருவாக்க வேண்டும் என்பதுதான்.
இந்த திட்டத்தின் படி பல மாற்றங்களை செய்தேன். பிரபலமான கட்டற்ற தொழில்நுட்ப நிறுவனமான openscience labs அமைப்பின் நிறுவனர் எனக்கு சில யோசனைகளை வழங்கினார். Numba என்கிற JIT complier ஐ பயன்படுத்தும் போது, பைத்தான் மொழியில் விரைவாக நிரல்களை இயக்க முடியும். நுட்பமாக பைத்தான் மொழி குறித்து தெரிந்தவர்களுக்கு compilation time பிரச்சனை பற்றி தெரிந்திருக்கும். இதை சரி செய்வதற்கு numba போதுமானது.
சரி இவ்வளவு வேலையும் பார்த்தாகிவிட்டது, எப்படியாவது என்னுடைய தொடக்க செயல் திட்டத்தை pypi தளத்தில் வெளியிட வேண்டும் என பல நாட்கள் முயற்சி செய்தேன். கடைசிவரை சரி செய்ய முடியவில்லை. Kanchi linux கூட்டத்தில் உதவி கேட்டேன். சற்றும் எதிர்பாராத விதமாக கூட்டத்தில் வைத்தே Formulon பிறந்துவிட்டது.
ஆம், formulon என்பதுதான் என்னுடைய திட்டத்தின் பெயர். இந்த திட்டம் ஒரு முன்னோடி திட்டமாக அமையும் என உறுதிபட நம்புகிறேன். இந்தத் திட்டத்தில் குறைந்தபட்சம் ஆயிரம் சமன்பாடுகளை ஆவது இணைத்து விடுவேன். மேலும், இதே நூலகத்தைப் பயன்படுத்தி சில வானியல் மற்றும் சூழலியல் தரவுகளை பகுப்பாய்வு செய்யலாம் எனும் திட்டமும் என்னிடம் இருக்கிறது.
திட்டங்கள் சிறப்பாக நடக்கும் என நம்புகிறேன். தற்போது, இதனுடைய மிகவும் அடிப்படையான வடிவம் தான் வெளியாகி இருக்கிறது. இன்னும் நூற்றுக்கணக்கான மேம்பாடுகள் தேவைப்படுகிறது. சமன்பாடுகளிலும் நிறைய பிரச்சனைகள் இருக்கிறது. ஆனால், நிச்சயமாக ஒரு நாள் Formulon பலரது கணினிகளில் இருக்கும். இது ஒரு இயற்பியல் மாணவனின் கனவு திட்டம். இந்த தருணத்தில் உங்களுடைய மதிப்பான கருத்துக்கள் முக்கியமானது. திட்டத்தின் pypi வெளியீட்டு இணைப்பு, github repo இணைப்புகளை கீழே வழங்குகிறேன்.
வாய்ப்பிருப்பின் சென்று பாருங்கள். கருத்துக்களை பகிருங்கள். பார்ப்பதற்கு நகைச்சுவையாக இருந்தால் அதையும் சொல்லுங்கள். சிரிப்பதோடு திருத்தங்களும் சேர்ந்தே வரும்.
இப்படிக்கு,
ஸ்ரீ காளீஸ்வரர்,
இளம் தொழில்நுட்ப ஆர்வலர்,
முதுகலை இயற்பியல் மாணவர்,
ஸ்காட் கிறிஸ்தவ கல்லூரி.
நாகர்கோவில்.
நாளை முதல் மீண்டும் குவாண்டம் கம்ப்யூட்டர் கட்டுரைகள் தொடரும்.