Sunday 6 November 2016

சி ஷார்ப் அறிமுகம்:பாடம்-1


சி ஷார்ப் என்பது ஒரு object oriented language ஆகும். அப்படியென்றால் தமிழில் பொருள் நோக்கு நிரலாக்க மொழி என்பார்கள்.consoile Applications-ல் தொடங்கி WCF (Windows communication foundation )வரை அதன் பயன்பாடுகள் நிறைய உண்டு.
இது மைக்ரோசாஃப்டின் product ஆகும்,
இது VB(visual basic language)-ன் எளிமையும் அதே நேரத்தில் C++-ன் திறனையும் ஒருங்கே கொன்டது..இது .NET பயன்பாடுகளை உடனடியாகவும், சுலபமாகவும் உருவாக்க பயன்படுகின்றது.

சி ஷார்ப்பின் தேவை எழ காரணம்.

சி,சி++ மொழிகள் பயன்பாட்டில் இருந்து வந்தது. இந்த இரண்டு மொழிகளும் இண்டர்நெட் தொடக்கத்திற்கு வருவதற்கு முன்பே கண்டுபிடித்ததாகும். இண்டர்நெட் சம்பந்தப் பட்ட வெப் பயன்பாடுகளை உருவாக்குவதற்கு என்று ஒரு நிரலாக்க மொழி தேவைப்பட்டது. அதற்காக சன் மைக்ரோ சிஸ்டம் ஜாவா அறிமுகப்படுத்தியது (இப்போது ஜாவா oracle corporation கையில் இருப்பது வேறு கதை) அது மிகப் பெரிய வெற்றியும் அடைந்தது. .
இந்த நேரத்தில் மைக்ரோ சாப்டிடம் இருந்தது VB 6.O ஆகும். இது Sucessful product ஆகும். அதே நேரத்தில் VB 6.0-வில் விண்டோஸ் பயன்பாடுகள்  மட்டுமே உருவாக்க முடியும், வெப் பயன்பாடுகள் உருவாக்க முடியாது.VB 6.O-வில் வெப் கருத்துக்கள் உட்புகுத்தப்பட்டது. எனினுல் இது Failure ஆனது. .VB எளிமையாக இருந்தது. சி++ திறன் மிக்க தாக இருந்தது. இரண்டும் ஒருங்கே அமைந்த அதே நேரத்தில் ஜாவாக்கு ஈடாக இண்டர் நெட் பயன்பாடுகளைடும் உருவாக்க வல்லத்ததாக ஒரு தொழில் நுட்பம் தேவைப்பட்டது. அதற்காகத்தான் .NET(DOT NET) உருவாக்கப்பட்டது.அதன் முதன்மை மொழியாக C#(C SHARP) அறிமுகப்படுத்தப்பட்டது.
சி ஷர்ர்ப்பின் கருத்துகள் ஜாவா மாதிரியே இருக்கும். சிலர் இதை ஜாவாவை பார்த்து COPY அடிக்கப்பட்ட மொழி என்றார்கள். இதற்கு மைக்ரோ சாஃப்டின் பதில் ஒன்று தான் அது எப்படி ஜாவாவானது C,C++ மொழிகளை அடிப்படையாக கொண்டு update செய்யப்பட்டதோ அதே மாதிரி சி ஷார்ப்பும் c,c++ மொழிகளை advance செய்யப்பட்டதாகும். அதனால்  தான் இரண்டும் ஒரே மாதிரியாக தெரிகின்றது என்பது தான் அதன் பதில். எனினும் ஜாவாவிலே இல்லாத கருத்துக்களும் சி ஷார்ப்பில் நிறைய உள்ளன.
சி ஷார்ப் ஒரு நவீன மொழியாகும்.class,namespaces,garbage collecton,exception handling என ஒவ்வொன்றையும் சுலபமாக்கவும் நவீனமாகவும் செய்கின்ற்து.

