‘மிலுவாக்கீ’ எந்த அமெரிக்கா மாநிலத்தில் உள்ளது?

இந்த கட்டுரை 2015-இல் எழுதியது; மாற்றங்களின்றி இங்கே;

தமிழில் மென்பொருள் சூழலை எப்படி உருவாக்குவது

பாஸ்டன் அமெரிக்கா ஜுலை 10, 2015

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

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

பொறியாளர் என்ற கோணத்தில் பார்த்தால் காரணம் சிலவற்றை சுட்டிக்காட்டலாம்.

1. குறியீடு முறைகள் சற்றே சிக்கலாக இருப்பதால் தமிழ் சார்ந்த தமிழ் உரை ஆலோசனை /ஆய்வு நிரல்கள் எழுதுவது ஒரு சிக்கலாக உள்ளது.

2. இயற்கைப்பேச்சு மொழி, தமிழ் உணரி, தமிழ் உரை ஒலி மாற்றி, சொல் திருத்தி, அச்சு எழுத்தில் இருந்து கணினி எழுத்து உணரி போன்ற செயலிகள் இல்லாதது.

3. நம் தமிழ் செயலிகள், Siri, Cortana, Google Voice போன்ற சேவைகளைப் பயன்படுத்தி உருவாக்கிய நிரல்களை விட ஒரு படி குறைவாகவே தோன்றும்.

4. தமிழ்மொழிச்செயலிகள் உருவாக்க ஒரு நிரல்தொகுப்பு (Standard Library) இல்லாதது ஒரு பயிலும் மாணவருக்கு தமிழ்மொழி செயலி உருவாக்கல் கடினமாக்குகிறது.

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

கட்டுரை அமைப்பு

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

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

முடிவாக எனது முக்கோண திட்டத்தை முன் வைக்கிறேன்.

எழில் தமிழ் நிரலாக்கல் மொழி

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

1. எழில் மொழி திறமூல மென்பொருள் இணையம் வழி கற்றிடலாம் மற்றும்

2. இதனைக் கற்பதற்கு தமிழில் நிரல் எழுது என்ற துணை கையேடும் வெளியிடப்பட்டுள்ளது. இந்தப் புத்தகம் அச்சில் உள்ளது.

3. கணிமை மூதாதையர் அலன் டியூரிங் அவரின் வழி டியூரிங் வரையறைக்குள் முழுமையாக (Turning complete) உள்ளது.

தமிழ் மட்டும் அறிந்த மாணவர்கள் கணிமை துறையில் பின்தங்கியதாக இருக்க வேண்டாம்?. அந்த நிரலாக்கல் திறன் இன்று எழில் தமிழ் வழியாகவும் ஆங்கிலம் சார்ந்ததாக உள்ளது. கையில் சொற்கள் இருப்பினும் தமிழில் முதன்மையாக நிரல் எழுத வசதியில்லை. 2007இல் தோற்றம் எடுத்தாலும் எனது முதுநிலைப் படிப்பின் காரணமாக 2009 முதல் 2012 ஆண்டுகள் வரை அதிகம் மேம்படுத்தப்படாமல் இருந்தது. திரும்ப 2013 முதல் இந்த திட்டம் மறுபிறப்பேடுத்து இணையம் வழி வழங்கப்பட்டது.

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

1. ஆங்கிலத்தில் இல்லாத சில நிரலாக்க மொழிசார்ந்த குறியீடு சார்ந்த சிக்கல்கள்.

2. சிறிய சந்தை அளவினாலும் இலாபம் குறைவாக இருப்பதால் பலர் தமிழில் பங்களிப்பதையோ, உருவாக்குவதையோ வெறும் வணிக ரீதியில் பார்க்கின்றனர்.

3. மேலும் கூறினால் தொழில் நுட்பத்தில் முதலீடு செய்யவும்

4. இலாபம் பார்க்கும் வரை தாக்குப்பிடிக்க பண வசதி செய்ய யாரும் இல்லை.

5. அரசாங்கத்தின் உதவி பெறும் தனியார் நிறுவனங்கள் மட்டும் உள்ளன.

6. நாம் எப்படி அடுத்த கட்ட இளைஞர்களை தமிழ் பொறியியலில் தயார் செய்யலாம்?.

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

