ரூபி நண்பன் தமிழாக்கம் முழுமை அடைந்தது. இந்த புத்தகத்தை கொண்டு நீங்கள் ரூபி மொழியை பயிலலாம்.
நன்றி.
மொழிபெயர்ப்பு குழு.
தமிழில் நிரல் எழுது – Write code in தமிழ்
எழில் : தமிழ் நிரலாக்க மொழி (Ezhil Language Blog) [opinions are my own]
ரூபி நண்பன் தமிழாக்கம் முழுமை அடைந்தது. இந்த புத்தகத்தை கொண்டு நீங்கள் ரூபி மொழியை பயிலலாம்.
நன்றி.
மொழிபெயர்ப்பு குழு.
Today, you are welcome to play with open-tamil API via web at http://tamilpesu.us
This is collective work of our team underlying the website (written in Django+Python) highlighting various aspects of open-tamil like transliteration, numeral generation, encoding converters, spell checker among other things. At this time I hope to keep the website running through most of this year, and add features as git-repo https://github.com/Ezhil-Language-Foundation/open-tamil gets updated.
Thanks to Mr. Syed Abuthahir, many months ago, in winter of 2017, he has developed an interface for open-tamil on the web and shared with us under GNU Affero GPL terms. Later, we is added as part of main open-tamil as well.
Open-Tamil moves forward; come join us!
-Muthu
சமீப காலமாக packaging எழில் என்பதில் எப்படி github-இல் உள்ள எழில் மொழி நிரல்களை ஒருங்கிணைத்து ஒரு திரட்டியாக செய்து பயனர்கள் தங்கள் கணினிகளில் நிறுவி செயல்படுத்தும் படி செய்யலாம் என்று வேளைகளில் இறங்கி உள்ளேன்.
விண்டோஸ் தளத்தில் 64-bit கணினிகளில் Windows 7, 8, 10, என்பதில் எழில் மொழி செறிவர நிறுவி வேலைசெகிறது என்று நான் பலரிடம் அவரவர்கள் நடத்திய பரிசோதனைகளில் உறுதிபடுத்தி கொண்டேன்.
லினக்ஸ் இயங்கு தளத்தில் எதுவும் ப்ரிச்சனை இருப்பதாக தெரியவில்லை. Ubuntu-விலும் 64-bit கணினியில் சரியாக வேலை செய்கிறது.
அனால் இந்த Mac OS-X இல் மட்டும் எழில் மொழி Github repo-வில் இருந்து console வழி மட்டும் செயல் படுகிறது. எழுதி செயலி window வழி graphical interface GTK-இனை சார்ந்து உள்ளதால் இதற்க்கு Mac OS-X இல் இயக்க சற்று சிக்கல்களாக உள்ளது. காரணம் PyGobject3 Windows மற்றும் Linux தலங்களுக்கு மட்டுமே நிறுவ தயார் நிலையில் உள்ளது. Mac OS-X இக்கு Gtk-ஐ மூல நிரல்களில் இருந்து மட்டுமே நிறுவும் நிலை உள்ளது என்பதால் இதனை திரட்டி ஆக்குவதும், ‘எழுதி’ செயலியை இயக்குவதும் சற்று கஷ்டமாக / முடியாமல் போனது.
இந்நிலையில் Mac OS-X-இல் எழில் மொழி console இடைமுகம் செயலி நன்றாக வேலை செய்கிறது என்றும் பதிவு செய்கிறேன். வரும் நாட்களில் ஏதேனும் புதிய முன்னேற்றங்கள் இல்லாத பட்சத்தில் எழில் மொழி ‘எழுதி’ இடைமுகம் இந்த தளத்தில் கிடைக்காது – கட்டளை இடைமுகம் மட்டுமே கிடைக்கும்.
உங்களில் எவருக்கும் Mac OS X-இல் GTK அல்லது packaging வல்லமைகளை, பரிந்துரைகள் இருந்தால் பகிரவும்.
-முத்து,
சான் ஓசே, கலிபோர்னியா
தொடர் பட்டியல் என்பது ஒரு எளிதான தரவு வடிவம். சுலபமாக பல ஆயிரக்கணக்கான மதிப்புகளை சேமிக்க இந்த தொடர் பட்டியல் பயன்படுத்தலாம்.
இந்த தொடர் பட்டியல் இரண்டு வகையாக அமையும்: ஒருபடை தொடர் பட்டியல் (singly linked list) மற்றும் இருபடை(doubly linked list) இவை கீழே படங்களில் காணலாம். இதனையும் தாண்டி வட்டம் தொடர் பட்டியல் (circular linked list) என்றும் செய்யலாம் இதனை கடைசியில் காண்போம்.
படம் 1: ஒருபடை தொடர் பட்டியல் (singly linked list). இதன் முதல் தலை நுனி ‘12’ என்ற மதிப்பை கொண்டது. இதன் ‘அடுத்த’ மதிப்பு ‘99’ மதிப்பு கொண்ட நுனியின் விலாசத்தை கொண்டது. மேலும் ‘99’ நுனி ‘37’ என்ற மதிப்பு கொண்ட நுனியின் விலாசம் கொண்டது. ‘37’ நுனி என்பது கடைசி நுனி என்பதால் இதற்க்கு அடுத்து மதிப்பு காலி என கொண்டது. இந்த ‘அடுத்து’ என்ற இணைப்பே ‘12’ நுனியில் தொடங்கி ‘37’ வரை செல்லும் அம்சத்தை தொடர் பட்டியல் என்று ஆகும் படி இந்த தரவு வடிவத்திற்கு அளிக்கிறது.
படம் 2: படம் 1-ஐ போலவே தொடர் பட்டியல் ஆனால் ‘அடுத்து’ மதிப்பை போலவே கூடுதலாக ‘முந்தைய’ என்ற மதிப்பையும் ஒவ்வொரு நுனியும் கொண்டது. இதன் காரணமாக இதனை ‘இருபடை தொடர் பட்டியல்’.
தொடர் பட்டியல் என்பது நுனிகள் என்பதால் உருவாக்கப்பட்டது; இவை ஒருன்றுடன் ஒன்று ‘அடுத்து’ என்ற மதிப்பில் இணைக்க பெற்று முழுமையாக தொடர் என்று உருவம் எடுக்கிறது. இது உதிரி பூக்களை மாலையாக கோர்ப்பது போல என்று நினைத்து கொள்ளலாம்.
# நுனி உருவாக்குதல்
நிரல்பாகம் ஒருபடை_நுனி( மதிப்பு )
நு = {“அடுத்து” : [], “மதிப்பு” : மதிப்பு }
பின்கொடு நு
முடி
# நுனியின் அடுத்து விலாசத்தை மற்றோரு நுனியில் அமைத்தல் /
நிரல்பாகம் ஒருபடை_இணை( நுனி_முதல், நுனி_அடுத்து )
நுனி_முதல் [“அடுத்து”] = நுனி_அடுத்து
பின்கொடு நுனி_அடுத்து
முடி
தொடர் பட்டியலின் முதல் நுனியை “தலை நுனி” என்று பெயரிடுவோம். இந்த தலை நுனியை மட்டும் நாம் கொண்டு முழு பட்டியலை ஒவ்வொன்றாக அணுகலாம். எப்படி ? நுனியில் “அடுத்து” என்ற நுனி விலாசம் உள்ளதை வைத்து நுனிக்கு செல்லலாம். இதனையே பலமுறை – அதாவது அடுத்து என்பதன் மதிப்பு காலி ஆகும் வரை – செய்தால் முழு பட்டியலையும் தலை நுனியில் இருந்து கடைசி நுனிவரை ஒவ்வொன்றாக அணுகலாம். இதனை “ஒருபடை_அணுகு()” என்ற நிரல்பாகம் நிரல்படுத்தும்.
சரி – இப்ப இந்த பட்டியலில் ஒரு குறிப்பிட்ட மதிப்பு உள்ளதா என்று எப்படி தேடுவது ? இந்த செயல்முறையை நம்ம “ஒருபடை தொடர் பட்டியல் தேடல்” என்று பெயரிடுவோம். தேடல் என்பது பட்டியலில் உள்ள ஒவ்வொரு நுனியையும் அணுகி (அணுகுதல் என்ற நிரல்பாகம் கீழே எழுதப்பட்டதைப்போல்) குறிப்பிட்ட மதிப்பிற்கு சமமாக உள்ளதா என்று பார்க்கவேண்டும்.
# ஒருபடை தொடர் பட்டியலை வரிசையில் அணுகுதல்
நிரல்பாகம் ஒருபடை_அணுகு( நுனி )
நுனி_அடுத்து = []
காலி = []
@( நுனி != காலி ) வரை
#பதிப்பி “முதிப்பு => “,
பதிப்பி நுனி [“மதிப்பு”]
நுனி_அடுத்து = நுனி [“அடுத்து”]
நுனி = நுனி_அடுத்து
முடி
பின்கொடு நுனி_அடுத்து
முடி
தேடிய ‘குறிப்பிட்ட மதிப்பு’ கிடைக்காவிட்டால் -1 என்ற மதிப்பு பின்கொடுக்கப்படும்; கிடைத்தால், தலை நுனியில் இருந்து தூரத்தை வரிசை எண் என்று பின்கொடுக்கப்படும்
நிரல்பாகம் ஒருபடை_தேடு ( நுனி, குறிப்பிட்ட_மதிப்பு )
நுனி_அடுத்து = []
காலி = []
வரிசை_எண் = 1
@( நுனி != காலி ) வரை
@( நுனி [“மதிப்பு”] == குறிப்பிட்ட_மதிப்பு ) ஆனால்
பின்கொடு வரிசை_எண்
முடி
நுனி_அடுத்து = நுனி [“அடுத்து”]
நுனி = நுனி_அடுத்து
வரிசை_எண் = வரிசை_எண் + 1
முடி
பின்கொடு -1
முடி
# நுனி உருவாக்குதல்
நு12 = ஒருபடை_நுனி( 12 )
நு99 = ஒருபடை_நுனி( 99 )
நு37 = ஒருபடை_நுனி( 37 )
# நுனியின் அடுத்து விலாசத்தை மற்றோரு நுனியில் அமைத்தல் /
ஒருபடை_இணை( நு12, நு99 )
ஒருபடை_இணை( நு99, நு37 )
# ஒருபடை தொடர் பட்டியலை வரிசையில் அணுகுதல்
ஒருபடை_அணுகு( நு12 )
#சாவே இல்லாத வீட்டிலே கைப்பிடி கடுகு கிடைக்குமா ?
பதிப்பி ஒருபடை_தேடு(நு12, 10)
பதிப்பி ஒருபடை_தேடு(நு12, 37)
இதன் வெளியீடு : 12, 99, 37. முழு நிரல் இங்கு.
இந்த மாதிரி தொடர் பட்டியலில் பல கேள்விகளை எழுப்பலாம், உதாரணத்திற்கு:
இதனை போல கேள்விகளை பயிற்சிக்கு கேட்டு கொண்டே போகலாம். அனால் நீங்கள் இந்த இரண்டு புத்தகங்களை நேரம் கிடைக்கும் சமயம் கட்டாயம் படித்தால் எல்லாம் விளங்கும்.
இதை இரண்டையுமே நீங்கள் கரைத்து குடித்துவிட்டால் உங்களுக்கு நிரலாக்க திரையில் கிராக்கி அமோகமாக விளங்கும். அப்படி கார்பொரேட் கைதியாக இருக்கவேண்டாம் என்று வீரப்பாக இருந்தால் இந்த புத்தகத்தில் உள்ள லட்டு, ஜிலேபி இனிப்புகளை இன்பமாக அனுபவியுங்கள்.
மேலும் அடுத்த வாரம்.
-முத்து
கவனத்திற்கு: தொடர் பட்டியல் படங்கள் விக்கிபீடியா, புத்தக அட்டைகள் பதிப்பகத்திற்கு சொந்தம்; எழுத்து பிழைகள் எல்லாமே என்னோடது.
தொடக்க அளவு பைத்தன் கற்பதற்கு, Swaroop எழுதிய “Byte of Python” என்ற மின் புத்தகம் மிக அறுமையானது. இதை இங்கிருந்து தரவிரக்கலாம்.
இந்த புத்தகம் பல மொழிகளில் மொழிபெயர்க்கப்பட்டாலும் இன்னும் தமிழில் வரவில்லை. இதற்கு தன்னார்வலர்கள் இங்கிருந்து பங்களிக்கலாம்.
அடுத்த வீடியோவில்
எழில் (தமிழ் நிரலாக்க மொழி) மூலம் இப்போது நீங்கள் தமிழ் கணினி #நிரல்களை எழுத முடியும்!
Ezhil is Tamil programming language. Write Code in Tamil.
This video explains concepts of Ezhil language, and how you can program via the http://ezhillang.org website. Try programs at http://ezhillang.org/ezhil_eval.html
e.g. 1, 2, 1729, 314159, 355, 113, 1001, etc.
e.g. 1 -> 1, 2->2, 1729 -> 1+7+2+9 = 19, 314159 -> 3 + 1 + 4 + 1 + 5 + 9 = 23, etc.
அனைத்து ஒன்றாக நீங்கள் அதை வைத்து (Putting it all together you get),
# இது ஒரு எழில் தமிழ் நிரலாக்க மொழி உதாரணம் # sum of digits of a number # எண்ணிக்கையிலான இலக்கங்களின் தொகை நிரல்பாகம் எண்_கூட்டல்( எண் ) தொகை = 0 @( எண் > 0 ) வரை d = எண்%10; பதிப்பி "digit = ",d எண் = (எண்-d)/10; தொகை = தொகை + d முடி பின்கொடு தொகை முடி பதிப்பி எண்_கூட்டல்( 1289)#20 பதிப்பி எண்_கூட்டல்( 123456789)# 45
நீங்கள் நிரலை ezhillang.org முயற்சி செய்யலாம்; You can try out the code at ezhillang.org
வாசிப்பு நன்றி, மற்றும் உங்கள் கருத்துக்களை பகிர்ந்து கொள்ள!
அன்புடன்,
முத்து
Thanks for reading, and share your comments!
Regards,
Muthu
Code.org has launched an all American initiative to teach programming to everyone. See the promotional video here. Code.org project, is to teach everyone one hour of programming!
One day I hope we can make this a community outreach for Ezhil language.
Code.org அனைவருக்கும் நிரலாக்க கற்பிக்க அனைத்து அமெரிக்க முயற்சியை தொடங்கியது. இங்கே விளம்பர வீடியோ பார்க்க. Code.org திட்டம், அனைவருக்கும் நிரலாக்க ஒரு மணி நேரம் கற்பிக்க உள்ளது!
ஒரு நாள், மிக விரைவில், நான் இந்த எழில் மொழி ஒரு சமூகத்தின் நலனுக்காக செய்ய முடியும் என்று நம்புகிறேன்.