மு.சிவலிங்கம் வலையகம்

சி# மொழிப் பாடங்கள்
 

பாடம் 1.2
சி# மொழியின் சிறப்புத் தன்மைகள்

ஒவ்வொரு மொழிக்கும் ஒரு சிறப்புத் தன்மை நிச்சயமாக இருக்கும். சி# மொழியும் தனக்கே உரிய ஒன்றுக்கு மேற்பட்ட சிறப்புத் தன்மைகளைக் கொண்டுள்ளது. பரவலாகப் பயன்படுத்தப்படும் மொழிகளுள் 100% முழுமையான பொருள்நோக்கு நிரலாக்க மொழி (Object Oriented Programming Language), உலகின் முதல் பொருள்கூறு நோக்கு நிரலாக்க மொழி (Component Oriented Programming Language) என்கிற தனக்கே உரிய சிறப்புத் தன்மைகள் சி# மொழிக்கு உண்டு. இவை தவிர வேறுபல சிறப்புத் தன்மைகளும் சி# மொழிக்கு உள்ளன. அவற்றை ஒவ்வொன்றாகப் பார்ப்போம்.

 1.2.1 தேர்ந்த அனுபவசாலியின் படைப்பு

நிரலாக்க மொழிகளில் தேர்ந்த புலமை கொண்ட ஆண்டர்ஸ் ஹெல்ஸ்பெர்க் (Anders Hejlsberg) சி# மொழியை உருவாக்கித் தந்துள்ளார். எண்பதுகளில் சி-மொழியைப் போலவே மிகவும் சிறப்புப் பெற்று விளங்கிய, கட்டமைப்பு மொழிக் குடும்பத்தில் மிகச்சிறந்த எடுத்துக்காட்டு மொழியாக விளங்கிய டர்போ பாஸ்கல் மொழியை உருவாக்கியவர் ஹெல்ஸ்பெர்க் என்பது குறிப்பிடத் தக்கது. பாஸ்கல் மொழியின் சில சிறந்த கூறுகள் சி# மொழியில் இணைக்கப்பட்டுள்ளன. ஒரு ஃபங்ஷனுக்கு அனுப்பப்படும் ref பராமீட்டர்கள் அவற்றுள் ஒன்று.

 1.2.2 முழுமையான ஆப்ஜெக்ட் - ஒரியன்டடு மொழி

சி# ஒரு முழுமையான ஆப்ஜெக்ட் ஓரியன்டடு மொழியாகும். சி# மொழியில் அனைத்துத் தரவுகளும் (data) ஆப்ஜெக்டுகளே. int, char, float போன்ற மூலத் தரவினங்களும் (primitive data types) என்னும் அடிப்படைக் கிளாஸிலிருந்து தருவிக்கப்பட்டவையே. ஆப்ஜெக்டு ஓரியன்டடுக் கருத்துருக்களான உறைபொதியாக்கம் (Encapsulation), மரபுரிமம் (Inheritance), பல்லுருவாக்கம் (Polymorphism) ஆகியவை சி# மொழியில் முழுமையாகச் செயல்படுத்தப்பட்டுள்ளன.

 1.2.3 முதல் காம்பொனன்ட் ஓரியன்டடு மொழி

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

 1.2.4 வேகமும் எளிமையும்

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

 1.2.5 நவீனத்துவம்

ஒரு நவீன மொழிக்குரிய அனைத்துக் கூறுகளும் சி# மொழியில் உள்ளன. நவீன யுகத்தின் நிதி, கணக்கியல் பயன்பாடுகளுக்கென decimal என்னும் புதிய தரவினத்தைக் கொண்டுள்ளது. கார்பேஜ் கலெக்‌ஷன் என்னும் நினைவக மேலாண்மை, இயக்க நேரப் பிழைகளை எதிர்கொள்ள (Exception Handling) சிறந்த வழிமுறை, புரோகிராம் பிழைதிருத்தலுக்கான (debugging) உள்ளிணைந்த நவீனக் கருவிகள் - இவையனைத்தையும் தன்னகத்தே கொண்டுள்ளது சி# மொழி.

 1.2.6 தரவினப் பத்திரத் தன்மை (Data Safety)

