Diplomdarbs
Tehnoloģijas
Datori, elektronika, programmēšana
Programmēšānas valodu Java un C# salīdzinājums-
Programmēšānas valodu Java un C# salīdzinājums
Nr. | Sadaļas nosaukums | Lpp. |
Anotācija | 2 | |
Annotation | 3 | |
Annotation | 4 | |
SATURS | 5 | |
Ievads | 7 | |
1. | Teorētiskā daļa | 12 |
1.1 | Kas ir līdzīgs programmēšanas valodām C# un Java? | 12 |
1.1.1. | Visi objekti ir references | 12 |
1.1.2. | Drazu savākšana(garbage collection) | 12 |
1.1.3. | C# un Java ir tipa-drošas(Type-safe) valodas | 15 |
1.1.4. | Gan C#, gan Java ir “tīri” objektorientētas valodas | 15 |
1.1.5. | Vienkārša mantošana | 16 |
1.1.6. | Formāla izņēmumu apstrāde | 18 |
1.1.7. | Iebūvēts unikoda atbalsts | 23 |
1.2. | Kas ir atšķirīgs Java un C#? | 24 |
1.2.1. | Formāla izņēmumu apstrāde | 24 |
1.2.2. | Java Darbojās ar „jebkuru” operētājsistēmu | 26 |
1.2.3. | C# ir sarežģītāka valoda, nekā Java | 27 |
1.2.3.1. | C# un Java atslēgas vārdu salīdzinājums | 27 |
1.2.3.2. | Ekvivalenti | 27 |
1.2.3.3. | Tiek atbalstīts C#, bet netiek Java | 32 |
1.2.3.4. | Tiek atbalstīts Java, bet nav C# | 42 |
1.2.3.5. | Atslēgvārdu analīze | 43 |
1.3. | Secinājumi | 44 |
2. | Praktiskā daļa | 46 |
2.1. | Programmu veidi | 47 |
2.1.1. | Aritmētika | 47 |
2.1.1.1. | 32-bitu veselu skaitļu aritmētika | 47 |
2.1.1.2. | 64 – bitu veselu skaitļu aritmētika | 47 |
2.1.1.3. | 64 – bitu aritmētika skaitļiem ar peldošo komatu | 48 |
2.1.1.4. | 64 – bitu trigonometrija | 48 |
2.1.2. | Ievade/izvade | 48 |
2.1.3. | C# atslēgvārdu pārbaude | 48 |
2.2. | Testu izstrāde | 49 |
2.2.1. | Testu vides izvēle | 49 |
2.3. | Rezultāti | 50 |
2.3.1. | C# aritmētikas testu rezultāti | 50 |
2.3.2. | Java testu rezultāti | 51 |
2.3.2.1. | Java 1.5 aritmētikas testu rezultāti | 51 |
2.3.2.2. | Java 1.4 aritmētikas testu rezultāti | 51 |
2.3.2.3. | Java aritmētikas testu rezultāti .NET vidē | 52 |
2.3.3. | C# atslēgvārdu testu rezultāti | 53 |
2.3.3.1. | C# atslēgvārda as testa rezultāts | 53 |
2.3.3.2. | Atslēgvārda as simulācijas Java valodā testa rezultāts | 54 |
2.3.4. | Testu rezultātu salīdzinājums | 54 |
2.3.4.1. | Aritmētikas testu rezultātu salīdzinājums | 54 |
2.3.4.2. | C# atslēgvārda as testa rezultātu salīdzinājums | 57 |
Secinājumi un priekšlikumi | 59 | |
Izmantotās literatūras saraksts | 61 | |
Galvojums | 62 | |
Pielikumi | 64 |
1.1 Kas ir līdzīgs programmēšanas valodām C# un Java?
Ievadā, pamatojot salīdzināmo valodu izvēli, jau tika minēts, ka no programmētāja viedokļa, abas valodas ir ļoti līdzīgas. Turpmākā paragrāfa laikā tiks aprakstīts, kas tieši abām šim valodām ir līdzīgs, vai vienāds.
1.1.1 Visi objekti ir references
References tipi ir ļoti līdzīgi rādītājiem(pointers) C++ valodā, īpaši uzstādot identifikatorus kādai jaunai klases instancei. Piekļūstot šīs references tipa īpašībām un metodēm, tiek lietots ‘.’ operators, kas ir līdzīgi, kā piekļūstot datu instancēm C++, kas izvietotas stekā(stack). Visas klases instances tiek izveidotas kaudzē(heap), izmantojot new operatoru, bet delete netiek pieļauts, jo abas valodas lieto savas atkritumu(garbage) savākšanas shēmas, kas tiks aprakstītas vēlāk.
Būtībā valodā C# pastāv arī iespēja lietotot rādītājus, taču tā skaitās „nedroša”(unsafe) programmēšana, tāpēc tas darbā netiks apskatīts.
1.1.2 Drazu savākšana(garbage collection)
Programmējot, ir jārūpējas ne vien par pašas programmas darboties spēju, bet arī par datora atmiņas kontroli. Izveidojot programmā kādu objektu, kas tiek glabāts datora atmiņā, vēlāk, kad objekts vairs nav nepieciešams, tas kļūst par atkritumu un no atmiņas ir jāizdzēš. Programmējot vecākās programmēšanas valodās (piemēram, C++) ļoti bieži gadās situācija, kad pēc new (izveido objektu) atslēgvārda lietošanas vēlāk tiek aizmirsts izsaukt delete (izdzēš objektu). Atmiņas kontrole ir problēma programmēšanas valodās, piemēram, C++. Jaunākās valodās tas tiek labots, un valodās tiek izveidota automātiska atkritumu savākšana, kas ļauj programmētājam neuztraukties par to, kas notiek pēc tam, kad objekts netiek vairs izmantots.
Gan C#, gan Java ir iebūvēta drazu savākšana. Tas nozīmē, ka var neuztraukties par to, ka tiks aizmirsta delete izsaukšana. Protams, ka nevienā valodā nevarēs tāpat no nekā uztaisīt izmatojamu objektu (valodā nevar iekļaut funkciju kas automātiski izveido objektu), taču, izmantojot operatoru new, to var darīt pietiekoši bieži, neuztraucoties par sekām. Nākamais piemērs parāda objekta izveidošana abās valodās:...
…
Šis bakalaura darbs ir rakstīts ar mērķi salīdzināt programmēšanas valodas Java un C#, nosakot to kopīgās un atšķirīgās iezīmes, un, uz tām balstoties, salīdzināt koda ātrdarbību, lai rezultātā varētu veikt secinājumu par to, kura valoda konkrētā situācijā nodrošina lielāku efektivitāti. Darbs sastāv no trīs daļām – teorētiskās, praktiskās un secinājumu daļas. Teorētiskā daļa ir veidota, analizējot par valodām pieejamo informāciju, un atlasot svarīgāko. Šī daļa sastāv no divām apakšnodaļām, kurās tiek salīdzinātas valodu kopējās un atšķirīgās iezīmes. Nodaļas beigās, balstoties uz rakstīto, tiek veikti secinājumi. Praktiskajā daļā, galvenokārt, tiek izstrādāti programmu kodi un analizēta to ātrdarbība. Šīs daļas sākumā tiek veikta analīze par to, kādos veidos abas valodas būtu jātestē, un, uz to balstoties, izstrādāti testa programmu kodi. Pēc kodu izstrādes un testēšanas, iegūtie rezultāti ir apkopoti uzskatāmos grafikos, lai vieglāk būtu veikt turpmākos secinājumus. Secinājumu daļā, balstoties uz visu iepriekšējo darba saturu, ir uzskaitīti secinājumi, kā arī dotas rekomendācijas par to, kādās situācijās labāk izvēlēties vienu vai otru valodu. Darbs sastāv no 50 lappusēm, 5 attēliem un 3 tabulām. Darba beigās ir pievienoti pielikumi, kuros apkopoti testos izmantotie programmu kodi.
- Attālinātā grafiskās informācijas apstrāde, izmantojot komponentu objektu modeļu mehānismu
- Imitācijas modeļu diagrammu 2D izkārtojuma izveidošanas metodes
- Programmēšānas valodu Java un C# salīdzinājums
-
Tu vari jebkuru darbu ātri pievienot savu vēlmju sarakstam. Forši!Internetā ievietojamo JAVA appletu izstrāde mācību līdzekļiem
Diplomdarbs augstskolai86
-
Maršrutēšanas protokolu RIP un OSPF salīdzinājums
Diplomdarbs augstskolai76
Novērtēts! -
Elektroniskās un tradicionālās komercijas salīdzinājums
Diplomdarbs augstskolai67
Novērtēts! -
Informācijas sistēmu ieviešanas problēmas un risinājumi
Diplomdarbs augstskolai88
Novērtēts! -
Bezpapīru birojs un uzņēmuma automatizācija
Diplomdarbs augstskolai89
Novērtēts!