Tuesday, June 26, 2012

Visual Basic.net 2010 පාඩම 1 - පටන් ගන්න කලින් .NET ගැන දැන ගනිමු



      මම පසුගිය පාඩමෙන් කියල දුන් පරිදි ඔයාල දැන් Visual Studio 2010 කිනම් හෝ version එකක් install කරගෙන සූදානමින් ඇතියි කියල හිතනව. දැන් අපි අද පාඩම පටන් ගමු.

                                                                    අපේ coding සිංහලෙන් පාඩම් මාලාව අධ්‍යනය කරන ඔයාලා programming වලට ආදුනික අය වෙන්න පුළුවන් ඒ වගේම වෙනත් ක්‍රමලේඛන භාෂා ඉගෙන ගත්ත අය වෙන්න පුළුවන්, මේ දෙගොල්ලන්ටමයි අපේ පාඩම් මාලාව සකස් කරල තියෙන්නේ අපි පුළුවන් තරම් සරල ලෙස ඉදිරිපත් කරන්න උත්සාහ කරනව. හොඳයි visual basic සමඟ මෘදුකාංග නිර්මාණයට පෙර අපි දැන ගත යුතු කරුණු කිහිපයක් මම සදහන් කරන්නම්.
                                                                                     අන්තර්ජාලයේ සීඝ්‍ර ලෙස වියාප්ත වීමත් සමග මෘදුකාංග ලෝකයේ විවිධාකාර ගැටළු මතු වන්නට විය, ඉන් එකක් වූයේ මෘදුකාංග වල වූ platform dependency නම් වූ දුර්වලතාවයයි. මින් අදහස් වන්නේ ඔබ යම් මෘදුකාංගයක් යම් කිසි මෙහෙයුම් පද්ධතියක් (operating system) හෝ යම් processor පෙලක් සඳහා නිර්මාණය කලේ නම් එම මෘදුකාංගය ඉන් බැහැර වු පද්ධති වල ක්‍රියාත්මක නොවීමේ දෝෂයයි. උදාහරණයක් වශයෙන් ඔබ Windows මෙහෙයුම් පද්ධතිය උදෙසා නිර්මාණය කළ මෘදුකාංගයක් එහි source code හි (මේනමින් හඳුන්වන්නේ මෘදුකාංගයේ කෝඩ් එකයි) කිසිදු වෙනස් කමක් සුදු නොකර Linux මෙහෙයුම් පද්ධතියක් ක්‍රියාත්මක වන පරිඝණකයක ක්‍රියාත්මක නොවේ.

                                                                                මේ සඳහා ඉතා සාර්ථක විසදුමක් 90 දශකයේදී SUN ආයතනය විසින් හදුන්වා දුන් JAVA ක්‍රමලේඛන භාෂාව විසින් සපයන ලදී. ඉතින් මේ කාලයේ JAVA ඉතාමත්ම ප්‍රසිද්ධ වුනා මේ හේතුවෙන්. මෙයාලගේ ප්‍රතිවාදියා වූ Microsoft ආයතනයට මේක ප්‍රබල තර්ජනයක් බවට පත් වුනා. මෙයාලත් වැඩේ අතාරින්නේ නැතුව Next Generation Windows Services කියල programming architecture එකක් දියුණු කරන්න පටන් ගත්ත. පසු කලෙකදී මේක .NET කියල තමයි හඳුන් වන්න පටන් ගත්තේ. මේක JAVA මගින් එල්ල වූ තර්ජනයට හොඳ ප්‍රතිචාරයක් වුනා. Microsoft සමාගම 2000 වර්ෂයේ ජූලි මාසයේ තමයි තම මංගල .NET Framework එක වෙළඳ පොළට ඉදිරිපත් කලේ. මේ මගින් මෘදුකාංග වලට platform in dependency ගුණය ලබා දීමට හැකි වුනා.