சி# மொழியில் தரவுகளின் இனம் பத்திரமாகப் பாதுகாக்கப்படுகிறது. சி, சி++ மொழிகளில் உள்ளது போன்று char, int தரவினங்களுக்கிடையே மயக்கம் இல்லை. சி, சி++ மொழிகளைப் பொறுத்தவரை நிபந்தனைகளில் int இனமே true அல்லது false எனும் விடையைத் தரும் பூலியன் இனமாகப் பாவிக்கப்படும். ஆனால் சி# மொழியில் அத்தகைய குழப்ப நிலை இல்லை. பூலியன் மதிப்புகளைக் கையாளத் தனியாக bool என்னும் தரவினம் சி# மொழியில் உள்ளது. மெத்தடுகளுக்கு அனுப்பப்படும் பராமீட்டர்களின் தரவினத்துக்குப் பாதுகாப்புண்டு. சி, சி++ மொழிகளில் இருப்பது போன்று ஒன்று இன்னொன்றில் கலந்து கரைந்து போகாது. இயங்குநிலையில் உருவாக்கப்படும் ஆப்ஜெக்டு, ஆர்ரே ஆகியவற்றின் உறுப்புகளில் null அல்லது 0 என தொடக்க மதிப்பு இருத்தப்பட்டுவிடும். அர்ரேயின் வரம்பெல்லையை மீறி நினைவகத்தில் தவறுதலாக மதிப்பு இருத்திவிட முடியாது. ஒரு குறிப்பிட்ட தரவின மாறியில் இருத்தப்படும் மதிப்பு வரம்பெல்லை மீறியதால் பிழையான விடை வருவதைத் தவிர்க்கலாம். இத்தகைய பாதுகாப்பு சி, சி++ மொழிகளில் கிடையாது.

 1.2.7 பின்னோக்கிய ஒத்திசைவு (Backward Compatability)

விண்டோஸ் பணித்தளத்தில் நான்கு வகையான ஏபீஐ (API)-கள் பயன்படுத்தப்படுகின்றன. சி# மொழி அனைத்தையும் ஏற்றுக் கொள்கிறது.

(1) பழைய பாணி சி-மொழி ஏபீஐ-களுக்கு சி# மொழியில் உள்ளிணந்த ஆதரவு உள்ளது. சி-பாணி ஏபீஐ-களை அழைக்க Platform Invocation Service என்னும் சேவையைப் பயன்படுத்திக் கொள்ள முடியும்.

(2) சி++ மொழியில் உருவாக்கப்பட்ட அடிப்படையான COM, OLE Automation ஆகியவற்றின் ஏபீஐ-களை நேரடியாக அணுக சி# மொழியில் வழிவகை செய்யப்பட்டுள்ளது.

(3) COM+ பொதுமொழி உட்தொகுதி வரையறுப்புக்கான ஆதரவு சி# மொழியில் உண்டு.

(4) சி, சி++ தவிர்த்த பிற மொழிகளில் உருவாக்கப்பட்ட காம்பொனன்டுகளையும் ஏபீஐ-களையும் பயன்படுத்திக் கொள்ள முடியும் என்பது சி# மொழியின் சிறப்புக்குச் சான்றாகும்.

 1.2.8 நெளிவு சுழிவானது (Flexible)

