Saturday, November 7, 2015

தமிழ் மொழியில் ஒரு கணினி நிரலாக்க மொழி (புரோகிராமிங் லாங்வேஜ்)

கணினி தமிழர்களுக்கு அறிமுகமான காலத்திலிருந்தே, தமிழிலும் ஒரு கணினி நிரலாக்க மொழி உருவாக்கிட முயற்சித்துப் பார்க்கப்பட்ட ஒன்று தான். பற்பல காரணங்களுகாகவும் இது முழுவதுமாக நிறைவேராத ஒன்றாகவே இருக்கிறது. "முழுவதுமாக நிறைவேராத ஒன்று" என நான் குறிப்பிட்டுள்ளதற்கு காரணம், பலரும் இதை செயற்படுத்த முனைந்துள்ளனர். கணினிசார் மாணவர்கள், பேராசிரியர்கள் மற்றும் தன்னார்வலர்களாலும் சில தொழிற்நுட்ப கல்விக்கூடங்கள் மற்றும் ஆய்வுக்கூடங்களிலும் இது முயற்சித்துப் பார்க்கப்பட்டுள்ளது. ஆனால் அவைகள் பலநேரம் ஒரு ஆய்வறிக்கையோடே நின்றுவிட்டது அல்லது இவ்வாய்வாளர்கள் எதிர்கொள்ளும் எதிர்வினையான அறிவுரைகளாலும் சரியான உக்குவிப்பு கிடைக்காததாலும் ஒரு சலிப்பு ஏற்பட்டு பாதியிலேயே நிறுத்தப்பட்டுவிட்டது.
பல நேரங்களில் இவ்வகையான முயற்சி காரசாரமான விவாதத்திற்கும் விமர்சனத்துக்கும் உள்ளாகியுள்ளது. அனேகமாக எல்லா முயற்சிகளும், ஆங்கில மொழியில் ஏற்கனவே கண்டுபிடிக்கப்பட்ட நிரலாக்க மொழிகளான பேசிக்(BASIC), டீபேஸ்-ஸ்க்ரிப்ட்(dBase Script), சி (C), பேள் (Perl), ரூபி (Ruby), பைத்தான்(Python), லுவா (Lua), ஜாவா (Java) போன்றவைகளை அடிப்படையாகக்கொண்டு அவைகளில் உள்ள ஆங்கிலக்கட்டளைகளை அப்படியே தமிழில் சொல் பெயற்கப்பட்ட தமிழ் நிரலாக்க மொழிகளை உருவாக்கவே செய்தன. எடுத்துக்காட்டாக:

REM PROGRAM TO ADD TWO NUMBERS
INPUT A,B
C = A + B
PRINT "THE RESULT = "; C
END

என்பது பேசிக் மொழியில் இரு எண்களை கூட்டிச்சொல்லும் நிரல்

குறிப்பு இரு எண்களை கூட்டப்பயன்படும் நிரல்
உள்ளீடு க,ச
ட = க + ச
வெளியீடு "முடிவு = "; ட
முற்றும்

இது, எடுத்துக்காட்டுக்காக தமிழில் அப்படிய சொற்பெயற்கப்பட்ட தமிழ் நிரல். ஏற்கனவே ஆங்கில பேசிக் நிரலை புரிந்துகொண்டு இயக்கிடும் மென்பொருளில், அப்படியே "REM" => "குறிப்பு", "INPUT" => "உள்ளீடு", "PRINT" => "வெளியீடு", "END" => "முற்றும்" என மாற்றிவிட்டால், அந்த மென்பொருளானது மேலே உள்ள தமிழ் நிரலையும் புரிந்துகொண்டு இயக்கிவிடும்.

இதில் உள்ள சிக்கல் என்னவென்றால், மேலே உள்ள தமிழ் நிரல், தமிழின் இலக்கண வரையரைக்குள் வருவதில்லை, காரணம் அது ஆங்கில இலக்கணத்தை பின்பற்றுகிறது. காரணம் எல்லாருக்கும் தெரிந்தது தான். தமிழ் ஓர் எழுவாய்-செயப்படுபொருள்-பயனிலை மொழி, ஆனால் ஆங்கிலமோ ஒரு எழுவாய்-பயனிலை-செயப்படுபொருள் மொழியாகும். காட்டாக, நீங்கள் "அனைவருக்கும் வணக்கம்" என்பதை திரையில் காண்பித்திட கணினியை ஆங்கிலத்தில் கட்டளை இடுகிறிர்கள் என்று வைத்துக்கொள்ளுங்கள், அது

(Hey Computer,) PRINT "அனைவருக்கும் வணக்கம்"

என்பதாக இருக்கும். இதையே தமிழில் கட்டளை இடுகிறீர்கள் என்றால்,

(கணினியே,) "அனைவருக்கும் வணக்கம்" என்பதை திரையில் காண்பி

என்பதாகவே இருத்திடல் வேண்டும். ஆனால் மேலே உள்ள தமிழ் நிரலைப் பாருங்கள், சொற்களின் வரிசை மாறியுள்ளது. இத்தகைய ஆங்கில சொல்வரிசையிலுள்ள தமிழ் நிரல், அதனை படித்திடும் தமிழர்களின் கண்களை உறுத்திடும். அந்நிரலின் அமைப்போடு உடன்படத்தோன்றாது. ஆகவே, அந்த இரு எண்களை கூட்டப்பயன்படும் நிரலானது கீழ்க்கண்டவாறு இருந்தால் படிப்பதற்கு உறுத்தலாக இருக்காது. எளிதாக மக்கள் மனதிலும் பதியும்.

