எழில் கற்க வீடியோ பயிற்சி – learn programming videos

தமிழில் எப்படி கணினி நிரலாக்கல் கற்றுக்கொள்வது ? முதலில் எழுதி செயலியை உங்கள் Windows OS அல்லது Linux OS இல் download செய்து, “தமிழில் நிரல் எழுது” என்ற புத்தகம் படி ஒவ்வொரு நிரல் எழுதி, இயக்கி பயிலுங்கள்.


இந்த வீடியோ பட்டியல் உங்களுக்கு கைகொடுக்கும்.

எழில் எங்கே போகிறது ?

ezhil_March1_2017.png
படம் :  திருத்தியுடன்  எழில் மொழி  செயலி; நிரல் இடது பக்கம், இயக்கிய வெளியீடு வலது பக்கம். சாளரத்தின் கீழ் இயக்கிய விவரம். இந்த செயலி எழில் படிக்க உதவும்.       (c) 2017 எழில் மொழி அறக்கட்டளை.

 

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

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

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

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

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

எழில் மொழியில் உள்ள “installer” திரட்டியில் இவை இடம் பெறவேண்டும் என்று எனக்கு தற்சமய நிபந்தனை:

  1. Platform Support: இயங்கு தளங்களில் வேலை செய்ய வேண்டும்:
    1. Windows 64, 32 bit
    2. Linux 64
  2. திரட்டியில் வேண்டியவை : Installer package
    1. எழில் மொழி திருத்தி ; இதனை ‘ezhuthi’ (எழுதி) என்று pygtk-இல் இங்கு இங்கு வடிவமைத்து வருகிறேன்.
    2. எழில் மொழி ezhil module python library
    3. தமிழில் நிரல் எழுது புத்தகம்
    4. தமிழில் நிரல் எழுது புத்தகம் பயிற்சி நிரல்கள்
    5. மேல் நிலை எழில் எ.கா. உதாரணங்கள்
    6. பாடம், ஆசிரியர்களுக்கு உண்டான காணொளி, கேள்வி தாள், வினா-விடை பாட திட்டம்.
  3. பரிசோதனைகள்
    1.  மொத்தமாக நிறுவுதல் பரிசோதனை (அணைத்து தளங்களிலும்)
    2. நிரல் எழுதுவது
    3. கோப்புகளை திறப்பது, இயக்குவது, சேமிப்பது
    4. தனியன்க்கி பரிசோதனைகள் (automatic tests)
    5. பயனர் நடப்பு பரிசோதனை (interactive tests)
  4. வெளியீடு
    1. md5 checksum, zip/exe/tgz package generation and upload to networks
    2. release notes, credits, contribution notes, credits to open-source software

ஒரு தவம், வரம் மறக்கப்படாது – முயற்சி திருவினையாக்கும். கை கூடுவோம், வாருங்கள்.

 

இரு கிளை மரம் – பாகம் 2

ஏற்கெனவே இரு கிளை மரம் என்பதன் அமைப்பையும், வரிசையாக அணுகுதல் முறைகள் பற்றியும் சென்ற அத்தியாயத்தில் பார்த்தோம்.

இரு கிளை மரம் : வேர் ‘2’. இலை நுனிகள் ‘2’, ‘5’, ’11’, ‘4’.

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

இது போன்ற மரங்களில் உள்ள அதிக பட்ச அடுக்கு நிலைகளை எண்ணலாம் ? இந்த மரத்தின் இலை நுனிகள் எத்தனை ? இவற்றை எப்படி அணுகுவது ?

  1. நேர் வரிசையில் அணுகுதலை ஏற்கனேவே பெற்றுவிட்டோம். இதன் அடிப்படையில் தன் -முன் (pre-order traversal) என்பதை நிரல் படுத்தலாம்:
  2. நிரல்பாகம் தன்முன்_வரிசையில்_எடு(வேர்,ப)பதிப்பி “%d,”, வேர்[“மதிப்பு”]
    பின்இணை( ப, வேர்[“மதிப்பு”] )@( வேர்[“இடது_நுனி”] != [] ) ஆனால்
    தன்முன்_வரிசையில்_எடு( வேர்[“இடது_நுனி”] , ப)
    முடி

    @( வேர்[“வலது_நுனி”] != [] ) ஆனால்
    தன்முன்_வரிசையில்_எடு( வேர்[“வலது_நுனி”] , ப)
    முடி

    பின்கொடு ப
    முடி

  3. தன் பின் வரிசையில் அணுகுதலை இதே போல் எழுதலாம் :

 

