கம்ப்யூட்டர் பெண்கள் 14 - நவீன கம்ப்யூட்டர் மொழிகளுக்கு அடித்தளம் அமைத்த பார்பரா லிஸ்கோவ்!
மென்பொருள் வரலாற்றில் முக்கியமான காலகட்டத்தில் முக்கியப் பங்களிப்பை அளித்து கம்ப்யூட்டர்கள் வளர்ச்சியில் பெரும் பாய்ச்சல் நிகழ காரணமானவர்களில் ஒருவராக பார்பரா லிஸ்கோவ் விளங்குகிறார்.
மென்பொருள் உலகில் விண்டோஸ் பற்றியும், பில் கேட்ஸ் பற்றியும் பேசும் அளவுக்கு, பெருமைப்படும் அளவுக்கு வீனஸ் இயங்குதளம் பற்றி பேசுவதில்லை. வீனஸ் இயங்குதளம், முன்னோடி இயங்குதளங்களில் முக்கியமானது என்பது மட்டும் அல்ல, அதை உருவாக்கிய பார்பரா லிஸ்கோவும் (Barbara Liskov) முக்கியமானவர். மென்பொருள் வரலாற்றில் அவரது பங்களிப்பும் முக்கியமானது.
மென்பொருள் உலகில் லிஸ்கோவின் சாதனையை புரிந்து கொள்ள வேண்டும் எனில் கம்ப்யூட்டர் புரோகிராமிங்கின் அடிப்படை அம்சங்களைப் புரிந்து கொள்ள கொஞ்சம் மெனக்கெட வேண்டும். ஏனெனில், நவீன புரோகிராமிங் மொழிகள் பலவற்றுக்கான அடித்தளமாக அமைந்த கருத்தாக்கங்களை லிஸ்கோவ் கண்டறிந்து முன் வைத்தார் என்பது தான்.
மென்பொருள் வரலாற்றில் சரியான நேரத்தில், மிகவும் தேவையான படியாக லிஸ்கோவ் கருத்தாக்கங்கள் அமைந்து, அடுத்த கட்ட பாய்ச்சலுக்கு வழிவகுத்தன. இன்று பரவலாக பயன்படுத்தப்படும் C++, ஜாவா, C# ஆகிய மொழிகள் லிஸ்கோவிடம் இருந்து தான் ஆரம்பமாயின என்று கூட சொல்லலாம்.
இந்த புரோகிராமிங் மொழிகள் முன்னோடி மென்பொருளாளர்களால் உருவாக்கப்பட்டவை என்றாலும், புரோகிராமிங்கை அணுகுவதில் லிஸ்கோவ் கொண்டு வந்த அடிப்படையான மாற்றமே இவற்றுக்கு வழிவகுத்தன எனலாம். இன்னும் எளிதாகச் சொல்வது என்றால், புரோகிராமிங் உருவாக்கத்தை ஒரு வடிவமைப்புப் பிரச்சனையாக பார்க்க வைத்து, அதை உருவாக்குவதிலும், திருத்துவதிலும், பரமாரிப்பதிலும் முக்கிய முன்னேற்றத்தை ஸ்லிகோவ் சாத்தியமாக்கினார்.
புரோகிராம் உருவாக்கத்தில் முக்கிய அம்சமாக அமையும் டேட்டா அப்ஸ்டார்க்ஷன் எனும் கருத்தாக்கமும் இதன் அடிப்படையில் உருவான பொருள் சார்ந்த புரோகிராமிங் மொழியும் லிஸ்கோவின் பிரதான சாதனைகளாக அமைகின்றன. கம்ப்யூட்டர் மாணவர்களுக்கும், வல்லுனர்களுக்கும் இவற்றின் முக்கியத்துவம் நன்றாக தெரியும்.
எளிய துவக்கம்
மென்பொருள் வரலாற்றில் தவிர்க்க இயலாத ஆளுமையாக அமையும் பார்பரா லிஸ்கோப், தற்செயலாக இந்தத் துறைக்கு வந்தவர் என்பது தான் வியப்பு. லிஸ்கோவ் அமெரிக்காவின் லாஸ் ஏஞ்சல்ஸ் நகரில் 1939ம் ஆண்டில் பிறந்தார். ஜேன் மற்றும் மோசஸ் ஹுபர்மேன் தம்பதிகளின் நான்கு குழந்தைகளில் ஒருவராக பிறந்தவர், கலிபோர்னியாவில் உள்ள பெர்க்லி பல்கலையில் கணிதத்தில் இளங்கலை பட்டம் பெற்றார். கல்லூரி காலத்தில் அவர் வகுப்பில் இருந்த இரண்டே பெண்களில் அவரும் ஒருவர் என்பது குறிப்பிடத்தக்கது.
பெற்றோர்கள் கணிதம், அறிவியல் பாடங்களில் அவரை ஊக்குவிக்கவில்லை என்றாலும், இந்த பாடங்களில் அவருக்கு அதிக ஈடுபாடு இருந்தது. குறிப்பாக கணிதத்தில் அவருக்கு ஈடுபாடும் தனி திறனும் இருந்தது. பள்ளியில் மேம்பட்ட கணித பாடத்தில் ஆர்வம் காட்டிய ஒரே பெண்ணாக அவர் இருந்தார். மற்ற பெண்கள் என்ன நினைத்தனர் என்பது பற்றி எல்லாம் அவர் கவலைப்படவில்லை. இந்த குணமே, பின்னாளில் பாகுபாடு பற்றி எல்லாம் அலட்டிக் கொள்ளாமல் அவரை பணியாற்ற வைத்தது.
1961ல் பட்டம் பெற்ற பின், மேற்கொண்டு உயர் கல்வி படிப்பதற்கான வாய்ப்பு கிடைத்தது. ஆனால், லிஸ்கோவ் அதை விரும்பாமல், சிறிது காலம் தனக்காக எடுத்துக்கொள்ள விரும்பினார். அவரது தோழி ஒருவர் பாஸ்டன் நகருக்கு செல்வதை அறிந்தவர் தானும் அந்நகருக்கு சென்றார். பாஸ்டன் நகரில் ஏதேனும் வேலை தேடிக்கொள்ளலாம் என நினைத்தார். ஆனால் கணிதப் பாடம் அடிப்படையில் வேலை கிடைக்கவில்லை. வேறு வேலைவாய்ப்புகளை தேடிய போது தான், கம்ப்யூட்டர் புரோகிராமராக வாய்ப்பு இருப்பதை தெரிந்து கொண்டார்.
கம்ப்யூட்டர் அறிமுகம்
அந்த காலகட்டத்தில் கம்ப்யூட்டர் அறிவியல் எனும் பாடப்பிரிவு பெரிய அளவில் உருவாகியிருக்கவில்லை. எனவே ஆர்வமும், கணித பாட பின்னணியும் கொண்டவர்கள் புரோகிராமர்களாக எடுத்துக்கொள்ளப்பட்டனர். லிஸ்கோவும் இதே முறையில் மித்ரே கார்ப்பரேஷன் (Mitre Corporation) எனும் கம்ப்யூட்டர் நிறுவனத்தில் விண்ணப்பித்து வேலைக்கு தேர்வானார். இப்படி தான் லிஸ்கோவ் கம்ப்யூட்டர் துறையில் அடியெடுத்து வைத்தார்.
லாப நோக்கில்லாத நிறுவனமான மித்ரே கம்ப்யூட்டர் வரலாற்றில் முக்கிய நிறுவனங்களில் ஒன்றாக அமைகிறது. இந்த நிறுவனத்தில் பணியாற்றிய அனுபவமே லிஸ்கோவின் கம்ப்யூட்டர் உலக பங்களிப்புக்கும் அடித்தளமாக அமைந்தது.
மித்ரே நிறுவனத்தில் அவர் கீழ்மட்ட புரோகிராமராக தான் தேர்வு செய்யப்பட்டார் என்றாலும் அங்கு பணியாற்றிய போது அவர் தனக்கு கம்ப்யூட்டர் தொடர்பான பணி பிடித்திருப்பதை தெரிந்து கொண்டு ஆர்வத்தை வளர்த்துக்கொண்டார். ஓராண்டு காலம் மித்ரே நிறுவனத்தில் பணியாற்றினார். இதனிடையே, ஹார்வர்டு பல்கலையில் புரோகிராமர் வேலைக்கான விளம்பரத்தை பார்த்து விண்ணப்பம் செய்தார். இயந்திர மொழிபெயர்ப்பு தொடர்பான திட்டம் என்பதால் அவர் அதில் இணைய விருப்பம் கொண்டிருந்தார்.
ஹார்வர்டில் அவருக்கு வேலை கிடைத்து ஓராண்டு பணியாற்றினார். அப்போது தான் பிள்ளை பருவத்தில் இருந்த ஏ.ஐ எனப்படும் செயற்கை நுண்ணறிவு தொடர்பான திட்டமாக இது அமைந்திருந்தது. இந்த பணியில் நிறைய கற்றுக்கொள்ள முடிந்தாலும், அவர் ஆய்வு பணிகளில் அதிகம் ஈடுபட விரும்பினார். எனவே, பெர்க்லி உள்ளிட்ட கல்லூரிகளில் விண்ணப்பித்து ஸ்டான்போர்டில் அப்போது தான் துவங்கப்பட்டிருந்த கம்ப்யூட்டர் அறிவியல் பிரிவில் சேர்ந்தார்.
கம்ப்யூட்டர் அடிப்படை
ஸ்டான்போர்டில் பயின்ற போது, ஏ.ஐ முன்னோடிகளில் ஒருவரான ஜான் மெக்கார்த்தியுடன் இணைந்து பணியாற்றும் வாய்ப்பு அவருக்கு கிடைத்தது. மெக்கார்த்தி வழிகாட்டுதலில் பேரில் ஆய்வு மேற்கொண்டார். இயந்திரங்கள் செஸ் விளையாடுவதற்கான அல்கோரிதமை உருவாக்கும் வகையில் அவர் ஆய்வு அமைந்திருந்தது. வெற்றிகரமாக ஆய்வை முடித்து டாக்டர் பட்டம் பெற்றார்.
கம்ப்யூட்டர் அறிவியலில் டாக்டர் பட்டம் பெற்ற பிறகு, பல்கலைக்கழகங்களில் பாடம் நடத்தும் வாய்ப்பு தேடி வந்திருக்க வேண்டும். ஆனால், லிஸ்கோவ் விஷயத்தில் அவ்வாறு நிகழவில்லை. பல்கலைக்கழகங்களில் இருந்த ஆண்கள் பெரும்பாலும் தங்கள் தொடர்புகளில் இருந்து புதியவர்களை தேடி நியமித்தனரே தவிர பெண்களுக்கு இத்தகைய வாய்ப்பு கிடைக்கவில்லை என அவர் பேட்டி ஒன்றில் இது பற்றி குறிப்பிட்டிருக்கிறார்.
எப்படியோ, சரியான வேலை கிடைக்காத நிலையில், அவர் மீண்டும் மித்ரே நிறுவனத்திலேயே வேலைக்கு சேர்ந்தார். இதனிடையே, அவர் லிஸ்கோவ் என்பவரை திருமணமும் செய்து கொண்டிருந்தார். மித்ரேவில் இந்த முறை அவர் ஆய்வாளராக சேர்ந்திருந்தார். இங்கு அவர் மேற்கொண்ட பணி தான் பின்னாளில் வீனஸ் இயங்குதளமாக உருவானது.
வீனஸ் என்பது சிறிய கம்ப்யூட்டர்களுக்கான சோதனை முறையிலான இயங்குதளமாக அமைந்தது. சிறிய கம்ப்யூட்டரை ஒரே நேரத்தில் பலரும் அணுக அனுமதிக்கும் வகையில் இந்த இயங்குதளம் அமைந்திருந்தது.
இந்த காலத்தில் தான் அவருக்கு கம்ப்யூட்டரின் அடிப்படை அம்சங்கள் மீது ஆர்வம் உண்டானது. இயந்திர மொழிபெயர்ப்பு மற்றும் செயற்கை நுண்ணறிவு தான் அவரது ஆய்வு பின்னணியாக இருந்தாலும், நடைமுறையில் அவர் செயற்கை நுண்ணறிவில் ஆர்வம் கொண்டிருக்கவில்லை. ஒன்று, செயற்கை நுண்ணறிவு அந்த கால கட்டத்தில் அதிக முன்னேற்றத்திற்கான வாய்ப்புகளை கொண்டிருக்கவில்லை. இன்னொன்று அவர் கம்ப்யூட்டர் செயல்பாட்டில் உடனடி பலன்களை பார்க்க விரும்பினார்.
புதிய பாதை
செயற்கை நுண்ணறிவு என்பது ஒரு பயன்பாடு தானேத்தவிர அது மைய அம்சம் இல்லை என லிஸ்கோவ் கருதினார். முக்கியமாக இது போன்ற பயன்பாடுகளுக்கு அடிப்படையான அம்சமாக இருக்கும் கம்ப்யூட்டர் செயல்பாட்டில் கவனம் செலுத்த விரும்பினார். இந்த எண்ணமே மென்பொருள் உருவாக்கத்தில் மாறுபட்ட அணுகுமுறையை மேற்கொள்ள அவருக்கு தூண்டுதலாக அமைந்தது.
இந்த காலகட்டத்தில் கம்ப்யூட்டருடன் நேரடியாக பேசி புரோகிராம்களை எழுதுவதற்கு ஏற்ற புரோகிராமிங் மொழிகள் உருவாகத்துவங்கியிருந்தன. லிஸ்கோவ் போர்ட்ரான் மொழியில் கம்ப்யூட்டர்களை கையாண்டிருந்தார். இந்த கற்றல்கள் வீனஸ் இயங்குதள உருவாக்கத்தில் கைகொடுத்தன. புரோகிராமிங் உருவாக்கம் தொடர்பான ஆய்வு கட்டுரைகளை படித்த போது, தான் மாறுபட்ட வகையில் இயங்குதளத்தை வடிவமைத்திருந்தது அவருக்கு புரிந்தது.
கம்ப்யூட்டர் இயங்குதளத்தை அவர் எளிமையான முறையில் அணுகினார். இதற்காக சிக்கலான புரோகிராம்களை அவர் சின்ன, சின்ன அடிப்படை அம்சங்களாக பிரித்துக்கொண்டார். இதன் மூலம் மென்பொருளை எளிதாக வடிவமைக்க முடியும் என நம்பினார். சுருக்கமாக சொன்னால் மென்பொருளை எப்படி ஒருங்கிணைப்பது என்பதில் அவர் கவனம் செலுத்தினார். மோசமான நிரல்களுக்கான வாய்ப்பு இல்லாமல் செயல்படக்கூடிய நல்ல நிரல்களை உருவாக்குவதற்கான வழிகளைத் தேடினார்.
வீனஸ் இயங்குதளத்தை உருவாக்கிய அனுபவத்தை அடிப்படையாகக் கொண்டு ஆய்வுக்கட்டுரை ஒன்றை எழுதி மாநாடு ஒன்றில் சமர்பித்தார். இந்த கட்டுரையில் தான் அவர் மென்பொருள முற்றிலும் வேறுவிதமாக அணுகும் கருத்தாக்கத்தை முன்வைத்தார். இதுவே டேட்டா அப்ஸ்ட்ராக்ஷன் எனக் கருதப்படுகிறது. அதவாது நிரல்களை சிக்கலான, நீண்ட தொடர் வரிசையாக பார்ப்பதற்கு பதில், அதன் அடிப்படை அம்சங்களை மட்டும் சுருக்கமாக கவனத்தில் கொள்ளும் வகையில் இந்த கருத்தாக்கம் அமைந்திருந்தது.
புதிய மொழி
ஓரு நீளமான கட்டுரையின் சாராம்சத்தை மட்டும் புரிந்து கொள்வது போல, நிரல்களின் அடிப்படையான அம்சங்களை மட்டும் சுருக்கமாக அணுக இந்த கருத்தாக்கம் வழி செய்தது. நிரல்களை ஆய்வு செய்யும் போது அல்லது மாற்ற முயலும் போது, மொத்த நிரலையும் பாதிக்காமல் தேவையான இடத்தில் திருத்தங்களை செய்யவும் இது உதவியது. ஒன்றுக்கு ஒன்று மாற்றிக்கொள்ளக்கூடிய அடுக்குகளாக நிரலை கையாள்வதை இந்த கருத்தாக்கம் சாத்தியமாக்கியது.
மென்பொருள் தரவுகளை இப்படி கருத்து சுருக்கமாக அணுகும் முறையே இன்று வரை மென்பொருள் ஆக்கத்தின் அடிப்படை அம்சங்களில் ஒன்றாக அமைந்துள்ளது. மேலும், இந்த கருத்தாக்கத்தின் அடிப்படையிலேயே பொருட்கள் சார்ந்த புரோகிராமிங் மொழிகளும் உருவாக்கப்பட்டுள்ளன.
செயல்முறையை சார்ந்து அமையாமல், தரவுகள் போன்ற பொருட்களைச் சார்ந்து அமைந்திருப்பதே நவீன புரோகிராமிங் மொழிகளின் பலமாகக் கருதப்படுகிறது. இதற்கு மூலமாக அமைந்த சி.எல்.யூ எனும் மொழியையும் லிஸ்கோவ் தான் உருவாக்கிக் கொடுத்தார்.
தரவுகள் சுருக்கம் தொடர்பான ஆய்வுக்கட்டுரை பரவலான கவனத்தை பெற்ற நிலையில், அவருக்கு புகழ்பெற்ற எம்.ஐ.டி பல்கலையில் பேராசிரியராக பணியாற்றும் வாய்ப்பையும் பெற்றுக்கொடுத்தது. இங்கு பணியாற்றிய காலத்தில் தான், தனது மாணவர்களுடன் இணைந்து சி.எல்.யூ முன்னோடி மொழியை உருவாக்கினார்.
கம்ப்யூட்டர் தொடர்பான எனது சிந்தனையில், தரவு வகைகள் மற்றும் செயல்பாடுகளை கொண்ட சுருக்க இயந்திரமே இருக்கிறது. இதில் நான் விரும்பிய புரோகிராம்களை உருவாக்கலாம். ஆனால், இத்தகைய இயந்திரம் இல்லாததால், தரவுகளை உடைத்து, சிறு செயல்களாக்கி விரும்பிய புரோகிராம்களை உருவாக்கும் வழியை உருவாக்கியதாக லிஸ்கோவ் ஒரு முறை தனது செயல்பாடுகளை விளக்கியிருக்கிறார். அவர் உருவாக்கிய புரோகிராம் மொழியையும் இந்த கருத்து மூலம் புரிந்து கொள்ளலாம்.
டியூரிங் விருது
லிஸ்கோவ் உருவாக்கிய புரோகிராமிங் மொழி மென்பொருள் உலகில் புதிய பாதை காட்டியது. சி.எல்.யூ மொழியே, புதிய புரோகிராமிங் மொழிய உருவாக்கியவர்கள் மீது அதிக தாக்கம் செலுத்தியது. பின்னர் அவர், பல்வேறு இடங்களில் உள்ள கம்ப்யூட்டர்கள் ஒன்றிணைக்கப்படும் சூழல் தொடர்பாக முக்கியப் பங்களிப்பை அளித்தார்.
வலைப்பின்னலில் செயல்படும் கம்ப்யூட்டர்கள் தொடர்பாக இந்த பணி அமைந்திருந்தது. இந்த சாதனைகளுக்காக கம்ப்யூட்டர் உலகின் நோபல் பரிசு எனப்படும் டியூரிங் விருதிற்காக தேர்வு செய்யப்பட்டார்.
கம்ப்யூட்டர் துறையில் பெரும் மாற்றமும், முன்னேற்றமும் ஏற்பட்டு இந்தத் துறைக்கான அடித்தளம் வலுவாக அமைந்துள்ளது. ஆனால், இத்துறைக்கான அடிப்படை அம்சங்கள் குழப்பமாக இருந்த காலத்தில் மென்பொருள் உருவாக்கத்தின் அடிநாதத்தை சிறப்பாக புரிந்து கொண்டதன் மூலம், அதற்கான அடிப்படை அம்சங்களை உருவாக்கி கொடுத்த முன்னோடிகளில் ஒருவராக பார்பரா லிஸ்கோவ் கொண்டாடப்படுகிறார். அவரே கூறுவது போல, சி.எல்.யூ மொழி மற்றும் தரவுகள் சுருக்கம் அவரது மிக முக்கியமான பங்களிப்புகளாக அமைகின்றன.