இரு எண்களை கூட்டப்பயன்படும் நிரல் என்பது குறிப்பு
க, ச ஆகியவற்றை உள்ளீடு செய்
ட = க + ச
"முடிவு = "; ட ஆகியவற்றை திரையில் காண்பி
முற்றும்

தற்போது இணையத்தில் கிடைத்திடும் ஒரே தமிழ் நிரலாக்க மொழி, "எழில்" ( http://ezhillang.org/ ) ஆகும். அது ஒரு நல்ல முயற்சி என்றாலும், ஆனால் அது எழுவாய்-பயனிலை-செயப்படுபொருள் எனும் ஆங்கில சொல் வரிசையிலேயே உருவாக்கப்பட்டுள்ளது.

இப்போது, கீழ்க்காணும் கேள்விகளுக்கு நானும் நீங்களும் விடையளிக்க முயற்சிப்போம்.
1. தமிழில் ஒரு கணினி நிரலாக்க மொழி கட்டாயம் தேவையா?
2. மேற்கூறிய எழுவாய்-செயப்படுபொருள்-பயனிலை எனும் தமிழ்ச்சொல் வரிசையில் எழுதப்பட்ட கணினி கட்டளைகளை புரிந்துகொள்ளும்படியான மென்பொடுட்களை உருவாக்கிடமுடியுமா?
3. தமிழ் இலக்கணத்திற்கேற்ற அமையும் ஒரு நிரலாக்க மொழியை வகுத்து அம்மொழியில் எழுத்தப்படும் நிரல்களை புரிந்து இயக்கிடும் மென்பொருட்களை உருவாக்கிவிட்டாலும், யார் அதனை பயன்படுத்தப்போகின்றனர்? வீண் முயற்சியாகிவிடாதா?
4. அப்படி உருவாக்கப்பட்ட நிரல்களினால், பிற கணினி மொழிகளில் உருவாக்கப்பட்ட நிரல்களைப்போல் அல்லது அதைவிட வேகமாக இயங்கிடமுடியுமா? அல்லது, குறைந்தபட்ச வேகத்தையாவது எட்டுமா?
5. நிரலாக்கத்தத்துவத்தில் ( https://en.wikipedia.org/wiki/Progr... ) பற்பல வகைகள் இருக்க எவ்வகையான நிரலாக்கத்தத்துவங்களை தமிழில் உருவாக்கப்பட்டுவிடும் நிரல் மொழியில் சேர்த்துவிடமுடியும்?
6. தமிழுக்காக கணினியில் செய்யவேண்டியுள்ளது எவ்வளவோ இருக்க, இப்படி ஒரு முயற்சி தேவையா? தமிழுக்காக கணினியில் செய்யவேண்டிய பல பணிகளில், இது எத்தகைய முதன்மையைப் பெறுகிறது?
7. ஒரு தமிழ் நிரலாக்க மொழியானது, எத்தகைய சிக்கல்களுக்கு தீர்வாக அமையும்?
9. வேறு என்னென்ன காரணங்களால், ஏற்கனவே எடுக்கப்பட்ட முயற்சிகள் கணிசமான வெற்றிகளை அடையவில்லை?
10. தமிழில் ஒரு நிரலாக்க மொழியை உருவாக்குவதில் ஏற்படக்கூடும் சிக்கல்கள் என்னென்ன?
11. தமிழ் நிரலாக்க மொழிய பயன்படுத்துவதில் ஏற்படக்கூடும் சிக்கல்கள் என்னென்ன?
12. தமிழுக்கென்று ஓர் நிரலாக்க மொழி இருந்துவிட்டால், அதனால் தமிழுக்கு ஏற்படப்போகும் பயன் என்னென்னெ?
13. தமிழுக்கென்று ஓர் நிரலாக்க மொழி இருந்துவிட்டால், அதற்கு எவ்வகையான எதிர்பார்புகள் ஏற்படக்கூடும்? அப்படி ஒரு நிரலாக்க மொழியில் என்னென்ன இருக்கவேண்டும், அது என்னென்ன செய்யவல்லதாக இருத்தல்வேண்டும் என நீங்கள் எதை எதை நினைப்பீர்கள்?
14. தமிழுக்கென்று ஓர் நிரலாக்க மொழியை படைத்துவிட்டால், அதை எவ்வாறு மக்களிடம் கொண்டுசேர்ப்பது?
15. நீங்கள் ஒரு தமிழ் நிரலாக்க மொழிய உருவாக்கினால், அதற்கு என்ன பெயர் வைப்பீர்கள், என்னென்ன பெயர்கள் வைக்கமாட்டீர்கள்?

நன்றி.
தாசெ

இது தொடர்பான மேலும் சில சுட்டிகள்:
நன்றி - THAAMARAI CHELVAN·

1 comment:

  1. நல்லதொரு பதிவு. கேள்விகள் அருமை அதர்கு எடுத்தேன் கவிழ்த்தேன் என்று பதில் அளிக்க முடியாது சிந்தித்துதான் பதிலளிக்கவேண்டும்

    ReplyDelete

உங்கள் கருத்துகள் வரவேற்கப்படுகின்றன