நிரல்பாகம் தன்பின்_வரிசையில்_எடு(வேர்,ப)

@( வேர்[“இடது_நுனி”] != [] ) ஆனால்
தன்பின்_வரிசையில்_எடு( வேர்[“இடது_நுனி”] , ப)
முடி

@( வேர்[“வலது_நுனி”] != [] ) ஆனால்
தன்பின்_வரிசையில்_எடு( வேர்[“வலது_நுனி”] , ப)
முடி

பதிப்பி “%d,”, வேர்[“மதிப்பு”]
பின்இணை( ப, வேர்[“மதிப்பு”] )

பின்கொடு ப
முடி

மரம் உயரம்

மரம் தரவு வடிவத்தின் உயரம் என்பதை  எப்படி கண்டு பிடிப்பது ? இதனை induction என்ற கணிமை கூற்றினால் ஏற்கெனவே ‘வரிசையில் அணுகுதல்’ என்ற அல்கோரிதம் செய்தது போலவே அணுகலாம்.

  1. மரத்தில் 1 நுனி மட்டும் இருந்தால் அது வெறும் வேர் மட்டுமே உள்ளே மரம். இதன் உயரம் 1.
  2. மரம் என்பதற்கு 2, அல்லது 3 நுனிகள் இருந்தால் இதன் உயரம் 2.
  3. மரம் என்பதன் உயரம் அதன் உயரமான இடது கிளை நுனி அல்லது வலது கிளை நுனி என்பதன் மேல் ஒன்று கூடியது:
    1.  மரம் உயரம் = max ( வலது மரம் உயரம் , இடது மரம் உயரம்) + 1

மேல் கண்டா 3 கோட்பாடுகளை கொண்டு நம்மால் ஒரு அல்கோரிதம் எழுதலாம்,

#height of tree

நிரல்பாகம் தன்_உயரம்(வேர்)
இடது_உயரம் = 0
வலது_உயரம் = 0
@( வேர்[“இடது_நுனி”] != [] ) ஆனால்
இடது_உயரம் = தன்_உயரம்( வேர்[“இடது_நுனி”])
முடி

  @( வேர்[“வலது_நுனி”] != [] ) ஆனால்
வலது_உயரம்= தன்_உயரம்( வேர்[“வலது_நுனி”])
முடி

   பின்கொடு max( இடது_உயரம்,வலது_உயரம்) + 1
முடி

ஒரு மரம் என்பதற்கு அதன் இலை நுனிகளை எப்படி எடுப்பது  ?

#find leaves
நிரல்பாகம் இலை_நுனிகளை_எடு(வேர்,ப)
இடது_காலி = 0
@( வேர்[“இடது_நுனி”] != [] ) ஆனால்
இலை_நுனிகளை_எடு( வேர்[“இடது_நுனி”] , ப)
இல்லை
இடது_காலி = 1
முடி
வலது_காலி = 0
@( வேர்[“வலது_நுனி”] != [] ) ஆனால்
இலை_நுனிகளை_எடு( வேர்[“வலது_நுனி”] , ப)
இல்லை
வலது_காலி = 1
முடி
@( வலது_காலி && இடது_காலி) ஆனால்
பதிப்பி “%d,”, வேர்[“மதிப்பு”]
பின்இணை( ப, வேர்[“மதிப்பு”] )
முடி
பின்கொடு ப
முடி

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

