PDA

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



lavanya
17-02-2004, 08:44 PM
நிரல்வரைவு தொழில்நுட்பம் (Programming Technology) - 2

தொடர்ந்து போவதற்கு முன்னால்..................

நேரிடையாக புரோக்ராம் ╖ப்ளோசார்ட் என்று ஆரம்பித்து போய்விட்டீர்களே....சா╖ப்ட்வேர் பற்றிய ஒரு சின்ன விளக்கத்தை தந்துவிட்டு பிறகு தொடருங்கள் என்று அன்பிற்குரிய
நண்பர்கள் தனிமடலிலும், பப்பி அவர்கள் ஒரு புதிய கருத்தை ஆலோசித்திருப்பதாலும்
இன்றைய பார்வை இயக்கத்தொகுப்பு மற்றும் பயன்பாட்டு மென்பொருள் நிரல்வரைவு
(Operating System and Application Software Programming) பற்றி பார்த்துவிட்டு பின்
தொடரலாம் என்றிருக்கிறேன். சரிதானே?

கம்ப்யூட்டர் இயங்க எந்திர பாகங்களாகிய வன்பொருளும் (Hardware) அவற்றை ஆட்டிப்
படைக்கும் புரோக்ராம் எனப்படும் நிரல் அதாவது கட்டளை தொகுப்புகளடங்கிய
மென்பொருளும் (software) தேவை என்பதை நாம் அறிவோம்.

பல்வேறு உயர்நிலை மொழிகளில் (High Level Language) எழுதப்படும் கட்டளைகளை கம்ப்யூட்டர் புரிந்துகொள்வதற்கு முதலில் இயக்கத்தொகுப்பு அல்லது OS என்றழைக்கப்படும்
இயக்கத்தொகுப்புகள் (System Software) தேவை. இந்த கட்டளை தொகுப்புகள் கம்ப்யூட்டருக்கு உயிரூட்டிய பிறகே நம்மால் பணி புரிய இயலும் . இத்தகைய்ய இயக்கத்
தொகுப்புகள் MSDOS,WINDOWS,UNIX,LINUX என்று பல்வடிவில் பல்நோக்கில் பயன்
படுகின்றன.

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

நாளடைவில் கம்ப்யூட்டர் துறையின் முன் அனுபவம் இல்லாதவர்களும் பயன்படுத்திக்
கொள்ளும் வகையில் ஆயத்தநிலை (Readymade Programs) புரோக்ராம்கள் வெளிவந்தன.
இவ்வாறு ஒரு குறிப்பிட்ட பயன்பாட்டுக்கு தயார்நிலையில் கிடைக்கும் புரோக்ராம் தொகுப்பு
களை பயன்பாட்டு ஆணைத்திரள் தொகுப்புகள் (Application Software Package) என்கிறோம்
(இது பற்றி இன்னும் எளிமையாய் நம் மன்றத்தில் அனுஷா ஜாஸ்மின் கட்டுரைகளில் எழுதி
இருப்பதை காணலாம்)

ஒவ்வொரு பயன்பாட்டுக்கு ஏதேனும் ஒரு கம்ப்யூட்டர் மொழியில் புரோக்ராம் எழுதப்
பட்டால் கூட அதனையும் பயன்பாட்டு மென்பொருள் பொதிவு (Application Software Package) என்றே அழைக்கிறோம்.லோட்டஸ்,டிபேஸ்,வேர்ட்ஸ்டார்,╖பாக்ஸ்புரோ
போன்றவை நல்ல உதாரணங்கள் ஆகும்.

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

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

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

A. Applicaton Softwaere - ஒரு குறிப்பிட்ட பயன்பாட்டிற்காக உதவும் புரோக்ராம்கள்
அடங்கிய தொகுப்புகள்.

B. System Software - கம்ப்யூட்டருக்கு ஏற்றவாறு கம்ப்யூட்டரை இயங்க வைக்க அதன்
எந்திர மொழியில் ஆணையிடும் கட்டளைகளை கொண்ட
புரோக்ராம்கள் அடங்கிய தொகுப்புகள்.

மேலே உள்ள ware - கள் ஆணி வேர்கள்....கிளைவேர்,சல்லிவேர்களை கீழ்க்கண்டவாறு
வகைப்படுத்தலாம்.


1. Bundled Software - கம்ப்யூட்டரை விற்பவர்கள் இலவசமாக வழங்கும் புரோக்ராம்
தொகுப்புகள் இவை.

2. Courseware - Training Software Package வாங்கும்போது அந்த மென்பொருளை எப்படி
இயக்க வேண்டும் என்பதற்காக உள்ள புரோக்ராம் தொகுப்புகள்.

