Monday, April 9, 2012

5 புரோகிராம் எழுதுவது எப்படி?

அளவற்ற அருளாளனும் நிகரற்ற அன்புடையோனுமாகிய அல்லாஹ்வின் திருப்பெயரால்...

புரோகிராமிங் என்றால் என்ன? தொடர் 4


Program எழுதுவதற்கு Logic எவ்வளவு முக்கியம் என்பது பற்றியும், அதை எப்படி வளர்த்துக் கொள்வது என்பது பற்றியும் முந்தைய பாகத்தில் பார்த்தோம். இனி Program ஐ எப்படி எழுதுவது என்பதைப் பார்ப்பபோம்.

புரோகிராம் எப்படி எழுதுவது?

Program எழுதுவதற்கு முன் நாம் சில அடிப்படைகளை புரிந்துகொள்ள வேண்டும். அதாவது நமது மனதில் உள்ள எண்ணங்களை computer அறிந்து கொண்டு எந்த வேலையும் செய்யாது. நாம்தான் நமது தேவைகள் என்ன என்பதை command டுகளாக எழுதவேண்டும். நாம் எழுதிய புரோகிராமில் ஏதாவது bug வந்தால் அது கம்ப்யூட்டரின் பிழையில்லை, மாறாக அது நமது logic ல் உள்ள பிழை என்பதை கவனத்தில் கொள்ளவேண்டும். நாம் ஒரு பிழையான code ஐ எழுதி அதை execute செய்யும் போது கம்ப்யூட்டர் அதை தானாக சரிசெய்து கொள்ளாது. error / crash / hang என்று ஏதேனும் ஒரு வழியில் நமக்கு காட்டிவிடும். அதை எப்படி fix செய்வது என்பதை நாம்தான் யோசிக்கவேண்டும்.

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

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

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

உதாரணமாக சாப்பிடு என்று அம்மா சொன்னால் நமது மூளை நமக்கிடும் கட்டளைகளை பாருங்கள்.

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

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

சரி மேற்கூரிய செயல்களை வரிசை மாற்றி ஒரு ஒழுங்கில்லாமல் நமது மூளை நமக்கு கட்டளையிட்டால்....

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

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

அதாவது plan இல்லாமல் மூளை இயங்குகிறது. இறுதியில் எதிர்பார்த்த result கிடைப்பதில்லை.

ஒரு வேலையை முடிக்க, நமது மூளை உடல் இயக்கத்தை எங்ஙனம் கட்டுப்படுத்தி இயக்குகிறதோ, அவ்வாறே நாமும் program மூலமாக computer க்கு கட்டளைகளை இட்டு தேவையான result ஐ பெறப்போகின்றோம்.

இதை ஆங்கிலத்தில் software engineering method for problem solving என்று சொல்வார்கள்.

அதை அடுத்து பார்ப்போம்...



5 comments:

  1. அபு ஃபைஜுல்Monday, April 9, 2012 at 12:44:00 PM GMT+3

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

    ReplyDelete
  2. எல்லா மக்களையும் சென்றடைய வழி இருக்கிறது. நீங்கள் உங்களுடைய நண்பர்களுக்கு email அனுப்புவதன் மூலமும் facebook, twitter, google plus, indli, tamil 10 ல் நீங்கள் ஓட்டுப்போட்டு recommed செய்வதன் மூலம் நண்பர் வட்டாரம், அவர்களுடைய நண்பர் வட்டாரம் என நிறைய நபர்களுக்கு சென்றடைய வாய்ப்புள்ளது.

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

    ReplyDelete
  4. enaku java language learn pannanunnu aasai pls help in your side sir

    ReplyDelete