அனைத்து கணினி நிரலாக்க மொழிகளுக்கும் “தாய்” என அறியப்படும் கணினி மொழிதான் C.
அடிப்படையில் கணினியும் இன்று பிறந்த குழந்தையும் ஒன்றுதான், கணினிக்கு நாம்தான் ஒவ்வொன்றையும் சொல்லிக் கொடுக்க வேண்டும். இதுதான் “அ” , இதுதான் “ஆ” , இதுதான் அகர எழுத்துக்கள், இதுதான் இலக்கணம், இதுதான் இலக்கியம், இப்படித்தான் நடக்க வேண்டும்! இப்படித்தான் பேச வேண்டும்! இத்தனை மணிக்கு அலாரம் வைக்க வேண்டும் !என்றெல்லாம் ஒவ்வொன்றையும், நாம் தான் சொல்லிக் கொடுக்கிறோம்.
ஆனால், இவை அனைத்தையும் ஒருமுறை சொல்லிக் கொடுத்தால் போதும் இவற்றில் குழப்பம் ஏற்படாத வரை கணினி(untill no errors occured) இதை தொடர்ந்து செய்து கொண்டு இருக்கும்.
இவ்வாறு கணினிக்கு ஒரு செயலை கற்றுக் கொடுப்பதற்கு தான், நாம் நிரலாக்க மொழிகளைப் பயன்படுத்துகிறோம்.
நம்முடைய லாஜிக் தொடர்பான கட்டுரைகளைப் படித்த நண்பர்களுக்கு நிச்சயம் தெரிந்திருக்கும்! கணினிக்கு தெரிந்தது( பொதுவான அனைத்து எலக்ட்ரானிக்ஸ் கருவிகளுக்கும் கூட) இரண்டே இரண்டு விஷயங்கள் மட்டும் தான், ஒன்று “0” (Off)மற்றொன்று “1”(On)அதாவது ஸ்விட்ச் போடப்பட்டு இருக்கிறதா? அல்லது போடப்படவில்லையா? என்பதுதான் கணினிக்கு தெரிந்தது.
குறிப்பிட்ட, சில கோடி முறை வெவ்வேறான முறையில் சுவிட்சுகளை ஆன் செய்து ஆப் செய்யும்போது(few millions binary inputs can generate anything like music to videos ), நீங்கள் விரும்பிய ரோஜா மலரின் புகைப்படத்தை கூட கொண்டு வந்துவிட முடியும்.( Core concept of cryptography)
உண்மையில், இந்த முறையில் தான் செயற்கை நுண்ணறிவு தொழில்நுட்பம் கூட புகைப்படங்களை(image generating AI models)உருவாக்குகிறது.
இவ்வாறு என்ன செய்ய வேண்டும்? என கற்றுக் கொடுப்பதற்கு நமக்கு தெரிந்த தமிழையோ,ஆங்கிலத்தையோ நேரடியாக பயன்படுத்த முடியாது.
கணினியோடு உரையாடக்கூடிய நிரலாக்க மொழிகள் நமக்கு தேவைப்படுகிறது. அக்காலத்திலிருந்து, யூனிக்ஸ்(unix) இயங்குதளத்திற்காக தயாரிக்கப்பட்ட மொழிதான் சி.
Algol,Bcpl போன்ற மொழிகளைத் தொடர்ந்து ,1971 ஆம் ஆண்டு பெல் ஆய்வகத்தில் பணியாற்றி வந்த, டென்னிஸ் ரிச்சி என்பவர் தான் இந்த சி மொழியை கண்டறிந்தார்.
கண்டறிந்தார் என்று சொல்வதை விட சீமொழியை உருவாக்கினார் என்று சொல்வதுதான்! சிறப்பாக இருக்கும் என்று நினைக்கிறேன்.
சி என்பது ஒரு நடுநிலையான கணினி மொழி(middle level language )எனக் கொள்ளலாம். இதன் மேம்படுத்தப்பட்ட மொழி வடிவமான சி பிளஸ் பிளஸ் உயர்நிலை மொழி(high level language) என அறியப்படுகிறது.
Objects(பொருட்கள்) எனும் கூடுதல் அம்சம் சி பிளஸ் பிளஸ் இல்(C++ Object oriented programming) இருக்கிறது.இதை உங்களால் சி யில் பயன்படுத்த முடியாது.
ஆனால், c மொழி மிக மிக வேகமான(low compiling time)மொழி; இதற்கு முன்பு இருந்த, பல மொழிகளை காட்டிலும் மிகவும் வேகமாக கணினியோடு தொடர்பு கொள்ளக்கூடிய வடிவமைப்பில் உருவாக்கப்பட்டு இருந்தது.
மேலும், complier based language என அறியப்படுகிறது. அதாவது சி மொழியை கொண்டு, நேரடியாக தரவு தகடுகள் மற்றும் இதர வன்பொருட்களோடு(C can directly interact with the hardwares and hard drives)நம்மால் உரையாட முடியும்.
மேலும், ஓரளவு கற்றவரால் கூட, சி மொழியின்( understandble language)அமைப்பை புரிந்து கொள்ள முடியும்.
வெவ்வேறு கணினி தொடர்பான கருவிகளிலும், சில சில மாற்றங்களை செய்வதால் எளிமையாக சி மொழியை பயன்படுத்த முடியும்.
மேலும், அனைத்து மொழிகளுக்கும் தாய் மொழியாக இருப்பதால் சி மொழியை கற்றுக் கொண்டவர்களால், இதனை அடிப்படையாகக் கொண்டு உருவாக்கப்பட்ட ஜாவா,பைத்தான் போன்ற இன்ன பிற கணினி மொழிகளை எளிமையாக கற்றுக் கொள்ள முடியும்.
ஒரே வரியில் சொல்லப் போனால் கம்ப்யூட்டர் உலகின் அகர முதலியாகவே(alphabet of programming languages), சி மொழி அறியப்படுகிறது.
ஏதோ ஆதி காலத்து மொழி! இதை இந்த மாடர்ன் காலத்தில் பயன்படுத்த முடியாது! என்று நினைத்து விட வேண்டாம். 2023 ஆம் ஆண்டு கூட சி மொழியின் புதிய பதிப்பு வெளியாகி இருக்கிறது(latest C23 version).
ஆதிகாலத்து கலண்டர் செயலி முதல் தற்காலத்து செயற்கை நுண்ணறிவு கருவிகள் வரை சி மொழியால் முடியாதது என்று கணினி உலகில் எதுவுமில்லை.
சிறந்த அறிவியல் கணக்கீடு செயலிகளை கூட, சி மொழியால் உருவாக்க முடியும்.
இவ்வளவு சிறப்புகளை தன்னகத்தே கொண்டிருக்கும் சி மொழியில், எப்படி வணக்கம் சொல்வது? என்று வரக்கூடிய கட்டுரையில் பார்க்கலாம்.
மேற்படி இந்த கட்டுரை குறித்து உங்களுக்கு ஏதேனும் கருத்துக்கள் இருப்பின், தயங்காமல் என்னுடைய மின்மடல் முகவரிக்கு மடல் இயற்றுங்கள்! உங்களுடைய கருத்துக்கள் எப்போதும் வரவேற்கப்படுகிறது.
கட்டுரையாளர்:-
ஸ்ரீ காளீஸ்வரர் செ,
இளங்கலை இயற்பியல் மாணவர்,
(தென் திருவிதாங்கூர் இந்து கல்லூரி, நாகர்கோவில் – 02)
இளநிலை கட்டுரையாளர் மற்றும் மொழிபெயர்ப்பாளர்,
கணியம் அறக்கட்டளை.
மின்மடல் முகவரி : srikaleeswarar@myyahoo.com
இணையம் : ssktamil.wordpress.com