PDA

View Full Version : நிரல்வரைவு தொழில் நுட்பம் (Programming Technology) - 1



lavanya
09-02-2004, 09:46 PM
நிரல்வரைவு தொழில் நுட்பம் (Programming Technology) - 1

(இன்றைய பதிவு - இத்துறைக்கு புதியவர்களுக்கு)

நன்றி.
K.இக்பால்
G.பாரதிதாசன்
&
மற்றும் என் தமிழ் தாய்க்கும்

ஒரு சின்ன முன்னுரை:
இன்றைய மனிதன் வாழ்வில் அவன் சார்ந்திருக்கும் அத்தனை துறைகளிலும் கம்ப்யூட்டர் என்பது ஏதேனும் ஒரு வடிவில் இன்றியமையாத பொருளாக இடம் பெறுவது என்பது தவிர்க்க முடியாததாகி விட்டது. மைக்ரோசாப்ட் அதிபர் பில்கேட்ஸ் சொல்வது போல எவனொரு மனிதன் கம்ப்யூட்டர் பற்றிய ஏதேனும் ஒரு சின்ன விஷயம் கூட அறியாமல்
இருக்கிறானோ அவன் உலகப்பந்தலிலிருந்து விலகி வாழும் ஆதி மனிதனுக்கு சமம் என்ற
கூற்றுக்கு பொருத்தம் போல் இன்றைக்கு பட்டி தொட்டிகளில் கூட கம்ப்யூட்டர் பற்றிய
அறிவு பரந்து விரிந்து கொண்டிருக்கிறது....ஒரு 13 ஆண்டுகளுக்கு முன்னால் தஞ்சை
திருவள்ளுவர் விரைவு பேருந்து நிலையத்தில் கணிணி வசதியுடன் கூடிய முன்பதிவு என்ற
பலகையின் கீழ் அமர்ந்து ஒருவர் பச்சை டிவி திரையில் டிக்கெட் போட்டு தரும் அந்த
'பொட்டி' கம்ப்யூட்டர் என அறிய நேர்ந்த காலம் போய் இன்றைக்கு பாலாஜி பை நைட் இரவு
உணவகத்தில் கூட PC வைத்து 4 இட்லி 1 காபி என்ற மெனுவுடன் 7 ரூபாய் பில் தரும்
அளவிற்கு கண்ணிற்கு தெரிந்த வளர்ச்சியாக கம்ப்யூட்டர் வளர்ந்து இன்று பிரம்மாண்டமாய்
பிரம்மாவிற்கே மனிதர்களை வடிவமைத்து தரும் எந்திரமாக விஸ்வரூபம் எடுத்து வளர்ந்து
கொண்டிருக்கிறது என்றால் அது மிகையில்லை.

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

பாமா வீட்டு கல்யாண பத்திரிக்கை அசத்தலா இருக்கே ஏதோ கம்ப்யூட்டர் பிரஸ்ல அடிச்சதாமே ,

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

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

முன்னாடியெல்லாம் இந்த பார்ட்ஸை டிசைன் பண்றதுன்னா சேலம் இல்லைன்னா
கோயமுத்தூர் போகணும் .இப்ப ஏதோ ஆட்டோகேட்னு ஒரு புரோக்ராம் தெரிஞ்ச பையனை
வேலைக்கு வச்சிருக்கேன்..அவன் பட் பட்னு பத்து நிமிஷத்திலே போட்டு தந்துர்ரான்...

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

டெய்லி கம்ப்யூட்டர்ல வேலை..காலை 9 மணிக்கு உட்கார்ந்தா லஞ்ச் போக நைட்
தான் எழுந்தரிக்க முடியும் என்பவர்கள் புரோக்ராமர்கள் அல்ல...அவர்கள் தகவல் சேர்ப்பு
இயக்காளர்களாகவும் (Data Entry Operator) இருக்கலாம்...அவர்களுக்கு
கொடுக்கப்பட்டிருக்கும் பணி இதை தந்தீங்கன்னா இது வரும்..இதிலே டேட்டாஸ் தந்து
இப்படி சேவ் பண்ணனும்..அப்புறம் இப்படி பிரிண்ட் அவுட் எடுக்கணும்..இப்படி எக்ஸிட் ஆகணும் என்பது போல் சில கட்டளைகள்.அவ்வளவே...அதை தவிர Press Any Key to continue என வந்தால் கூட அந்த கீயை கீபோர்டில் தேடிக்கொண்டிருப்பார்கள். அப்ப
இதை தந்தீங்கன்னா இது வரும் இதுல டேட்டா தந்து சேவ் பண்ணா கம்ப்யூட்டல சேவ்
ஆயிடும் என்பது போல் எளிமையாக்கி வைத்திருக்கும் அந்த பின்னணியில் உள்ளவர்கள்
தான் புரோக்ராமர்கள்.அந்த பின்னணிதான் புரோக்ராம்.

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