# search for value
நிரல்பாகம் மரம்_தேடு(வேர்,மதிப்பு)
வலது = 0
இடது = 0
@( வேர்[“இடது_நுனி”] != [] ) ஆனால்
இடது = மரம்_தேடு ( வேர்[“இடது_நுனி”] , மதிப்பு )
முடி
@( வேர்[“வலது_நுனி”] != [] ) ஆனால்
வலது = மரம்_தேடு ( வேர்[“வலது_நுனி”] ,மதிப்பு )
முடி
@( வலது || இடது ) ஆனால்
பின்கொடு (வலது || இடது)
முடி

பின்கொடு வேர்[“மதிப்பு”] == மதிப்பு
முடி

மதிப்பு1 = 10
மதிப்பு2 = 1000
உள்ளதா1 = மரம்_தேடு(வேர், மதிப்பு1 )
உள்ளதா2 = மரம்_தேடு(வேர், மதிப்பு2 )
பதிப்பி மதிப்பு1, உள்ளதா1
பதிப்பி மதிப்பு2, உள்ளதா2

இந்த நிரல்களை நீங்கள் இங்கு எழில் மொழியில் காணலாம்.

 

 

எங்கள் வீட்டு பரிசு

ezhil-logo

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

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

இந்த பரிசிற்கு விண்ணப்பிக்க இந்த சுட்டியில் சென்று படிமத்தை நிரப்பவும். விண்ணப்பங்கள் இந்த ஆண்டு கடைசி வரை ஏற்கப்படுகின்றன.

https://ezhillang.wufoo.com/forms/ezhil-language-scholarship/

மேலும் விவரங்களுக்கு எங்கள் மின் அஞ்சலில் அணுகவும் : ezhillang@gmail.com

நன்றி,

முத்து

 

Open-Tamil and Ezhil updates (2016)

Today we are releasing updates to two packages maintained by Ezhil Language Foundation;

  1. open-tamil v0.65
    • open-tamil package contains minor bug fixes and solid performance on Python 2 and Python 3.
    • pip install –upgrade open-tamil
  2. ezhil-v0.82
    • Fix some issues for Python 3 installation from the previous release
    • pip install –upgrade ezhil

Both these packages maybe downloaded from PyPi (Python Package Index) via ‘pip’ command.

Thanks very much to the original contributors, bug reporters, and Tamil open-source software (TOSS) enthusiasts.

 

மூளை குளம்பி – மைய கணினியை செயல்படுத்தும் எந்திர மொழி (Brain F**k interpreter in Ezhil language)

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

(பாகம் 1)

(replica of) "Thinker" statue by Auguste Rodin, at the Baltimore Art Museum at the Johns Hopkin's University.
(replica of) “Thinker” statue by Auguste Rodin, at the Baltimore Art Museum at the Johns Hopkin’s University. (C) 2016, M. A.

கணினியை செயல்படுத்துவது அதன் மூலமான மைய கணினி; கணினியில் செயல்படும் அனைத்திற்கும் மூலமாக அமைவது அதன் மைய கணினி, மற்றும் அந்த மைய கணினியின் assembly மொழி (instruction set). சும்மா சொல்ல வேண்டுமானால் iPhone-இல் இருந்து, மடி கணினி, கைபேசி என்ற எல்லா செயலி சவுரியங்களுமே இதை போன்ற அடிப்படையில் தான் அடுக்கடுக்காக மென்பொருள்களை கொண்டு வடிவமைக்க பட்டுள்ளன.

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

மூளை குளம்பி மொழி [1] என்பது P” என்ற 1964-இல் உருவாக்கிய மொழியில் இருந்து உருவாக்கப்பட்டது. இந்த மொழியில் ‘+’, ‘-’, ‘[‘, ‘]’ , ‘>’, ‘<’ போன்ற செயலுறுபுகள் என்பதில் இருந்து ,மைய கணினி ஒன்றை உருவாக்கும் திறன் பெற்றது. மூளை குளம்பி என்ற மொழியில் வெளியிடு என்பதற்கு ‘.’ என்றும், உள்ளீடு என்பதற்கு ‘,’ என்றும் கூடுதலாக கொண்டாது.

