த (TA) – New Tamil Programming Language

Few days before, I got an idea on creating a new Programming Language for Tamil. Before starting, I google to search any other programming languages is already available in Tamil. On Search I have found two programming languages available for Tamil.
It’s great to know that tamil language already got a two programming languages. But I couldn’t get a Executable or Source files. So I have decided to mail them to request the source and executable files on those languages.
1) Ezhil – http://arxiv.org/ftp/arxiv/papers/0907/0907.4960.pdf
2) Swaram – http://www.infitt.org/ti2003/papers/15_ganesh.pdf

I looked their specifications, from that I have got some idea about how the structure and what are words we can use in our new Programming languages.

Today I am just thinking about a new name for Programming Language, TA – த (The First Letter from Tamil word) – Tamil Programming Language. I think everybody likes this name.

Now I got the name, then what are the other things I have to do,
Language to be used to create a new Programming Language. I’d prefer to use ‘C’ and ‘C#’.
To identify the suitable pure Tamil words for semantics.
How the Programming structure looks like.

First I have thought about using C & C++ also C#. Now I have decided to start with C# to get advanced facilities from that, in meanwhile I’ll also update in C++ to support all other environments.

What about Editor?
First we have to create a editor for programming, compiling. Before that we must know about the Unicode codes for Tamil letters. We can view that for
TSCII here
TSCII to UNICODE Conversion here
Then I have searched, is there any Tamil editors available as Open Source. The I have thought we can create our own editor for this, that will give flexible in typing and compiling.

And then we have to plan for how the programming structure will look and about the semantics. And what are features we can incorporate in first edition.
I have decided to use the tamil words which easily understood by all. So that developers who’s going to use our language will easily understand.

I need all your help on developing the new Programming Language for Tamil. So that I have started a new separated blog in Tamil and English to update the regular news about the development of TA Language. So we can jointly develop this language, which will be a start for Tamil Language to go on another step.

I have also created a account in Facebook and Twitter. I would like who ever knows, Tamil can help us to develop the TA – Language.

Facebook – http://www.facebook.com/ta.tamilnirali
Twitter – https://twitter.com/ta_tamilnirali

Blog in Tamil – http://tamilniralita.wordpress.com/
Blog in English – http://tamilprogrammingta.wordpress.com/

Contact Mail – tamilniralita@gmail.com , tamilniral@gmail.com

Shantha Kumar
Shantha Kumar
Articles: 269


  1. Hi Tim, I didn’t think this is waste of time. This is an another step to push the Tamil Language to another level. So we can join our hands to add a new ornament to Tamil Language

    • Most people have this thought, but before starting up with the ‘Editor’ idea try developing the compiler first,.

  2. I got a same idea. Thanks for your blog which has information collected. If we are able to design a better and stable and efficient progg. language engine, all tamils can code their progg. LOGICS.

  3. Your thought looks good. i too had the same thought of developing programing language in Tamil. \\but i am not that much expertise in programing codes. Then recently i browsed and got the information about Swaram and Ezhil. But i don’t know how to develop my idea of developing a programming language in Tamil. I have a question. Have to tried anything innovative to increase to reach your idea world wide. So, that it can reach some more people of the same interest. What programing language included to develop “TA”. Why your blog has not been updated with any new information regarding the new idea on “TA”. is there any other place where i can get more information on this “TA”.

  4. Nanbarey

    Good idea! You mayl have to work on multiple levels. Work on a modular approach where it can be taken several notches above present international level. Let it be pioneering even for the world. Keep it open to such a scope for at least later developments.
    It would be nice to have this compiler work as an all purpose coding tool also using visual coding methods as well. With English translator too, someday.

  5. அன்புள்ள சாந்தகுமாருக்கு,

    என் பெயர் தாமரைச்செல்வன். ஒரு நிரல்ஞராக பணிபுரிகிறேன். உங்கள் கணினிமொழிக்கனவான “த” தனைப்பற்றி கீழ்க்காணும் சுட்டிகள் வாயிலாக தெரிந்துகொண்டேன்.


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

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

    C = A + B

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

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

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

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

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

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

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

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

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

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

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

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

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

    இது தொடர்பான மேலும் சில சுட்டிகள்:


Leave a Reply

Your email address will not be published. Required fields are marked *