சி# மொழியில் சி-மொழி ஏபீஐ-களைப் பயன்படுத்திக் கொள்ள முடியும் எனப் பார்த்தோம். அவற்றில் பாயின்டர்கள் இடம்பெற்றிருந்தால் என்ன செய்வது? அதற்கும் வழியுள்ளது. அத்தகைய ஏபீஐ-களைப் பயன்படுத்தும் கிளாஸ், மெத்தடு ஆகியவற்றை unsafe என அறிவித்து சி# மொழியில் செயல்படுத்தலாம். இவ்வாறு unsafe மெத்தடுகளை இயக்கும்போது கார்பேஜ் கலெக்‌ஷனை நிறுத்தி வைக்கவும் வசதி உள்ளது. வேகம், செயல்திறன் கருதி பாயின்டர்களைப் பயன்படுத்தி சி-பாணிப் புரோகிராம்களை எழுதிக் கொள்ளவும் சி# இடம் தருகிறது என்பது குறிப்பிடத் தக்க செய்தியாகும்.

 1.2.9 பதிப்பு மேலாண்மை (Version Management)

ஒரே அப்ளிகேஷனின் புதிய புதிய பதிப்புகளை ஒரு கணிப்பொறியில் நிறுவும்போது முந்தைய பதிப்பின் DLL ஃபைல்கள் மேலெழுதப்பட (over-write) வாய்ப்புண்டு. சில வேளைகளில் பழைய அப்ளிகேஷன்கள் புதிய DLL ஃபைல்களில் சிக்கலின்றிச் செயல்படும். ஆனாலும் பல வேளைகளில் DLL ஃபைல்களின் பதிப்பு வேறுபட்டால் அப்ளிகேஷன்கள் இயங்காமலே போக வாய்ப்புண்டு. சி# மொழியில் இச்சிக்கலுக்குத் தீர்வுண்டு. சி# சரியான DLL பதிப்புக்கான உத்திரவாதம் எதையும் தரவில்லை என்ற போதிலும் புரோகிராமர்கள் தங்கள் DLL ஃபைல்களை பதிப்பு வாரியாக நிர்வாகம் செய்ய முடியும். மென்பொருளை கணிப்பொறியில் நிறுவும்போது DLL ஃபைல்கள் மேலெழுதப்படும் ஆபத்தையும் தவிர்க்க முடியும்.

 1.2.10 வளர்தகைமை (Scalability)

மிகப்பெரிய பிராஜெக்டில் மூல வரைவினை (source code) சிறுசிறு புரோகிராம் கூறுகளாகப் பிரிக்க வேண்டிய தேவை ஏற்படும். புரோகிராம்களைச் சேமித்து வைக்கும் இடம், அவற்றின் பெயர், அனைத்துக்கும் மிகுந்த கட்டுப்பாடுகள் உண்டு. ஜாவா மொழியில் பேக்கேஜுகள் குறிப்பிட்ட ஃபோல்டர்களில் முறைப்படி சேமிக்கப்பட்டிருக்க வேண்டும். ஆனால் சி# மொழியில் இத்தகைய சிக்கல் எதுவும் இல்லை. எந்த ஃபைல் எங்கிருக்கிறது, எந்த ரொட்டீன் எந்த புரோகிராம் ஃபைலில் உள்ளது என்பதைப் பற்றியெல்லாம் கவலை கொள்ளாமல் அனைத்தையும் ஒன்றுசேர்த்து ஒரே பெரிய ஃபைலாகக் கம்ப்பைல் செய்துவிட முடியும். கம்ப்பைல் செய்யப்பட்ட ஃபைலுக்கு ஊறு விளைவிக்காமல் மூலப் புரோகிராம் ஃபைல்களைப் பெயர் மாற்றலாம்; இடம் மாற்றலாம்; கூறுகளாகப் பிரிக்கலாம்; ஒன்று சேர்கலாம்.

(பாடம்-1.2 முற்றும்)


இந்த வலையகத்தில்

இவ்வலையகத்தின் பக்கங்கள் இன்டர்நெட் எக்ஸ்புளோரர்-8, 1024 X 768 பிக்செல் திரைக்கேற்ப வடிவமைக்கப்பட்டுள்ளன
வலையக வடிவமைப்பு, உள்ளடக்கப் பதிப்புரிமை © 2009 மு.சிவலிங்கம்