මේම .NET Framework එක ප්‍රධාන ලෙස කොටස් දෙකකින් සමන්විතවේ. ඒ
  • Framework Class Library (FCL)
    • මෙහි කලින් ලියන ලද classes සහ components 20 000ක් පමන අඩංගු වේ.
    • Windows applications, Web-based systems, Mobile applications සඳහා අවශ්‍ය මූලික classes සපයා දීමඳ සිඳුකරයි.
  • Common Language Runtime (CLR)
    • මෙය .NET Framework එකේ මධ්‍ය සම්පාදකයයි. (Core Executor)
    • .NET වලට අනුකූල වූ කේතයක් (code) ධාවනය (run) කිරීමට ඔබට අවශ්‍ය වනුයේ මෙය පමණයි.
    • තවද මෙය මගින් Common Language Specification (CLS) හා Common Type System (CTS) භාවිතා කර අපට cross-language interoperability යන ගුණාංගය ලබා දී තිබෙනව. ඒ මගින් සිදු වන්නේ .NET Framework එක තුල එයට අනුකූල වු ක්‍රමලේඛන භාෂා වලින් යම් මෘදුකාංගයක් ක්‍රමලේඛනය කිරීමට හැකි වීමයි.
  • Common Language Specification (CLS)
    • මෙමගින් යම් ක්‍රමලේඛන භාෂාවක් CLR සමග අනුකූල වීම අඳහා ඒවා විසින් අනුගමනය කළ යුතු යම් නිතී පද්ධතියක් සඳහන් කරයි.
  • Common Type System (CTS)
    • Cross-language interoperability හි පදනම මෙයයි.
            ගොඩක් වෙලාවට මම ඉහතින් සඳහන් කළ දේ ඔයාලට නොතේරෙන් ඉඩ තියෙනවා. මම පුළුවන් තරම් සිංහලෙන් පැහැදිලි කලත් සමහර දේ වලට කියන සිංහල වචන දන්නෙ නැති කම හා ඒවාට සිංහල වචන නැති කම යන්න අපහැදිලිතාවයට හේතුවුනා. කැමති නම් internet එකේ මේ ගැන පොඩ්ඩක් search කරල බලන්න. ඒ දෙවල් නොතේරුනා කියල අපේ ඉදිරි වැඩකට යුතු වලට කිසිම බාදාවක් නැහැ. මම මෙම පාඩම සම්පූර්ණ විය යුතු නිසයි ඒවා සඳහන් කලේ.
දැන් අපි බලමු තවත් භාවිතා වන වචන කිහිපයක්,
  • Managed Code - මෙනමින් හඳුන් වන්නේ .NET වලට අනුකූල වූ compiler එකක් මගින් ජනනය කරන ලද කේතයකටයි.
  • Common Intermediate Language (CIL) - මේ ඉහතින් සඳහන් කළ managed code හි භාෂාවයි. මෙය platform independent වේ.         
  • Portable Executable - මෙය managed code (CIL මගින් ලියා ඇති කේතය) අඩංගු file එක වේ.
  • Just - In - Time (JIT) Compiler - මෙය CLR හි component එකක් වේ. මෙය විසින් portable executable හි අඩංගු CIL මගින් ලියන ලද කේතය machine code (පරිඝණකයට තේරෙන භාෂාව) එකට හරවයි.
පහත රූපයත් අධ්‍යනය කරන්නකෝ,      

                                    ඉහත රූපයේ පෙන්වා ඇත්තේ මම හඳහන් කළ platform in dependency ගුණය .NET Framework එකට ලබා ගෙන ඇති ආකාරයයි. ඕනෑම භාෂාවකින් ලියන ලද කේතයක් ඊට අදාල වූ compiler එක  මගින් P.E එක බවට හරවයි. දැන් මෙය එක් එක් පරිඝණක වල ස්ථාපිත කර ඇති CLR එක මගින් එම පරිඝණකයට අනන්‍ය වූ machine language code එකක් බවට හරවා execute කරයි. එම නිසා මෙම .NET Framework එක OS එක හා application එක අතර ක්‍රියාත්මක වෙයි. මෙ පාඩම ටිකක් හොදට කියවන්න. තේරෙන්නේ නැති තැන් අහන්න. අපි අයෙත් පාඩමකින් හමු වෙමු.

මේ ලිපියෙහි හෝ මෙය සිදු කිරීමේදී යම් ගැටලුවක් ඇත්නම් Comments වල දමන්න.
මා අතින් යම් වරදක් වී ඇත්නම් හෝ යමක් මග හැරී ඇත්නම් ඒවාත් නිවැරදි කිරීම පිනිස Comments වල දමන්න.
                       