தமிழ் இலக்கிய தோட்டம் (..தோ) ஆண்டு விழா டொரன்டோ, கனடா இந்த ஆண்டு ஜுன் 13ஆம் நாள் நடந்தது. 2014–ஆம் ஆண்டு தமிழ் கணிமைக்கான விருதை த..தோ. கலச்சுவடு அறக்கட்டளையின் சார்பில் நான் உருவாக்கிய எழில் என்ற நிரலாக்க மொழி விருது பெற்றது மிகுந்த மிகழ்ச்சி. INFITT, ..தோ போன்ற அறக்கட்டளைகளைத் தொடர்ந்து சிறப்பாக செயல்பட வேண்டும்.

சிலோன் பெயர் கொடுத்த ஆங்கில சொல் ‘serendip’ – `serendipity’- என்று தேட அதிர்ஷ்டமாய் வந்த த..பே.தா அழைப்பு மற்றும் விருது என் வாழ்வில் ஒரு மையில் கல் ஆக அமைந்தது.

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

நேரம் படிக்கும் கெடிகாரம்

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

 

இதற்கு காரணங்கள் இரண்டு

1. எண்கள் ஒலி பேசி உருவாக்க மூல தேவை எண்கள் சொல் வடிவில் மற்றும் திறன் செயலி ஏற்கனவே நான் இதை ஒப்பன் தமிழ் தொகுப்பில் உருவாக்கினேன்.

2. இதை வைத்து ஒரு சில எண், சொல் (.கா. 100, 1000 – நூறு ஆயிரம் இவற்றிற்கு மட்டும் ஆண், பெண் குரலில் ஒலி வடிவ கோப்புகளை சேமிக்கவும்.

இதற்கு 63 ஒலி வடிவு குரல் கோப்புகள் மட்டும் தேவைப்படுகின்றது. இதை மட்டும் வைத்து எந்த எண் ஆனாலும் அதை ஒலி வடிவில் தானியங்கியாக கணினி வழியில் ஒலியாக்கலாம்.

இதை வைத்து 6 முதல் 10,000 கோடி வரை முழு எண்.1729 ஆனாலும் தசம எண்.3.14159 ஆனாலும் அழகாக ஆண் குரலிலோ பெண் குரலிலோ ஒலி வடிவமைக்கலாம். இதன் சான்றுகளை இந்த சுட்டியின் வழி கேட்டிடலாம். https://soundcloud.com/ezhil-lang

குரல் கிடைத்தது.

இந்த தானியங்கி உருவாக்க ஒரு பெண் குரல் தேவைப்பட்டது. ஒரு தமிழ் பெண் பொறியாளர். இவர் நான் விடுத்த வலைபூ மற்றும் கீச்சு (Twitter) அழைப்பிற்கு தானே பங்களித்தார். நானே ஆண் குரலுக்கு பங்களித்தேன்.

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

இந்த ஒலி பேசி செயலியைக் கொண்டு நாம் ஒலி பேசும் கடிகாரம் ஒன்றை உருவாக்கலாம். (.கா.) இதை கொண்டு ஒரு வங்கியில் வரிசைச்சீட்டு முறை செயல்படுத்த உதவி செய்யலாம்.

இதற்கு பணம் ஏதும் கொடுக்கவில்லை. என்னடா விசித்திரமாக சொல்கிறாரே என்று என்ன வேண்டாம். இது திற மூல மென்பொருளிற்கு உடைய பல அம்சங்களில் ஒரு சிறப்பு அம்சம் எனது மென்பொருள் அவரது குரல் ஔி கோப்பு அனைத்து இலவசமாக பயன்படுத்தலாம் எவ்வளவு ஆச்சரியம்!

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

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

மின் ஊடக கணினித் தமிழ் – குறுகிய வரலாறு

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

1980 – முதல் 2000- வர எழுத்துரு வகை குறியீட்டில் (font based encoding) சிக்கியும், இதன் சிதைவு பிடியில் இருந்து தப்பமுடியாமல் இருந்த தருணம் இந்த தேக்க நிலையில் இருந்து பல தன்னார்வலர், தொழிலதிபர் மற்றும் சில அரசு வல்லுநர் குழுக்கள் முயற்சியால் குறியீடும் (ஒருங்குறி), விசைப் பலகையும் (தமிழ் -99) தரம் செய்யப்பட்டது.

ஒருங்குறி என்பது TSCii, TACE, இரு அமைப்புகளை காட்டிலும் சில குறைகள் இருப்பினும் பரவலாக வலை தளங்களில், வலை உலவிகளில் மட்டும் திருத்திகளில், திறன்பேசிகளில் ஏற்கப்பட்டது. ஒப்பன் தமிழ் போன்ற நிரல் தொகுப்புகளை இல்லாவிட்டால் திற மூல மென்பொருள் எழுதுவது மிகவும் கடினமாக உள்ளது.

அமெரிக்காவில் DARPA, IETF (இணையம் செயற்குழு) போன்ற நிறுவனங்கள் மேம்பட்ட தொழில் நுட்பங்களை இலவச /திற மூல மென்பொருளாகஅளித்ததால் மட்டுமே இணையம் 1960 இல் உருவானாலும் கூற தற்போது உலகம் முழுவதும் பரவலாக வளர ஒரு காரணம் என்று சொல்லலாம்.

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

ஒருங்குறி ஒரு தரமாக ஏற்றுகொள்ளப்பட்டாலும் நாம் குறியீடு விவாதங்களில் இருந்து விடு பெற்று மேன்மை மென்பொருள்கள் இலக்கை எட்டத் தேர்ச்சி பெற்றுள்ளோம்.

ஆப்பிளும் முக்கனியும்

திறன்பேசி பயன்பாட்டில் ஆங்கிலம் நிலையை காட்டிலும் தமிழ் பயன்பாடு பல படிகள் குறவைாகவே உள்ளது. தமிழ் பேசினால் அதற்கு புரியாது. அதுவும் உங்களிடம் தமிழ் வரை, கவிதை, கட்டுரைகளை படிக்காது கிட்டதட்ட அது ஒரு 10 ஆண்டுகள் முன்னர் உள்ள ஒரு தொலைபேசி நோக்கியா 3330’ போன்று தான். தமிழகம் பொறுத்தவரை செயல்படுகிறது.

மிலுவாக்கீ எந்த அமெரிக்க மாநிலத்தில் உள்ளது?

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

ஒரு வீட்டுப் படமாக இந்தக் கேள்வியை கூகிள் வழி கேட்டால் ஆங்கிலத்தில் புள்ளிவிவரத்தோ `விஸ்கான்சின்’ என்று சிறப்பாக தமிழ் தற்போது இந்த நிலையில் இல்லாவிட்டாலும் விரைவில் இந்த இலக்கை நோக்கி நம்மில் ஒருவர் முயல்வார்கள். இது நீங்களாவும் இருக்கலாம்.

