C# Ir VB.NET Palyginimas Taikomųjų Programų Kūrimo Požiūriu

C# Ir VB.NET Palyginimas Taikomųjų Programų Kūrimo Požiūriu

VILNIAUS PEDAGOGINIS UNIVERSITETAS MATEMATIKOS IR INFORMATIKOS FAKULTETAS INFORMATIKOS KATEDRA Arnoldas Judinas C# ir VB.NET palyginimas taikomųjų programų kūrimo požiūriu Magistro baigiamasis darbas Darbo vadovas – prof. dr. (HP) V. Slivinskas Recenzentas – doc. dr. G. Melničenko Vilnius, 2010 Patvirtinimas Aš, Arnoldas Judinas, Vilniaus pedagoginio universiteto Matematikos ir informatikos fakulteto Informatikos magistrantūros studentas, patvirtinu, kad šį mokslinį darbą rašiau savarankiškai. .............................. ...................... Data Parašas 2 Turinys Patvirtinimas........................................................................................................................ 2 Turinys ............................................................................................................................ 3 Įvadas .............................................................................................................................. 4 Lyginimo kriterijai ...................................................................................................... 4 Hipotezės ..................................................................................................................... 4 Darbo uždaviniai ......................................................................................................... 4 1. Taikomoji programinė įranga .......................................................................................... 5 2. Microsoft .NET karkasas................................................................................................. 6 3. C# ir VB.NET kalbų aprašas ........................................................................................... 9 3.1. Visual Basic .NET .................................................................................................... 9 3.2. C# ........................................................................................................................... 10 3.3. Kalbų privalumai .................................................................................................... 12 3.3.1. VB.NET kalbos privalumai ............................................................................. 12 3.3.2. C# kalbos privalumai ...................................................................................... 13 4. C# ir VB.NET kalbų istorija ......................................................................................... 14 4.1. Visual Basic ir Visual Basic .NET kalbų istorija ................................................... 14 4.2. C# istorija ............................................................................................................... 19 5. C# ir VB.NET kalbų sintaksė ........................................................................................ 20 5.1. Raktiniai žodžiai ..................................................................................................... 20 5.2. Raktiniai žodžiai, išrikiuoti pagal abėcėlę .............................................................. 23 5.3. Kalbų duomenų tipai .............................................................................................. 26 5.4. Operatorių skirtumai .............................................................................................. 27 5.5. Elementarūs kodo fragmentai................................................................................. 28 5.5. C# ir VB.NET kodo fragmentai ............................................................................. 33 6. Programavimo eksperimentai ........................................................................................ 37 6.1. Programų kūrimo aplinka Microsoft Visual Studio ............................................... 37 6.2. Matematinių ir įvesties/išvesties operacijų spartos palyginimas............................ 42 6.3. Householderio transformacija ................................................................................ 47 7. Rezultatai ....................................................................................................................... 51 8. Išvados ........................................................................................................................... 51 Priedas 1. Terminų žodynas .............................................................................................. 52 Priedas 2. .NET kalbos ...................................................................................................... 75 Literatūros šaltiniai ............................................................................................................ 83 Anotacija ........................................................................................................................... 85 Santrauka ........................................................................................................................... 86 Summary ........................................................................................................................... 87 3 Įvadas Darbe nagrinėjamos įvairiais požiūriais lyginamos dvi populiarios Microsoft kompanijos kalbos: VB.NET ir C#. Lyginimo kriterijai Lyginimo kriterijai: • C# ir VB.NET kalbų istorija. Kas yra bendro tarp jų? • Sintaksės panašumai/skirtumai. • Vykdomo kodo greitaveika šiose srityse: o matematinės operacijos; o įvesties/išvesties operacijos;. Hipotezės Buvo iškeltos tokios hipotezės: • taikomųjų programų kūrimo galimybės yra panašios; • integruotos kūrimo aplinkos (IDE) vartotojo sąsaja toks pats, Windows Forms, meniu, mygtukai ir kiti įterpiami valdymo elementai; • kodo, parašyto C# kalba, vykdymo greitis, lyginant su kodu, parašytu Visual Basic .NET kalba bus: o didesnis vykdant matematinius skaičiavimus; o toks pat, vykdant įvesties/išvesties operacijas. Darbo uždaviniai Siekiant tikslo, reikia atlikti šiuos uždavinius: • apibrėžti svarbią sąvoką „taikomoji programa“; • apibūdinti Microsoft .NET platformą; • atlikti abiejų kalbų istorinę apžvalgą; • palyginti kalbų sintaksę; • atlikti programuotojo aplinkos analizę; • eksperimento metu nustatyti C# ir VB.NET vykdomo kodo greitaveiką. 4 1. Taikomoji programinė įranga Šio darbo esmė – dviejų programavimo kalbų analizė taikomųjų programų kūrimo požiūriu. Norint tai daryti, būtina apibrėžti (kiek tai įmanoma) taikomosios programinės įrangos sąvoka. Tai galima padaryti lyginant taikomąją PĮ su sistemine PĮ. Toliau vartosiu sąvokos „programinė įranga“ sinonimą – „programa“. Sisteminės programos skirtos užtikrinti sklandų kompiuterio ir taikomųjų programų darbą [7]. Tiesioginio rezultato vartotojui jos neduoda. Sisteminių programų pavyzdžiai: • operacinė sistema (pvz., FreeBSD, Windows XP); • tvarkyklė (angl. driver , pvz., grafinės plokštės tvarkyklė); • kietų diskų skaidymo programa (pvz., Partition Logic); • kietų diskų defragmentavimo programa (pvz., UltraDefrag); • antivirusinė programa (pvz., Avira AntiVir). Taikomosios programos skirtos vykdyti tam tikras užduotis, susijusias su žmonių veikla. Jos sąveikauja tiesiogiai su vartotoju. [8] Paprastai taikomosios programos negali tiesiogiai prieiti prie kompiuterio resursų ir sąveikauja su aparatine įranga per sistemines programas. Taikomųjų programų pavyzdžiai: • tekstų apdorojimo programa (pvz., Microsoft WordPad); • skaičiuoklė (pvz., Microsoft Excel); • elektroninio pašto programa (pvz., Microsoft Outlook, Eudora); • naršyklė (pvz., Opera, Chrome); • buhalterinės apskaitos programa (pvz., Rivilė) • integruota kūrimo aplinka (pvz., Dev-C++); • nuotraukų ir grafikos peržiūros arba apdorojimo programa (pvz., GIMP); • programa, atkurianti įvairius skaitmeninius įrašus (pvz., WinAmp, GomPlayer); • žaidimas (pvz., Tetris); 5 2. Microsoft .NET karkasas Microsoft .NET karkasas (angl. framework ) – programinis karkasas, skirtas taikomųjų ir tinklo programų kūrimui. .NET yra patentuota Microsoft kompanijos technologija, tačiau po susitarimo su kompanija Novell technologija Mono buvo pripažinta kaip .NET platformos realizacija Unix tipo operacinėse sistemose. Ko gero, svarbiausia idėja, realizuota .NET karkase – modulių, parašytų skirtingomis programavimo kalbomis, suderinamumas. Pvz., kodas, parašytas C++ kalba .NET karkase, gali kreiptis į klasės, parašytos Delphi, metodą. Kiekviena .NET biblioteka turi duomenis apie savo versiją, tokiu būdu galima išvengti versijų nesuderinamumo problemos. NET programų kūrimo terpės (plačiau žr. straipsnį „IDE“ terminų žodyne): • Microsoft Visual Studio; • SharpDevelop; • MonoDevelop; • Elipse; • Borland Developer Sturio (kalbos: Delphi for .NET, C#); Programas galima kurti ir bet kokiame tekstų doroklyje, naudojant konsolinį kompiliatorių. Panašiai kaip Java technologijoje, .NET terpė sukuria bait-kodą, skirtą vykdyti virtualioje mašinoje, kuri vadinasi CLR (angl. Common Language Runtime ). Bait-kodo naudojimas leidžia turėti daugiaplatformiškumą. .NET programų rašymo ir vykdymo procesas vyksta taip: • kodo rašymas viena iš .NET kalbų; • parašyto kodo transliavimas į virtualios mašinos įeities kalbą – bait-kodą, kuris vadinama MSIL (angl. Microsoft Intermediate Language ) arba vėlesniu pavadinimu CIL (angl. Common Intermediate Language ); • CIL kodas iškart prieš taikomosios programos paleidimą transformuojamas į mašininį kodą specialiu JIT (angl. Just-in-time) kompiliatoriumi; • gautas mašininis kodas vykdomas aparatiniame procesoriuje; 6 Taip pat yra galimybė pačiam sukompiliuoti CIL kodą į mašininį, pasinaudojus programa NGen.exe (pvz., jeigu manoma, kad kompiuteryje, kuriame bus vykdoma parašyta programa,

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    87 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us