இந்த தொடர் பதிவில் நாம் படிக்க இருப்பவை எந்த மொழியாய் இருந்தாலும் அதை அணுக சில சூட்சுமங்கள்,எல்லா மொழிகளுக்கும் பொதுவான சில சூத்திரங்கள்,ஒரே
மாதிரி வரும் சில சாத்திய சாத்திரங்கள்,கட்டுபாடுகள்,இயக்கிகள், ஓட்ட வரைபட வரைவு
(Flow Chart Desin) என்று மிக விரிவாகவே படிக்க இருக்கிறோம். இந்த கட்டுரை இறை
அருளால் நல்லபடியாக முடிந்தால் உங்கள் ஒவ்வொருவரும் எந்த புரோக்ராமிங்
லாங்குவேஜின் அடிப்படை சித்தாந்தங்களும் புரிந்து நீங்கள் சுயமாக அக்குறிப்பிட்ட
மொழியில் ஒரு நிரல் எழுதி இயக்க முடியும் என்று நான் உறுதியாக நம்புகிறேன்.என் குழுவும் நம்புகிறது. எனவே எந்த இடத்தில் உங்களுக்கு சந்தேகம் ஏற்பட்டாலும் உடனே
கேட்கலாம்.

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

உலகின் முதல் புரோக்ராமராக கம்ப்யூட்டர் உலகம் ஏற்றுக்கொள்ளும் மேடம் அடா
லாவேஸ் எழுதிய ஒரு சில கடினமான புரோக்ராம் வரிகள் தான் உலகின் கம்ப்யூட்டர் தந்தை என அழைக்கப்படும் சார்லஸ் பாபேஜின் அந்த பகுப்பாய்வு கருவிக்கு (Analytical
Machine) தூண்டலாய் விளங்கியது. அந்த கருவியால் பாபேஜால் குறைந்த பட்சம் பேபி
கிண்டர் கார்டன் குழந்தைகளின் கணக்குகளுக்கு கூட உடனடியாய் விடை சொல்ல
முடியாது. இருப்பினும் மேடம் அடாலாவேஸின் அந்த புரோக்ராம் ஓரளவு திருப்திகரமாக
செயல்பட்டது..புரோக்ராம்களால் ஒரு இயந்திரத்துக்கு உயிர் கொடுக்க முடியும் என்று
உலகத்திற்கு நம்பிக்கை பிறப்பிக்க வைத்த அடாவுக்கு நன்றி தெரிவிக்கும் பொருட்டே
இன்றைக்கும் அமெரிக்காவில் பயன்படுத்தப்படும் ஒரு மொழிக்கு அடா (Ada) என பெயர்
சூட்டி பயன்படுத்தி வருகிறார்கள்.

பிறகு நூறாண்டுகள் விஞ்ஞான வளர்ச்சிக்கு இந்த கணிப்பொறியும் சரி...கணிப்பொறி
மொழிகளும் சரி..காத்திருக்க வேண்டியதாக போயிற்று. பிறகு எந்திர மொழிகளையும்,
தொகுப்பு மொழிகளையும் (Machine Language & Assembly Language) கொண்டு கம்ப்யூட்டருடன் பேசி அப்புறம் உயர்நிலை மொழிகள் கண்டறிந்து இப்போது செயற்கை
நுண்ணறிவுக்கு பயன்படும் லிஸ்ப் (லிப்ஸ் இல்லீங்க) (List Process Programming) வரை கண்டறிந்து கம்ப்யூட்டரையும் பேச வைத்து விட்டோம். ஆரம்பத்திலிருந்து இன்று வரை கம்ப்யூட்டரின் தாய்மொழி என்னவோ இயந்திர மொழிதான்...ஆனால் நாம் அதை தொடர்பு கொள்ள கொஞ்சம் நவீனப்படுத்தி வெற்றி பெற்றுவிட்டோம். முதலில் அதன் மொழியில் அதனுடன் பேசி,பிறகு அதற்கு பழக்கமான மொழி மூலம் பேசி அனுப்பி இன்று நம் மொழியில் பேசி அதற்கு புரியும் படி மாற்றி என நிறைய முன்னேறி இருக்கிறோம் இல்லையா...?

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

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

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

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

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

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

3. இது முழுக்க முழுக்க கற்று கொடுக்கும்/கற்றுகொள்ளும் முயற்சி. எனவே எதுவும் தவறு
இருந்தால் மேம்படுத்தப்பட்ட விஷயம் இருந்தால் உடனே தெரிவியுங்கள்

4. ஆலோசனைகள் வரவேற்கப்படுகின்றன.

puppy
09-02-2004, 10:06 PM
ġ á .....ɡ ¡ ҧáá ţǧɡ ....... ġ,ɡ Ţ ġ......ġ ӾĢ SDLC Ģ Ţ ȡ 󧾸 Ţ......

..algorithms ....algorithm Ө... ¡..... .

Ţ 50 , š

â 1
1 30

Ө...algorithm

ġ ţ 1 ... .. .... Ө....

முத்து
09-02-2004, 10:12 PM
...
- protocol
Ө - algarithm
â¡.. ?

lavanya
09-02-2004, 10:30 PM
ȢӨ Ţ
ҧá측 ȡ...

lavanya
09-02-2004, 10:35 PM
..algorithms ....algorithm Ө... ¡

..

Ȣ â Ƣ Ȣ
Ө Ȣ
....ɧž Ȣ

ý ը.... Ǣ¡
ġ ...Ȣ!

puppy
09-02-2004, 10:35 PM
á protocol ..a detailed plan of medical experiment or procedure.... ..ɡ .