என் பார்வையில் இந்த பரிணாம வளர்ச்சியின்பால் இப்போது அடுத்த 10-15 ஆண்டுகளில் ஒரு நல்ல தமிழ் நிரலாக்கம் சூழலை வருங்கால நிரலாளர்களுக்கு, உருவாக்கி கொடுத்தால், அது, அவர்களை நிரல் எழுதி தமிழில் செயலிகளை உருவாக்க ஊக்கம் அளிக்கும். ஒரு நல்ல சூழலில் நிரல் தொகுப்புகள் அகராதி, சொல்திருத்தி, இலக்கம் ஆய்வு. நிரல் செயல்முறை (அல்கோரித்ம்ஸ்) நிரலாளர், ஆவணங்கள், பயனர், குழுக்கள், பயிலரங்கங்கள் மேம்பாடு அடைய வேண்டும்.

முன்னோக்கு பலமான அஸ்திவாரம்

நூறு மாடிக்கட்டடம் ஒன்றை கனவு கண்டு எழுப்புவது எப்படி? அதற்கு ஒரு நல்ல திட்டம், ஒரு பலமான அஸ்திவாரம் வடிவமைத்துத் தொடங்க வேண்டும்.

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

மக்களுக்குத் தேவையான மென்பொருள்கள் மக்கள் வாங்கும் வண்ணம் அவர்களுக்கு இந்தச் சந்தையில் கிடைக்கும்.

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

