கணினி மொழிகள்: இயந்திரத்திலிருந்து மனிதனுக்கு
முன்னுரை
கணினி மொழிகளின் வரலாறு என்பது, இயந்திரத்துடன் பேச முடியாமல் தவித்த மனிதன், இயந்திரத்தையே தன் மொழி பேசவைத்த கதை.
வெளிநாட்டுக்குப் போகிறவன் முதலில் அங்குள்ள மொழியைத் திக்கித் திணறிக் கற்கிறான். பிறகு உள்ளூர்க்காரர்களே அவன் மொழியில் பேசத் தொடங்குகிறார்கள். கணினி உலகிலும் அதுவே நடந்தது. தொடக்கத்தில் மனிதன் இயந்திரத்தின் வாசலில் நின்று, அதற்குப் புரிந்த மொழியிலேயே கெஞ்சினான். இன்றோ இயந்திரம் மனிதனின் மொழியைத் தேடி வருகிறது.
அந்தப் பயணத்தை ஐந்து கட்டங்களாகப் பார்க்கலாம்.
1. இயந்திர மொழியும் அசெம்பிளியும் (1940கள்–50கள்)
ஆரம்பகாலக் கணினிகளுக்குப் புரிந்தது இரண்டே இரண்டு சொற்கள்: 0, 1. மின்சாரம் ஓடுகிறது அல்லது ஓடவில்லை; விளக்கு எரிகிறது அல்லது அணைகிறது.
அன்றைய நிரலாளர்கள், 'ஆம்', 'இல்லை' என்ற இரு சொற்களை மட்டுமே வைத்து, ஒரு பேரரசையே நடத்த முயன்ற அமைச்சர்களைப் போல இருந்தார்கள். ஒரு சிறு பிழை நேர்ந்தாலும் முழுப் பக்கத்தையும் மறுபடி எழுத வேண்டியிருந்தது.
அதன் பிறகு வந்தது அசெம்பிளி மொழி. எண்களுக்குப் பதிலாக ADD, MOV போன்ற குறுகிய பெயர்களைச் சூட்டும் ஏற்பாடு அது. எண்ணுக்குப் பெயர் வைத்தது போல, நிரலுக்கு முதன்முதலாக ஒரு முகவரி கிடைத்தது.
ஆனாலும் இது இயந்திரத்தின் மொழியே. மனிதன் அதன் வீட்டுக்குள் விருந்தாளியாக மட்டுமே இருந்தான்.
2. முதல் உயர்நிலை மொழிகள் (1950கள்–60கள்)
மனிதன் முதன்முதலாக இயந்திரத்திடம், 'நீ என் மொழியைக் கற்றுக்கொள்' என்று சொன்ன காலம் இது. அதற்குப் பாலமாக வந்தது 'கம்பைலர்' என்ற மொழிபெயர்ப்பாளர்.
- FORTRAN (1957): ஐபிஎம் நிறுவனத்தில் ஜான் பேக்கஸ் தலைமையிலான குழு உருவாக்கியது. அறிவியல், கணிதக் கணக்குகளுக்கு.
- LISP (1958): ஜான் மெக்கார்த்தி உருவாக்கியது. செயற்கை நுண்ணறிவு ஆராய்ச்சியின் தொடக்க மொழி.
- COBOL (1959): வங்கி, வணிகக் கணக்குகளுக்கு. கிரேஸ் ஹாப்பரின் சிந்தனை இதற்கு அடித்தளம். இன்றும் பல வங்கிகளில் ஓய்வுபெற மறுக்கும் பழைய பணியாளராக வேலை செய்கிறது.
- BASIC (1964): டார்ட்மவுத் கல்லூரியில் ஜான் கெமனியும் தாமஸ் கர்ட்ஸும் மாணவர்களுக்காக உருவாக்கியது. கணினிக் கல்விக்கு முதல் படிக்கட்டு.
3. C மொழியும் கட்டமைப்பு நிரலாக்கமும் (1970கள்)
அன்றைய நிரல்கள் ஒரு சிக்குப்பிடித்த நூல்கண்டு போல இருந்தன. 'இங்கே தாவு, அங்கே தாவு' என்ற கட்டளைகளால் எங்கே தொடங்கி எங்கே முடிகிறது என்றே தெரியாது. அதற்கு 'ஸ்பகெட்டி நிரல்' என்று கேலிப் பெயரும் உண்டு.
அந்தக் குழப்பத்துக்குத் தீர்வாக, நிரலை ஒழுங்கான பகுதிகளாகப் பிரித்து எழுதும் கட்டமைப்பு நிரலாக்கம் வந்தது.
- C (1972): பெல் ஆய்வகத்தில் டென்னிஸ் ரிச்சி உருவாக்கியது. UNIX இயங்குதளம் இதில் மீண்டும் எழுதப்பட்டது. இன்றைய பல மொழிகளுக்கு இதுவே தாய்.
- Pascal (1970): நிக்லாஸ் விர்த் உருவாக்கியது. நிரலாக்கத்தை ஒழுங்குடன் கற்பிக்க.
- SQL (1970களில்): தரவுத்தளங்களிடம் கேள்வி கேட்கும் மொழி. 'எனக்கு இந்தத் தகவலைக் கொடு' என்று கேட்டால் போதும்; எப்படி எடுப்பது என்பதை அது பார்த்துக்கொள்ளும்.
4. பொருள்நோக்கு நிரலாக்கமும் இணையமும் (1980கள்–90கள்)
நிரல்கள் பெரிதாயின. அப்போது மனிதன் உலகத்தைப் பார்க்கும் விதத்திலேயே நிரலையும் பார்க்கத் தொடங்கினான்: கடையில் பொருள்கள் இருப்பது போல, நிரலிலும் பொருள்கள். ஒவ்வொன்றுக்கும் தனக்கெனத் தகவலும் செயலும் உண்டு. அதுவே பொருள்நோக்கு நிரலாக்கம்.
- C++ (1985): பியார்ன் ஸ்ட்ரவுஸ்ட்ரப் உருவாக்கியது. C மொழியுடன் பொருள்நோக்கு வசதிகளைச் சேர்த்தது.
- Python (1991): கைடோ வான் ரோசம் உருவாக்கியது. ஆங்கில வாக்கியம் போலப் படிக்க எளிது.
- Java (1995): ஜேம்ஸ் கோஸ்லிங் குழுவின் படைப்பு. 'ஒருமுறை எழுது, எங்கும் இயக்கு' என்பது இதன் முழக்கம்.
- JavaScript, PHP (1995): சிலை போல நின்ற இணையப் பக்கங்களுக்கு உயிர் கொடுத்தவை. JavaScript-ஐ பிரெண்டன் ஐக் வெறும் சில நாட்களில் எழுதினார் என்பார்கள்.
5. நவீன காலமும் AI காலமும் (2000கள்–இன்று)
இந்தக் கட்டத்தில் மொழிகள் ஒவ்வொன்றும் ஒரு குறிப்பிட்ட வேலைக்கான கருவியாக, தச்சனின் பெட்டியில் உள்ள உளிகள் போல, வகைப்படுத்தப்பட்டன.
- C# (2000): மைக்ரோசாஃப்டின் மொழி. நிறுவனப் பயன்பாடுகளுக்கு.
- Go (2009), Rust (2015): கிளவுட், அமைப்பு நிரலாக்கத்துக்கு. Rust நினைவகப் பாதுகாப்புக்குப் பெயர் பெற்றது.
- Kotlin (2011), Swift (2014): முறையே ஆண்ட்ராய்டு, ஐபோன் செயலிகளுக்கு.
- TypeScript (2012): JavaScript-க்கு ஒழுங்கு கற்பித்த மொழி.
- Python: தரவு அறிவியல், இயந்திரக் கற்றல் ஆகியவற்றில் முன்னணிக்கு வந்தது.
இன்று புதிய திருப்பம் ஒன்று: AI உதவியுடன் இயல்பு மொழியிலேயே, தமிழிலும், 'இதைச் செய்' என்று சொன்னால் நிரல் உருவாகிறது. ஆனால் அந்த நிரலைப் படித்துச் சரிபார்க்கும் பொறுப்பு இன்னும் மனிதனிடமே உள்ளது.
முடிவுரை
எண்பது ஆண்டுகளுக்குள், 0 மற்றும் 1 என்ற இரு சொற்களிலிருந்து, நம் அன்றாடப் பேச்சுக்கே வந்துவிட்டது கணினி மொழி.
ஒவ்வொரு கட்டத்திலும் ஒரே போக்கு தெரிகிறது: இயந்திரத்துக்கு நெருக்கமான மொழியிலிருந்து மனிதனுக்கு நெருக்கமான மொழியை நோக்கிய பயணம். மொழி மாறியது; ஆனால் நோக்கம் மாறவில்லை. சிந்திப்பவன் மனிதன், உழைப்பவன் இயந்திரம்.
கவிதை: புரிதலின் மை
முதலில்
அதற்கு என்னைப் புரியவில்லை;
என்னாலும் அதைப் புரிந்துகொள்ள இயலவில்லை.
பூஜ்யமும் ஒன்றும் வைத்தே
அனைத்தையும் சொல் என்றது.
கொஞ்சம் நெருங்கினோம்;
ஆயினும் நெருடலும்
புரிதலின் மையும்
கூடிக்கொண்டுதான் போனது.
எண்களுக்குப் பெயரிட்டேன்,
ADD என்றும் MOV என்றும்.
பெயர் கிடைத்தது,
பொருள் கிடைக்கவில்லை.
FORTRAN கணக்குப் போட்டது,
LISP சிந்திக்கக் கற்றது,
COBOL வங்கியில் அமர்ந்தது,
BASIC குழந்தைகளுக்குக் கைபிடித்தது.
தூது போய்ச் சேர்ந்தது;
நெஞ்சின் சூடு
வழியிலேயே ஆறிப்போனது.
C வந்து சிக்கலை அவிழ்த்தது.
Pascal ஒழுங்கு கற்பித்தது,
SQL கேள்வி கேட்கச் சொல்லித்தந்தது.
கேள்வி கேட்கத் தெரிந்தோம்;
பதிலுக்குக் காத்திருக்கத் தெரியவில்லை.
C++ பொருள்களை அடுக்கியது,
Java எங்கும் ஓடியது,
Python மெல்லப் பேசியது,
JavaScript, PHP இணையத்துக்கு உயிர் ஊட்டின.
எல்லோரும் ஒரே அறையில்;
நிறையப் பேசினோம்,
கேட்டுக்கொண்டோமா?
Go வேகம் கூட்டியது,
Rust பிழைக்குக் கதவு மூடியது,
Kotlin, Swift கைப்பேசிக்குள் குடியேறின,
TypeScript தடுமாறிய வரிகளுக்குக் கைகொடுத்தது.
கருவிகள் பெருகின;
புரிதல் மட்டும் அதே இடத்தில்.
இன்று தமிழிலேயே பேசுகிறது.
சொல் சரி, இலக்கணம் சரி,
ஆனால் அந்த "ஏன்?" என்ற ஏக்கம்
எந்த மொழியிலும் கடத்தப்படாமல்
என் மார்பிலேயே தங்கிவிடுகிறது.
புரிதலைத் தேடுவதே கவிதை என்றால்,
இயந்திரத்துடன் பேச
நாம் கற்ற ஒவ்வொரு மொழியும்
கவிதை எனும் பெரும் வடத்தின்
நுனிச்சரடுதான்.
No comments:
Post a Comment