சி ஷார்ப்பின் தன்மைகள்


எளிமை:


நிரலாளர்களுக்கு மிகுந்த தலைவலியாய் இருந்த பாயிண்டர்ஸ் நீக்கப்பட்டுள்ளது. நினைவகத்தை நேரடியாக கையாள முடியாது சி ஷார்ப்பை பொறுத்த வரை முtத்ன்மை வகையான டேட்டா டைப்பான int ஆக இருந்தாலும் சரி class ஆக இருந்தாலும் சரி எல்லாமே objects தான்.
இந்த மொழியை பொறுத்த வரை integer வேறு boollean வெவ்வேறு data types (ஆம் ஜாவா மாதிரியே தான்).

நவீனமானது

 

இது வரை எந்த மொழியிலும் இல்லாத Decimal  என்றொரு புதிய டேட்டா டைப் அறிமுகப்படுத்தப் பட்டுள்ளது.ஆம் ஃப்ளோட்டிங் வகையில் மிகுந்த துல்லில்லாத வகையான 16 பைட்டில் Decimal என்றொரு டேட்டா டைப். money சம்பந்தப்பட்ட கணக்கீடுகளுக்கு உருவாக்கப்பட்டுள்ளது.
பிழை சுட்டப்படுதலில் நவீன முறையில் நடைமுறைப் படுத்தப் பட்டுள்ளது.
உபயோகத்தில் இல்லாத ஆப்ஜெக்டுகளின்  நினைவகத்தை  தானியியங்கி முறையில்  clear செய்ய garbage collector உபயோகப்  படுத்தப்பட்டுள்ளது. (ஆமாங்க இதுவும் ஜாவா மாதிரி தான்)
Object oriented(பொருல் நோக்கு நிரலாக்கம்)
சி மொழி structure oriented மொழியாகும்.சி++ object oriented மொழியாகும்
Vb 6.o என்பது object based மொழியாகும்.
அதென்ன object oriented பிறகு object based?
Object oriented language என்றால் சில் கருத்துக்கள் உள்ளன. அதெல்லாம் என்னன்னு பார்த்தீங்கன்னா
1.   Encapsulation
2.   Abstraction
3.   Inheritance
4.   Polymorphism
இதுக்கெல்லாம் என்னன்னு பிறகு  பார்ப்போம்..ஆனா இப்ப தெரிஞ்சுக்க வேண்டிய  விசயம் என்னன்னா இது நான்கை யும்  c# ஆதரிக்கின்றது. அதனால் தான் சி ஷார்ப் முழுமயான object oriented language ஆகும்.
.எனவே சி ஷார்ப் முழுமையான object oriented language ஆகும்.
எனினும் சி # என்பது component oriented language என்றே பெயர் பெற்றதாகும்.
Clss-ற்கு வெளியே வேரியபிளோ,ஃப்ங்க்சன்ஸ் மற்றும் கான்ஸ்டன்ஸ் எதுவும் எழுத வழியில்லை. எல்லாமே class-ற்க்குள் தான்.வெளியே இல்லை.மல்டிபிள் இன்ஹெரிடன்ஸை சி# சப்போர்ட் செய்யாது.(மறுபடியும் ஜாவா மாதிரி தாங்க).
Type-safe
மதிப்பிருத்தப்படாத வேரியபிள்களை உபயோகப் படுத்த முடியாது. மெம்பர் வேரியபிள்களை கம்பைலர் பூஜ்யத்திற்க்கு தானாகவே மதிப்பிருத்திக் கொள்கின்றது.local variables ஆனதை மதிப்பிருத்தப் பட வேண்டிய பொறுப்பு நிரலாளர்களை சார்ந்தது.
அர்ரே உறுப்புகளை overflow ஆகாமல் காக்கின்றது அதவது a[5] என்கின்ற அர்ரேயில் a[0] முதல் a[4] வரை தான் அனுகவோ அல்லது மதிப்பிருத்தவோ முடியும்.a[5] எனவோ a[6] எனவோ அணுகினால்  பிழை சுட்டப்படும்.
வெர்சனபிள்:
ஒரே பயன்பாட்டின் வெவ்வேறு பதிப்புகளை ஆதரிக்கின்றது.
Flexible:
C# ஆனது பொதுவாக safe mode என்பதில் இயங்கும்.பாயிண்டர்களை இந்த மோடில் உபயோப்படுத்த முடியாது.எனினும் unsafe என அறிவித்துக் கொண்டு unsafe மோடில் உபயோகப்படுத்தலாம்.
சி  ஷார்ப் பயன்பாடுகள்:
1.   கன்சோல் பயன்பாடுகள்.
2.   விண்டோஸ் பயன்பாடுகள்.
3.   இணையப் பயன்பாடுகள்.
4.   எண்டர்ப்ரைஸ் பயன்பாடுகள்