முக்கோண திட்டம்

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

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

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

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

****

கிறிஸ்துமஸ் கேளிக்ககை

கலிபோர்னியா மாகாணத்தில், யோசெமிட்டி தேசிய பராமரிப்பு காட்டில், உள்ள மாபெரும் 3000-ஆண்டுகள் வாழ்ந்த சிவப்பு மரங்களை கனுபோழுது, “Even the mightiest Oaks come from tiny seeds” என்ற பழமொழி நினைவிற்கு வரும்.

Giant Redwoods of Mariposa Grove, in Yosemite National Park

யோசெமிட்டி தேசிய பரமரிப்ப்பு காட்டில் உள்ள மாறிபோச பூங்கா – இங்கு 3000-ஆண்டுகள் மேல் வாழும் ரெட்வூட்ஸ் மரங்களை காணலாம். உபயம்: (C ) Wood Louse – https://www.flickr.com/photos/woodlouse/4670770115/in

சிறு துளி பெறு வெள்ளம். கிறிஸ்துமஸ் கேளிக்ககை ஒட்டி ஒரு சிறிய நிரல் ஒன்றை எழுதுவோம்:

எண்கள் = [1, 2, 3, 4, 5, 2, 2]
@(எண்கள் இல் இவ்வெண்) ஒவ்வொன்றாக
பதிப்பி ” “*(5-இவ்வெண்),”#”*(2*இவ்வெண் – 1)
முடி

இதனை இயக்கினால் பாருங்கள், ஒரு மரம் வளரும் 🙂

     #
    ###
   #####
  #######
 #########
    ###
    ###

இனிய ஓய்வு கால நல்வாழ்த்துக்கள்.

அன்புடன்,
முத்து
பாஸ்டன்

எழில் உதாரணங்கள் தேவை

கீழ்கண்ட எழில் உதாரணங்கள் (எ.கா) ஏதேனும், எதனையும் உங்களால் பங்களிக்க முடியுமா?

உங்களால் முடிந்தவரை Github தளத்தில் pull -request அனுப்பவும். இல்லாத பட்சத்தில் நேரடியாக ezhillang என்ற ஜிமெயில் அஞ்சலுக்கு உங்கள் படைப்புக்களை அனுப்புக.

  1. நாள் தேதி எ.கா  – பிறந்த நாளை உள்கொண்டு
    1. வயதை இந்நாள் வரை கணக்கிடும்
    2. ஒரு கழுதை வயசு 8 ஆண்டுகள் எனில் வயசு என்ன?
    3. எத்தினை நாட்கள் வசித்து வந்தனர்? லீப் ஆண்டுகள் கவணம்
  2. முனை-ஓரம் (கிராப்) வரைபடம் வடிவமைத்து கீழே உள்ள வினாவிற்கு விடையளிக்க – தமிழ் திரையுலக கலாச்சாரம் சார்ந்த எ.கா. ஏதேனும் ஒரு நடிகர்/கை:
    1. ஒரு குறிப்பிட்ட படத்தில் உள்ளனரா ?
    2. இவர் மற்றவர் ஒருவருடன் எத்தனை படங்களில் இடம் பெற்றார் ?
  3. எழில் அடுக்கு செயல்கூறுளுக்கு எ.கா நிரல் எழுதுக – கீழே உள்ள வினாவிற்கு விடை எழில் வழி அளிக்க
    1. பெருக்கல்
    2. கூட்டல்
    3. கழித்தல்
    4. அடுக்கு பெருக்கு
  4. தொலைபேசி விலாசம் புத்தகத்தை எழில் எ.கா. வடிவமைக்க       1.  தொடர்புகளை சேர்,                                                                                      2. தொடர்புகளை நீக்கு,
    3. தொடர்புகளை தேடு

நன்றி

-முத்து

 

 

Ezhil Language Tamil Programming

எழில் மொழி மேம்பாடு கோவை – 3

Happy Thanksgiving holiday 2015, to all readers. Quoting from Tamil adage,
“நன்றி மறப்பது நன்றன்று; நன்றல்லது அன்றே மறப்பது நன்று”.

This weekend Ezhil language got a
semantic analyzer framework, ‘execute’ function, Bernoulli number example; see more

