Showing posts with label c sharp. Show all posts
Showing posts with label c sharp. Show all posts

Monday, 7 November 2016

சி ஷார்ப் –பாடம்-2 டாட்நெட் ஒரு அறிமுகம்.





                                             ஜாவாவைப் பொருத்தவரை பொதுவாக இப்படிச் சொல்வர்கள்."write once in java and run any where".அதாவது ஜாவா ஒரு portable மொழியாகும்.ஒரு பிளாட்ஃபார்மில் எழுதிய நிரலை(program) எந்த பிளாட்ஃபார்மிலும் அப்ப்டியே இயக்கலாம். ஆனால் டாட்நெட்டிலோ எந்த மொழியில் வேண்டுமானாலும் எழுதலாம். ஆம் டாட்நெட் c#,c++,vb,cobol என நிறைய மொழிகளை ஆதரிக்கிறது.
                   டாட்நெட்டில் எந்த மொழியில் எழுதினாலும் அவை முதலில் complie செய்யப் ப்ட்டு il(intermediate language) ஆக மாற்றப் படுகிறது. இந்தIL(MSIL) ஜாவாவின் class ஃபைல்கள் போன்றதன்று. ஏனென்றல் class ஃபைல்கள் படிக்க முடியாதவை.ஆனால்MSIL தனி மொழியாகும். இதற்கென்றே தனியாக புத்தகங்ககள் உண்டு.



டாட்நெட் பின்வரும் மொழிகளை ஆதரிக்கின்றது.

c#
c++
visual basic
jscript.

மேலும் மூன்றாம் நபர் மொழிகளான
cobol
eiffel
perl
phython
small talk.
mercury

ஆகியவற்றையும் அதரிக்கின்றது.


டாட்நெட்டின் பயன்கள்

1. எளிதானது.
2. விரைவானது.
3. நிறைய  library class உள்ளடக்கியது.இவை எல்லா மொழிக்கும் பொதுவானது என்பது குறிப்பிடத்தக்கது.
4. நிறுவது எளிது.
5. குறைந்த பட்ச பிழைகள் கொண்டது.

c#ம் டாட்நெட்டும்
சி ஷார்ப் -டாட் நெட்க்கென பிரெத்யேகமாக உருவாக்கப்பட்ட மொழியாகும். டாட்நெட்டில் பயன்பாடுகள் உருவாக்கும் போது நிரலாளர்கள் (project) பெரும் பாலும் தேர்ந்து எடுக்கும் மொழி c# ஆகும்.சமீபத்திய பதிப்பு (version )  c# 4.0 ஆகும்.
.NET பயன்பாடுகள்

.
.NET கொண்டுவெவ்வேறு விதமான பயன்பாடுகளை உருவாக்கலாம். மேலும் ஒரு டாட் நெட் solution வெவ்வேறு  மொழியில் எழுதப்பட்ட திட்டங்களை கொண்டிருக்கலாம். இது டாட் நெட்டின் interoperability பண்பு மூலம் சாத்தியமாகிறது.
கன்சோல்  பயன்பாடுகள்.
Console பயன்பாடுகள் graphics இருக்காது. Characters மட்டுமே இருக்கும்.
Public static void Main(String args)
என்ற வாக்கியம் console பயன்பாடுகளின் நுழைவாயிலாக உள்ளது. Read,ReadLine,write,WriteLine ஆகிய system.console ல் உள்ள method களை
கன்சோல்  பயன்பாடுகள் உபயோகித்து கொள்கின்றன.
விண்டோஸ் பயன்பாடுகள்.
விண்டோஸ் பயன்பாடுகளுக்கு ஒரு உதாரணம் ms-word ஆகும்.
பொதுவாக கட்டளைகள் graphics மூலம் icon ஆக கொடுக்கப் பட்டிருக்கும்.
அவற்றை சொடுக்குவதன் மூலம் நாம் அவற்றை இயக்கலாம். டாட் நெட் கொண்டு இது போன்ற விண்டோஸ் பயன்பாடுகளை உருவாக்கலாம்.
Windows control
Tool box ல் உள்ள ஒரு கன்ரட்ரோல் அல்லது அதிக கன்ட்ரோல்களை கொண்டு புதிய  கன்ட்ரோல்களை உருவாக்கலாம். vb6 அல்லது vc++ கொண்டு  activex control  உருவாக்குவதை அறிந்தவர்கள் .நெட் கொண்டு உருவாக்குவது எளிது.
இணைய பயன்பாடுகள்.
இணைய தளங்க்களை asp.net கொண்டு உருவாக்கலாம்.வெப் சர்வரில் உள்ள asp.net engine,  asp.net வரிகளை இயக்கி html வரிகளாக மாற்றுகிறது.
இணைய உலாவி(browser) அவற்றை இயக்கி இணைய பக்கங்களாக மாற்றுகிறது. Asp.net கொண்டு நிகழ் நேர(dynamic) வெப் தளங்க்களை உருவாக்கலாம்.
இணைய சேவைகள்.
Web services எனபது மற்ற வெப் தளங்களுக்கு தகவல்களை பகிர்ந்து கொள்வது ஆகும். உதாரணமாக climate,stock market report  ஆகியவற்றை webservices மற்ற வெப் தளங்களுக்கு சேவையாக வழங்குகிறது.


பொதுவாக டாட் நெட்டின் நோக்கமே மென்பொருள்களை வழங்குவதே ஆகும். (software as services).


   -----மீண்டும் சந்திப்போம்
                                     ----முத்து கார்த்திகேயன்,மதுரை



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 –க்கு இனையான கருத்துரு ஜாவாவில்
இல்லை.
                         -மீண்டும் சந்திப்போம்-
                                  முத்து கார்த்திகேயன்,,மதுரை.



.