Sammenligningstabel
Grundlag for sammenligning | C # | C ++ |
---|---|---|
Kompileret i | CLR | Maskinkode |
Hukommelsen styres | automatisk | manuelt |
Brug af pegepinde | Ikke tilladt | Tilladt |
Ansat på | Windows platform mest | Enhver platform |
Applikationer | Console, Windows, ASP.NET og mobil applikation. | Standalone konsol ansøgning. |
Coding | Formålet med Windows OS. | Er gjort for enhver platform. |
Hastighed | Langsommere | Hurtigere, da det er letvægtssprog. |
Definition af C #
Programmeringssproget C # er et objektorienteret programmeringssprog, der er direkte relateret til sin forgænger C ++ og C. Det blev udviklet af Anders Hejlsberg i år 2000. Hovedformålet med at skabe C # er at overvinde begrænsningerne i java, selvom det har udviklet sig gennem C. Da java ikke havde interoperabilitet på tværs af sprog, med andre ord, kunne Java ikke køre et program skrevet på et programmeringssprog med programmerne, der blev genereret på andre programmeringssprog. For det andet giver Java ikke fuld integration med Windows-platformen.
Java har altid været et modersmål for C #. C # er standardsproget på .NET-platformen, der bruger CLI (Common Language Interface) -miljøet til at gøre programmerne bærbare.
C # indebærer funktioner som automatisk affaldssamling, type sikkerhed, versioning support, delegerede og begivenheder, web-tjenester, boksning og unboxing og tilgængelighed af data medlemmer.
Karakteristika for C #
- Enkelhed : C # er enkel i forhold til brug af operatører, og det adskiller helt den boolske og heltal datatype.
- Kompatibilitet : C # giver interoperation inden for .NET platforms sprog ved at håndhæve de fælles sprogspecifikationer.
- Konsistens : Et integreret typesystem understøttes af C # for at fjerne problemet med variable områder af heltalstyper. Det betragter alle typer som objekter.
- Objektorienteret : Det er helt objektorienteret, hvor alt er et objekt i stedet for globale funktioner, variabler og konstanter.
- Typesikkerhed : Den indeholder flere typer sikre forhold som dynamisk tildelte objekter, og arrayer initialiseres til nul, brug af uninitialiserede variabler er ikke tilladt, automatisk rækkevidde kontrol af arrayerne, usikre casts er ikke tilladt, overløbskontrol osv.
- Versioner : Aktiver ny version af softwaremodulerne for at være kompatibel med de allerede eksisterende applikationer.
- Fleksibilitet : Pointers understøttes dog ikke af C #, men i modsætning hertil kan usikre klasser og metoder bruges.
- Interoperabilitet : C # bruger COM-objekter og laver et program til at ringe til nogen indfødt API.
Definition af C ++
C ++ programmeringssproget blev fremkaldt i 1980'erne på AT & T Bell Laboratories af Bjarne Stroustrup. Denne version blev oprindeligt kendt som "C med klasser", da C ++ er objektorienteret sprog, men understøtter også nogle af de konventionelle primitive typer. C ++ blev afledt fra C-sprog og holde fast i "tæt på problemet" egenskaber såvel som "tæt på maskinen" egenskaber, som beholdes af C-sprog.
Syntetikken af C ++ ligner C-sproget, men er helt anderledes end C #. Det er fleksibelt og fokuserer på runtime effektivitet og konsekvent semantik.
Der er flere funktioner i C ++, der kasseres i C #, for eksempel brug af makroer, flere arv, peger, skabeloner, typedef statement, globale variabler, konstante medlemsfunktioner eller parametre, standardargumenter, videresendt klasseserklæring.
Karakteristik af C ++
- Bærbarhed : Når vi sammenligner C ++-portabilitet med C #, kan koden køres på maskinen, der kører det native OS, men det er ikke tilfældet i C #.
- Platformafhængighed : C ++ er platformafhængigt sprog, hvor de programmer, der er skrevet i et OS, ikke kan udføres i de forskellige operativsystemer.
- Tilfældefølsom : De store og små bogstaver håndteres på en særskilt måde.
- Compiler-baseret : C ++ siges at være kompileret sprog, fordi det ikke udfører nogen af koden uden kompilering.
- Syntaksbaseret : Programmeringssprogets regler følges nøje.
- Peger : I modsætning til C # tillader C + + brugen af peger.
Nøgleforskelle mellem C # og C ++
- C # -koden er først kompileret til CLR (Common Language Runtime), som derefter tolkes af .NET-rammen. Tværtimod compilerer C ++ koden direkte i maskinens kode.
- Som C # udføres på den virtuelle maskine, der automatisk beskæftiger sig med hukommelsesstyringen. Omvendt organiserer C ++ manuelt hukommelsen.
- C + + tillader brug af peger, mens i C # pegerne er mindre tilbøjelige til at blive brugt, i stedet praktiseres usikre klasser.
- C # bruges stort set i Windows-miljøet. Modsat blev C ++ designet til Unix-baserede system, men kan nu bruges til enhver platform.
- Anvendelsen af C # indebærer web-baserede, desktop og mobile applikationer. I modsætning hertil er det eneste formål med C ++ at skabe stand-alone konsol applikationer.
- C ++-koden er hurtigere, da den ikke bruger tunge biblioteker. På den anden side er C # langsommere, da det producerer overhead og bruger tunge biblioteker som java.
Konklusion
C ++ bruges primært, når ydeevnen er programmørens største bekymring, mens i C # selv begyndere kan udvikle enhver webbaseret, mobil og desktop applikation med lethed. C # er let at lære og et beskyttet sprog med hensyn til at forårsage skade på operativsystemet, på den anden side er C ++ mere åben og tillader programmereren at gøre noget med den medfølgende syntax.