20 comments:

  1. මුල ඉඳන්ම ලියන එක හොඳයි...

    ReplyDelete
    Replies
    1. අපි බලාපොරොත්තු වෙන්නෙත් පුළුවන් තරම් සරලව මුල සිටම ඉදිරිපත් කරන්නයි. ස්තූතියි ඔබේ දිරිමත් කිරීමටත්.

      Delete
  2. එල..
    C,C#,C++ කියල දෙන්න පුලුවන්ද?

    ReplyDelete
    Replies
    1. C පාඩම් මාලාවක් මෙහි දැනටමත් පලවෙනව මේ ලින්ක් එකෙන් බලන්නකෝ...http://codingsihalen.blogspot.com/search/label/C%20programming. අපි ඉදිරියේදී C# පටන් ගන්නයි ඉන්නේ. C++ත් පුළුවන් ඉක්මනට පටන් ගන්නම්. ඔබේ කොමෙන්ටුවට ස්තූතියි.

      Delete
  3. maru machan athara maga nawathan nathuwa yamu ...maru........ thank you..

    ReplyDelete
    Replies
    1. අනිවාර්යෙන්ම....ස්තූතියි ඔබේ දිරිමත් කිරීමටත්.

      Delete
  4. ඔහොම යමු... ඔහොම යමු...

    ReplyDelete
    Replies
    1. ඔවි ඔවි දිගටම යමු අපි....!

      Delete
  5. [ මෘදුකාංග වලට platform dependency ගුණය ලබා දීමට හැකි වුනා.]
    in dependency නේද ? ධාවක පරිසරය මත රදා නොපවතින ගුණය නේද ?

    ReplyDelete
    Replies
    1. ඇත්තටම...type කිරීමේදී සිදුවූ දෝෂයක්. මම ඉතා අගය කරනවා ඔබ එය පෙන්වාදීම ගැන. ස්තූතියි ඔබට. මම එය නිවැරදි කලා.

      Delete
  6. C++ ගැන කියල ලිපියක් ලියමුද ???? ගොඩක් වැදගත් වෙයි .... (Y)

    ReplyDelete
  7. C++ ගැන කියල ලිපියක් ලියමුද ???? ගොඩක් වැදගත් වෙයි .... (Y)

    ReplyDelete
    Replies
    1. අනිවාර්යයෙන්ම අපි ඒ ඉල්ලීම ඉටු කරන්න ඉදිරියේදී හැකි සෑම පියවරක්ම ගන්නම්.... :)

      Delete
  8. niyamai maga nathara krala thinne aparade...

    ReplyDelete
  9. ස්තූතියි ලිපියට

    ReplyDelete
  10. You made Better Content. Thank You for publishing This contant..

    As a citizen in sri lanka every person need to a job for earn money. Then person can find government jobs or Private jobs.
    But Most of people try to get government jobs in sri lanka than the Private jobs. The reason for that is job protection and salaries are higher in government jobs then the Private jobs.
    Considering government job information providers in sri lanka, there are many websies have for providng Government Job Vacancies.
    But, Kuppya Jobs is the best provider government job vacancies in sri lanka.
    In Kuppiya Jobs There are many job types are provides such as Dinamina Jobs, Lakbima Jobs, Silumina Jobs, Top Jobs, jobs in lanka, sri lanka vacancy, jobsjobs, lanka jobs, employment i n sri lanka.

    ReplyDelete
  11. You made Better Content. Thank You for publishing This contant..

    As a citizen in sri lanka every person need to a job for earn money. Then person can find government jobs or Private jobs.
    But Most of people try to get government jobs in sri lanka than the Private jobs. The reason for that is job protection and salaries are higher in government jobs then the Private jobs.
    Considering government job information providers in sri lanka, there are many websies have for providng Government Job Vacancies.
    But, Kuppya Jobs is the best provider government job vacancies in sri lanka.
    In Kuppiya Jobs There are many job types are provides such as Dinamina Jobs, Lakbima Jobs, Silumina Jobs, Top Jobs, jobs in lanka, sri lanka vacancy, jobsjobs, lanka jobs, employment i n sri lanka.

    ReplyDelete
  12. On That Day is the leading website of providing valuable historical information related what happened On That Day. You can fined many valuable information related Historical Events, Special Days and Famous People biography
    On That day on Telegram

    ReplyDelete