0) add visit_binary_expr for the transformer
1) add semantic type check for string concat via + and string comparisons
2) add semantic type check test cases and driver script updates
3) Python3 compat of ezhil_transformer.py
4) unittest for pprint needs to be updated; TBD

11) add code for execute file and copy variables into local scope
12) add unittest for 1; resolves issue Language feature – execute / இயக்கு #101
13) add semantic validation step following parser
14) update visitors for Array and Dict
15) update test to relative paths

21) Bernoulli numbers : demoed in Ezhil

31) Update Python3 Interpreter loading by avoiding NoClobber errors
32) __init__ to use relative imports
33) __main__ module added to Python for style “python -m ezhil” to start interrpreter
34) testcases added for hexadecimal.n
35) ezhil_web.py updated to load on Python3 (print statements esp in new style)
36) envchecks, foo, ifparse, ifparse2 Ezhil programs are added to test suite

Ezhil - Tamil Programming Language

எழில் மொழி மேம்பாடு கோவை – 2

எழில் மொழி மேம்பாடு கோவை – 2

0) Enable profiling of Ezhil code.
1) Add tracebacks where necessary.
2) Add unittest and examples for profiling -gcd, fact, profile_test.py
3) Refactor the env behavior with runtime
4) test sentinel fixup to run goldenratio.n and array_wr.n
5) accept parameter called stacksize to Ezhil CLI
6) make exprs code to return a 255 exit code upon exception
7) make unittests for failing exprs code to run fast and less verbose
8) exprs code fails properly now

10) Add profiling information to any program on the fly; '-profile'
11) add entry/exit calls to profile("begin") and profile("results") as we go.
12) API update to raw_input to be i/p exception safe to Interpreter state
13) Handle exceptions better during raw_input calls
14) add capability to  QuietTest unittest class
15) update hello.n to not break the prettyprinter test
16) HTML API update

21) Mathematics series + sequence operations for Ezhil programs
22) Ezhil Interpreter - ezhili
23) update test script

31) Add ezhil test for interactive programs using echo
32) simple demos
33) enable the programs stored in Tamil/unicode file names to be executed correctly
34) file_close failed due to serializing env - we wont attemp this from now on
35) hanoi.n - dont mix str and unicode
36) test - recover the filerw.n as well
37) down to 15 failures
38) update str.x methods to string.x which are encoding compatible;

40) unittest for running Python2 and 3 versions
41) Python3 recognizes Ezhil code; we are at starting line.
42) Code can be optimistically ported between 2-3
43) improve profiling output formatting;
44) update yinyang to skip the pause
45) input stream should not be opened in UTF-8 for Python2 nor Python3
46) dump_file is the name we use within tests
48) Fix call-stack and local scoped variable unwinding of interpreter if any exceptions were thrown.
49) This resolves issue #60. "After runtime error local variables are trashed; #60"
50) Python3 testing for Ezhil; unittest3 is not ready;
51) fixup the unittest and error stack during the file execution

51) make profiling work in Python3
52) update list/dictionary key/value retval in Python2/3 barriers
53) update test3 sentinel to use suffix 3 log files during test.

61) failures only in Python3

More at Ezhil Lang development site.

எழில் மொழி மேம்பாடு கோவை

Ezhil Language – Interpreter Updates : github

Ezhil - Tamil Programming Language

Ezhil – Tamil Programming Language

0) Output of expr evaluator returns base Python elements; this seems to show a good speedup in the interpreter

1) Assertions return a exit code 255 - issue #99 resolved
2) Add support for binary operators >> and << ; right and left shifts
   Language feature and issue #98
3) Add support for unary operator bit complement ~
4) Update logical not operator to return (T) / (F) along with poi-mei in its str representation
5) Builtin str in Python is used directly in Ezhil
6) scanner symbols have to be in sequence with the
   length of token types, otherwise odd things can happen
7) use x-platform coding in Ezhil; Windows platform returns "win32" for call sys_platform()
8) updated known failure list for testing.

9) add xor operation as a Ezhil builtin function; & add unittest
10) golden ratio
11) ezhil support for Python3
12) ezhil staircase light example
13) kludge of eval builtin
14) mathipeedu

If you are interested in contributing, please check our issues on github and send a pull-reqest.