செயலுறுபு விளக்கம் – (Operators)

  1. >’, ‘<‘ – செயலுறுபு நினைவகத்தை குறிக்கும் இடத்தை முன் அல்லது பின் திசையில் ஒரு இடம் அளவு மாற்றும்

  2. +’, ‘-‘ – செயலுறுபு நினைவகத்தின் மதிப்பை கூட்டும் அல்லது கழிக்கும்

  3. [‘, ‘]’ – செயலுறுபு நிரலின் இயக்கம் பகுதியின் அடுத்த அடைவுகுரிப்பிபிற்கு ‘]’, அல்லது தொடங்கும் குறி ‘[‘ –இற்கு தாவும் படி குறிக்கும்

  4. ,’ ’.’ – என்ற செயலுறுபு உள்ளிடு, வெளியீடு, குறிக்கும்

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

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

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

இந்த மொழியில் நிரல்களை எழுதுவது ஒரு ஆதிகணினி மொழி அல்லது Turing Machine என்பதை போல் ஒரு தோற்றம் அளிக்கும். இதில் ஒரு எண்ணலி நீளமான பேப்பர் ஒன்றை நினைவகமாக கொண்டு ஒரு பேனா ஒன்றையும் கொண்டது. இந்த பேனாவை கொண்டு பேப்பரில் உள்ள கட்டங்களில் ‘1’ அல்லது ‘0’ என்று எழுதலாம்; அதாவது ‘1’ என்று எழுதினால் எழுதுவதாகவும், ‘0’ என்று எழுதினால் அழிப்பதாகவும் பொருள். நாம் நிரல் இயக்கத்தை தொடங்கும் பொழுது பேப்பர் நினைவகம் முழுவதும் ‘0’ (பூஜ்யம்) என்ற நிலையில் உள்ளதாக கொள்ளலாம் [2].

image1

படம்: டுரிங் எந்திரத்தின் பேப்பர் நினைவகமும், இயக்கம் முனையும்; [3]

  1. கணினி மொழிகள் அனைத்தும் ஒன்றுடன் ஒன்று டுரிங்எந்திரத்தின் வரையரைக்குள் சமன்பாடு கொண்டது (Turing-Completeness).

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

எண்களை எப்படி குரியீடுவது ?

இந்த மாதிரி ஒரு எந்திரத்தில் முதலில் நாம் எண்களை எப்படி குரியீடுவது ? இவ்வாறு கணினியில் ஏற்றிய எண்களை கொண்டு எப்படி கணிப்பது ? இந்த மொழியில் நிபந்தனை கூறுகளை எப்படி எழுதுவது ? இதனை நாம் இந்த கட்டுரை பிரிவில் காணலாம்:

எண்களை நாம் பேப்பர் நினைவகத்தில் ‘1’ என்று எண்ணின் மதிப்பின் அளவிற்கு அத்தனை முறை குறியீடவும்; .. 5 என்ற எண்ணை ‘11111’என்று அடுத்தடுத்த பேப்பர் நினைவகத்தின் கட்டத்தில் குறியிடலாம். இதற்க்கு எப்படி நிரல் எழுதுவது ? பேனாவை கொண்டு முதலில் ‘1’ என்று எழுத ‘+’ என்ற செயலுருபை பயன்படுத்தலாம். அடுத்த பேப்பர் கட்டத்திருக்கு செல்ல ‘>’ என்ற செயலுறுபை பயன்படுத்தலாம். மொத்தமாக, நினைவகத்தில் ‘11111’ என்று எழுத, ‘+>’ என்று ஐந்து முறை எழுதினால் ‘+>+>+>+>+>’ என்பது 5 என்ற எண்ணை குறியிடும் மூளை குளம்பி நிரல் ஆகும்.

இப்பொழுது P” மொழியில், மூளை குழம்பி மொழியில் உள்ள நினைவகத்தில் எந்த 8-பிட் எங்களையும் சேமிக்கலாம் என்றால், இதே எங்களை குறியீடும் நிரலை, 5 என்ற எண்ணை ‘+++++’ என்றும் எழுதலாம்.

தாவும் தன்மை உடைய மடக்கு கட்டளைகள்

இப்பொழுது இந்த மொழியில் மடக்கு வாக்கியத்தை எப்படி செயல்படுத்துவது என்று பார்க்கலாம். மடக்கு வாக்கியம் தொடக்கத்தை குறி ‘[‘ என்றும், இதன் முடிவை குறி ‘]’ என்று குறியிடலாம். இதன் பொருள், குறி ‘[‘ என்ற கட்டளையை கண்டபின் , தற்போது உள்ள பேப்பர் நினைவகத்தின் மதிப்பு பூஜியத்தின் அளவை விட கூடுதலாக இருந்தால் தொடரும் கட்டளைகளை இயக்கும்; இல்லையெனில் இதனை ஒடுத்த (பின்னால் வரும்) குறி ‘]’ முடிவு கட்டளையின் பின் வரும் கட்டளைகளுக்கு செல்லும் (தாவும் – Jump என்றே கொள்ளலாம்).

இதே போல் ‘]’ முடிவு கட்டளை, மடக்கு வக்கியதினை பழயபடி தொடங்கும் (இதனை ஓடுத்த, முன்னால் வரும்) குறி ‘[‘ கட்டளையிற்கு செல்லும். இதில் ஒப்பீடு என்றும் ஏதும் இல்லை.

எண்களை கூட்டுதல் எப்படி ?

மடக்கு கட்டளைகை கொண்டு எப்படி இரண்டு எண்களை கூட்டுவது ? நமது கணினியில் ஏற்கனவே 9, 10 என்ற எண்கள் நினைவகத்தில் உள்ளன என்று கொள்வோம்; இப்போது இரண்டாவது எண் 10-உடன் 9-முறை 1-ஐ கூட்டினால் நமக்கு விடை கிடைத்துவிடும் அல்லவா! இதை எப்படி மூளை குளம்பியில் எழுதுவது ? இது சிறிது சாதாரணமான மடக்கு வாக்கியத்தால் முடியும்,

[->+<]

இந்த நிரல் இயங்கியபின் நினைவகத்தில், 0, 19, என்று தோன்றி 19 உங்கள் விடை ஆகும். இதனை திரையில் இட, ‘.’ என்பதை சேர்த்துகொள்ளுங்கள்

[->+<].

மேலும் இந்த நிரல் ஏதேனும் இரண்டு எண்களை கூட்டவும் உதவும், 9, 10 மட்டுமல்ல!

முடிவிலா விடுகதை

இந்த மொழியில் தவறாக

+[]

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

Hello World” என்று அழைப்பது

மேல்கண்ட அம்சங்களை ஒருங்கினைத்து ஒரு வணக்கம் உலகம் (“Hello World”) என்று வெளியிடுவதற்கு ஒரு மூளை குளம்பி நிரலை இப்படி எழுதலாம்,

++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>—.+++++++..+++.>>.<-.<.+++.——.——–.

மேல்கண்ட அம்சங்களை ஒருங்கினைத்து ஒரு (மென்பொருளில்) எந்திரம் ஒன்றை நிரல்படுத்துவது பற்றி அடுத்த அத்தியாயத்தில் விளக்கத்துடன் பார்க்கலாம். அதுவரை இந்த நிரலை எழில் மொழி வழி இயக்குவதற்கு மூல நிரலுக்கு இங்கு github-இல் பார்க்கவும் [4].

(அடுத்த அத்தியாயத்தில் எழில் வழி இந்த மொழியை இயக்குவது பற்றி பற்கலாம்)

மேற்கோள்கள்

  1. மூளை குளம்பி மொழி https://en.wikipedia.org/wiki/P′′

  2. கணினியின் கோட்பாடுகளை கண்டறிந்த மேதை அலன் டுரிங்

  3. டுரிங் எந்திரம் விக்கிபீடியா

  4. எழில் வழி மாதிரி இயக்கி