C# vs C++: Erinevus nende vahel
Peamised erinevused C# ja C++
- C++ on madala taseme programmeerimiskeel, mis lisab oma põhikeelele C objektorienteeritud funktsioone, samas kui C# on kõrgetasemeline keel.
- C++ kompileerib masinkoodiks, samas kui C# "kompileerib" CLR-iks (Common Language Runtime), mida JIT tõlgendab ASP.NET-is.
- C++ on objektorienteeritud keel, samas kui C# peetakse komponendile orienteeritud programmeerimiskeeleks.
- In C++ peate mälu haldama käsitsi, samas kui C# töötab virtuaalmasinas, mis teostab mäluhaldust automaatselt.
- In C++ arendus peaks järgima mis tahes spetsiifilist arhitektuuri ja olema kaasaskantav, samas kui C# arendus peaks olema lihtne, modemne, üldotstarbeline objektorienteeritud programmeerimiskeel.
Mis on C++?
C++ on arvutiprogrammeerimiskeel, mis sisaldab nii C programmeerimiskeele kui ka Simula67 (esimene objektorienteeritud keel) funktsiooni. C++ tutvustas klassi ja objektide mõistet.
See sisaldab kõrge ja madala taseme keelefunktsioone. Seega nähakse seda kesktaseme keelena. Varem nimetati seda "C-ks klassidega", kuna sellel olid kõik C-keele omadused.
Mis on C#?
C-Sharp on objektorienteeritud programmeerimiskeel, mille on välja töötanud Microsoft mis töötab .Net Frameworkis. Sellel on sellised funktsioonid nagu tugev tippimine, kohustuslik, deklaratiivne, objektorienteeritud (klassipõhine) ja komponentidele orienteeritud programmeerimine. Selle töötas välja Microsoft .NET platvormi sees.
Nimi “C sharp” oli inspireeritud noodikirjadest. Siin tähistab sümbol #, et kirjutatud noot tuleb teha pooltooni võrra kõrgemalt.
Ajalugu C++
C++ keele töötas välja Bjarne Stroustrup AT & T Bell Laboratoriesis. Stroustrup oli C an Simula67 austaja tugev toetaja. Ta tahtis ühendada mõlema keele parimad omadused. Tema eesmärk oli luua keel, mis toetab objektorienteeritud programmeerimise funktsioone ja säilitab endiselt C võimsuse. C++.
C# ajalugu
Anders Hejlsberg on C# keele arendamise peamine panustaja. 1999. aastal moodustas ta meeskonna, et töötada välja uus keel, mille nimi oli siis "Cool". Projekt kiideti heaks ja kuulutati välja juulis 2000 .Neti arendajate konverentsil. Hiljem nimetati keel ümber C#-ks.
Põhimõtted C++ areng
- Programm peaks olema lihtne, objektorienteeritud ja kergesti mõistetav
- Arendus peaks toimuma tugevas ja turvalises keskkonnas.
- Kood peaks järgima konkreetset arhitektuuri ja olema kaasaskantav.
- Kood peaks olema kergesti tõlgendatav ja dünaamiline
C# arendamise põhimõtted
- See peaks olema lihtne, modemne, üldotstarbeline, objektorienteeritud programmeerimiskeel.
- Keel ja rakendused peaksid toetama tarkvaraarendus põhimõtted
- C# on ideaalne valik rakenduste loomiseks nii hostitud kui ka manustatud süsteemide jaoks.
Nüüd selles C# vs C++ õpetus, mõistame peamisi erinevusi C Sharpi ja C Sharpi vahel C++.
Parameeter | C++ | C# |
---|---|---|
Keele tüüp | C++ on madala taseme ja platvormineutraalne programmeerimiskeel. | C# on kõrgetasemeline keel. |
Kompileerimine | C++ kompileerib masinkoodiks | C# "kompileerib" kuni CLR-i (Common Language Runtime), mida JIT tõlgendab ASP.NET-is |
Mälu haldamine | In C++, peate objekti dünaamiliselt eraldades mälu käsitsi haldama. | C# käivitab mäluhalduse automaatselt |
Mitu pärandit | C++ toetada mitut pärandit | C# ei toeta mitut pärandit. |
Raskusaste | C++ sisaldab keerukamaid funktsioone. | C#-l pole keerulisi funktsioone. Sellel on lihtne hierarhia ja seda on üsna lihtne mõista. |
Vaikimisi juurdepääsu täpsustaja | Avalik sisse C++ Struktuuri jaoks. Privaatne tundide jaoks | Privaatne C# .net-is. |
Platvorm | C++ on keel, mis töötab kõikvõimalikel platvormidel. See on võrdselt populaarne ka Unixi ja Linuxi süsteemides. | Kuigi C# on standarditud, on seda harva näha väljaspool aknaid. |
Eraldiseisvad rakendused | C++ saab luua iseseisvaid rakendusi. | C# ei saa teha iseseisvat rakendust. |
Objektile orienteeritud | C++ ei ole täielik objektorienteeritud keel. | C# on puhas objektorienteeritud keel. |
Seotud kontroll | Ei toeta massiivide seotud kontrollimist. | Toetab massiivide seotud kontrolli. |
Prügikogu | C++ ei toeta prügivedu. | C# toetab prügivedu. |
Mitmekordne pärand | C++ toetab mitut pärandit. | C# ei paku mitme klassi pärimist. |
Foreach Loop | Vanem versioon C++ ei toeta iga silmust. (vahemikupõhine sisselülitamiseks C++ on lisatud alates C++ 11) | C# toetab iga ahela jaoks. |
Osutajate kasutamine | Osutajaid saate kasutada kõikjal programmis. | Kursorit saate kasutada ainult ebaturvalises režiimis. |
Kasutatakse | Kasutatakse laialdaselt mängudes. | Loomiseks saab kasutada C# programmeerimist Windows, mobiili- ja konsoolirakendused. |
Binaarfailide suurus | C++ on palju kergem. | C#-l on palju üldkulusid ja raamatukogud tuleks lisada enne selle kompileerimist. |
Projektide tüüp | C++ programmeerijad keskenduvad üldiselt rakendustele, mis töötavad otse riistvaraga või vajavad paremat jõudlust kui teised keeled suudavad pakkuda. | C# kasutatakse tänapäevaste rakenduste arendamiseks. |
Kompilaatori hoiatused | C++ võimaldab teil teha peaaegu kõike, kui süntaks on õige. Seetõttu on see paindlik keel, kuid võite OS-i töötamist tõsiselt kahjustada. | C# on kõrgelt kaitstud. kuna kompilaator viskab vigu ja hoiatusi juhuks, kui kirjutate kogemata koodi, mis võib kahjustada. |
Koostamise tulemus | Pärast koostamist, C++ kood teisendatakse masinkoodiks. | Pärast kompileerimist teisendatakse C# kood vahepealseks keelekoodiks. |
Lüliti avaldus | In C++ Switch Statement, testmuutuja ei saa olla string. | C# lüliti avalduses võib, kuid ei pruugi olla string. |