சி++ தெரிந்தவர்களுக்கு மட்டும் இந்தப் பகுதி
சி++ லிருந்து நீக்கப்பட்டவை
1.   மேக்ரோஸ்
2.   மல்டிபிள் இன்ஹெரிடன்ஸ்
3.   பாயிண்டர்கள்
4.   Type-def கட்டளை வரி
5.   டெம்ப்ளேட்ஸ்
6.   Global variable
சி++ லிருந்து மேம்படுத்தப்பட்டவை
1.   தானியங்கி முறையில் செயல்படும் garbage collection
2.   வெர்சனிங்கை ஆதரித்தல்
3.   டைப்- சேஃப்டி ஆதரவு
4.   ப்ராப்ரட்டிஸ் என்று vb 6.0 –லிருந்து follow செய்யப்பட்ட புதிய கருத்து
5.   டெலிகேட்ஸ் மற்றும் ஈவண்ட்ஸ்
6.   பாக்ஸிங் மற்றும் அன்பாக்ஸிங்(boxing and unboxing)

ஜாவா தெரிந்தவர்களுக்கு மட்டும் இந்தப் பகுதி
வேறுபாடுகள்
1.   Primitive types அதிகப்பட்டிருக்கின்றது.
2.   சி#-ல் எல்லா வேரியபிள்ஸுமே ஆப்ஜெக்ட்கள் ஆகும்.
3.   இயக்க நேரத்தில் சி# கம்பைலர் executable code ஆனதை உருவாகுகின்றது.
4.   அர்ரே அறிவிப்பு முறையில் மாற்றம்
5.   கான்ஸ்டன்களை அறிவிக்கும் போது ஜாவாவில் static final என்கின்ற கீவேர்டு பன்படித்தப்படும்.சி#-ல் const என்கின்ற கீவேர்டு பயன்படுத்தப்படுகின்றது.
6.   ஜாவாவில் ஆபரேட்டர் ஒவர்லோடிங் கிடையாது. .சிசார்ப்பில் உண்டு
7.   சி#-ல் static constructor-என்றொரு புதிய முறை அறிமுகப் படுத்தப் பட்டிருக்கின்றது.
8.   சி#-ல் ref என்கின்ற கீவேர்டு மூலமாய் பராமீட்டர்களை reference ஆக அனுப்ப முடியும்.
9.   பாயிண்டர்களை சி# ஆனது ஜாவாவைப் போலவே ஆதரிக்காது. எனினும் சி#-ல் unsafe மோடில் பாயிண்டர்களை பயன்படுத்தலாம்.
10. சி ஷார்ப்பில் உள்ள indexers –க்கு இனையான கருத்துரு ஜாவாவில் இல்லை.
11. சி ஷார்ப்பில் உள்ள properties –க்கு இனையான கருத்துரு ஜாவாவில்
இல்லை.
                         -மீண்டும் சந்திப்போம்-
                                  முத்து கார்த்திகேயன்,,மதுரை.



.






No comments:

Post a Comment