Tablica usporedbe
Osnova za usporedbu | C # | C ++ |
---|---|---|
Sastavljen u | CLR | Strojni kod |
Memorijom se upravlja | automatsko | ručno |
Korištenje pokazivača | Nije dozvoljeno | dopušteno |
Zaposlen na | Uglavnom Windows platforma | Bilo koja platforma |
Prijave | Konzola, prozori, ASP.NET i mobilna aplikacija. | Samostalna aplikacija za konzole. |
šifriranje | Namijenjen za Windows OS. | To je učinjeno za bilo koju platformu. |
Ubrzati | sporiji | Brži je kao lagani jezik. |
Definicija C #
Programski jezik C # je objektno orijentirani programski jezik koji je izravno povezan s njegovim prethodnikom C ++ i C. Razvio ga je Anders Hejlsberg 2000. godine. Glavna svrha stvaranja C # je prevladavanje ograničenja jave, iako evoluirala je kroz C. Budući da java nije imala među-jezičnu interoperabilnost, drugim riječima, java nije mogla pokrenuti program napisan u jednom programskom jeziku s programima generiranim u drugim programskim jezicima. Drugo, Java ne pruža potpunu integraciju s Windows platformom.
Java je uvijek bila suparnički jezik za C #. C # je standardni jezik .NET platforme koja koristi CLI (Common Language Interface) okruženje kako bi programi bili prenosivi.
C # uključuje značajke kao što su automatsko prikupljanje smeća, sigurnost tipa, podrška za verzije, delegati i događaji, web-usluge, boks i unboxing te pristupačnost podataka članova.
Karakteristike C #
- Jednostavnost : C # je jednostavna u smislu korištenja operatora i potpuno razdvaja booleov i cjelobrojni tip podataka.
- Kompatibilnost : C # osigurava interoperaciju unutar jezika .NET platforme primjenom specifikacija zajedničkog jezika.
- Dosljednost : C # sustav podržava integrirani sustav kako bi se uklonilo pitanje raspona varijabli cjelobrojnih tipova. On razmatra sve tipove kao objekte.
- Objektno orijentirana : U potpunosti je objektno orijentirana gdje je sve objekt umjesto globalnih funkcija, varijabli i konstanti.
- Sigurnost tipa : Obuhvaća nekoliko mjera sigurnih za tip, kao što su dinamički dodijeljeni objekti i polja se inicijaliziraju na nulu, nije dopušteno korištenje neinicijaliziranih varijabli, automatska provjera raspona za nizove, Nesigurni odljevi nisu dopušteni, overflow provjera, itd.
- Mogućnost ažuriranja : Omogućite novu verziju softverskih modula da bude kompatibilna s već postojećim aplikacijama.
- Fleksibilnost : Međutim, pokazivači nisu podržani od strane C #, ali unatoč tome, mogu se koristiti nesigurne klase i metode.
- Interoperabilnost : C # koristi COM objekte i program za pozivanje bilo kojeg izvornog API-ja.
Definicija C ++
Programski jezik C ++ nastao je 1980-ih u AT&T Bell Laboratoriesu, Bjarne Stroustrup. Ova verzija je u početku bila poznata kao “C s klasama” jer je C ++ objektno orijentirani jezik, ali također podržava neke od konvencionalnih primitivnih tipova. C ++ je izveden iz C jezika i drži svojstva "blizu problema" kao i svojstva "blizu stroja" koja su zadržana u C jeziku.
Sintaksa C + + podsjeća na C jezik, ali je potpuno drugačija u odnosu na C #. On je fleksibilan i usredotočen na učinkovitost i dosljednu semantiku.
Postoji nekoliko značajki C + + koje se odbacuju u C #, na primjer, korištenje makronaredbi, višestruko nasljeđivanje, pokazivači, predlošci, typedef izjava, globalne varijable, konstantne funkcije člana ili parametri, zadani argumenti, proslijeđena deklaracija klasa.
Značajke C ++-a
- Prenosivost : Kada usporedimo C ++ prenosivost sa C #, kod se može pokrenuti na stroju koji pokreće izvorni OS, ali to nije slučaj u C #.
- Ovisnost o platformi : C ++ je jezik ovisan o platformi gdje se programi pisani u OS ne mogu izvršiti u različitim OS-ima.
- Slučaj osjetljiv na velika i mala slova obrađuju se na različit način.
- Kompajler-based : C ++ je rekao da se kompajlirati jezik jer ne izvršava bilo koji od koda bez kompilacije.
- Na temelju sintakse : strogo se poštuju pravila programskog jezika.
- Pokazivači : Za razliku od C #, C ++ dopušta korištenje pokazivača.
Ključne razlike između C # i C ++
- C # kod je najprije sastavljen u CLR (Common Language Runtime) koji se zatim interpretira u .NET okviru. Naprotiv, C ++ kompajlira kod izravno u strojni kod.
- Kako se C # izvršava na virtualnom stroju koji se automatski bavi upravljanjem memorijom. Isto tako, C ++ ručno organizira memoriju.
- C ++ dopušta korištenje pokazivača, dok je u C # manje vjerojatno da će se koristiti pokazivači, umjesto toga se prakticiraju nesigurne klase.
- C # se uglavnom koristi u Windows okruženju. Nasuprot tome, C ++ je dizajniran za Unix sustav, ali sada se može koristiti s bilo kojom platformom.
- Primjena C # uključuje web-bazirane, stolne i mobilne aplikacije. Nasuprot tome, jedina svrha C ++-a je stvoriti samostalne konzolne aplikacije.
- C ++ kod je brži jer ne koristi teške knjižnice. S druge strane, C # je sporiji jer proizvodi režijske troškove i koristi teške knjižnice poput jave.
Zaključak
C + + se prvenstveno koristi kada je izvedba glavna briga programera, dok u C # čak i početnici mogu razviti bilo koju web-baziranu, mobilnu i desktop aplikaciju s lakoćom. C # je jednostavan za učenje i zaštićeni jezik u smislu nanošenja štete OS-u, as druge strane, C + + je otvoreniji i dopušta programeru da učini bilo što s ponuđenom sintaksom.