3. Firmware - ஹார்ட்வேர் சிப்புகளில் பதியப்பட்ட புரோக்ராம்களின் தொகுப்புகள்.

4. Funware - கம்ப்யூட்டரில் மட்டுமே இயங்கப்படும் வகையில் எழுதப்பட்ட Games Software
களுக்கான புரோக்ராம் தொகுப்புகள்

5. Groupware - நெட்வொர்க்குகளுக்கான நிர்வாக மென்பொருள்கள் அடங்கிய புரோக்ராம்
தொகுப்புகள்.

6. Humanware - பொதுவாக கணிப்பொறித்துறைக்கு தொடர்புடைய பணியாள மனிதர்கள்
இவ்விதம் அழைக்கப்படுகிறார்கள்.

7. Shareware - சிலவகையான மென்பொருள்கள் நிறுவன சார்பற்ற புரோக்ராமர்களால்
எழுதப்பட்டு அவை இலவசமாகவோ அல்லது மலிவு விலையிலோ விநியோகி
க்கப்படும் புரோக்ராம் தொகுப்புகள். இவற்றிற்கு ╖ப்ரீவேர் (Freeware) என்று
மற்றொரு பெயரும் உண்டு ( இப்படி வரும்/தரும் புரோக்ராம்களில்
சிலவற்றுடன் இலவச இணைப்பாக வைரஸдம் வரும்..அதுவும் ╖ப்ரீதான்)

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

9. Netware - Multitasking எனப்படும் பல்வேறு செயல்பாடுகளுக்காக நெட்வொர்க்குகளில்
பயன்படுத்தும் புரோக்ராம் தொகுப்புகள்.

10. Proprietary ware - குறிப்பிட்ட வியாபார நிறுவனத்துக்கு அல்லது அரசுக்கு தேவையான
புரோக்ராம் தொகுப்புகள் இவை.வெளி மார்க்கெட்டில் விற்பனைக்கு
கிடைக்காது

11. Unbundled ware - முறையான அனுமதியுடன் முழுக்கட்டணத்துடன் விற்கப்படும் சட்டரீதி
யான மென்பொருள் தொகுப்புகள்.

12. Awardware - ஐபிஎம் பிஸியில் உள்ள பயாஸ்(BIOS) என்னும் அமைப்புக்கு உதவும் புரோ
க்ராம் தொகுப்புகள்.


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

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

1. எந்திர மொழி ( Machine Language)

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

(உ-ம்) 0000110011100 01110101 011100011111 ( இன்னா நைனா நல்லாகீறியா...?)

2. தொகு மொழி ( Assembly Language)

இதுவும் கொஞ்சம் கடினமானதுதான்..முன்னளவுக்கு கடினம் இல்லை என்றாலும் இதிலும்
படிப்பதற்கு எளிது..எழுதுவதுதான் கடினம். அப்படியே இல்லை என்றாலும் 99 சதவீதம்
எந்திரத்துக்கு கீழ்படிந்து நடக்கும். மெமானிக் அல்லது மினாமனிக் (Mnemonic code) என்ற வரைவுகளால் (மேனாமினிக்கி இல்லீங்க..) எழுதப்பட்டது.கண்டிப்பாக ஒரு மொழி
பெயர்ப்பாளர் தேவை.அவருக்கு இங்கே Assembler என்று பெயர்.நிறைய நினைவகம்
தேவை.

(உ-ம்) ASM 304 VGF 201 ( இந்தாப்பா 304 என்னா கேஸ் இது..?)


3. உயர்நிலை மொழி ( High Leval Language)

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

(உ-ம்) input a,b to a,b ( ஏக்கும்,பி-க்கும் மதிப்பு வாங்கி அதை ஏ,பி - ல போடுப்பா)


கடைசியாக பார்த்ததை உயர்நிலை மொழி என்பதை போல் முதல் இரண்டு உள்ளதை
தாழ்நிலை மொழிகள் (Low Level Language) என்பார்கள்.

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


(தொடரும் )



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

1. Basic 2. ForTran 3.COBOL 4. Pascal 5.CPL 6. BCPL 7. C 8.CPP 9. PL/1 10.APL

11.RPG 12.ALGOL 13. ADA 14. LOGO 15.APT 16. Forth 17. LISP 18. Modula 2 19.Pilot

20. C# 21. Java 22.Delphi 23. Prolog 24. unicos 25.snobal

anna
08-05-2009, 12:23 PM
роЖро░роорпНрокроХро╛ро▓родрпНродро┐ро▓ рокроЯро┐родрпНродродрпБ роЖроЯрпНроЯрпЛроХро┐ро░ро╛рокрпН рокрпЛро▓рпН рокроЪрпБроорпИропро╛роХ роЙро│рпНро│родрпБ.