Erinevus C++ ja Java

Peamine erinevus C++ ja Java

  • C++ kasutab ainult kompilaatorit, kusjuures Java kasutab nii kompilaatorit kui ka interpretaatorit.
  • C++ toetab nii operaatori รผlekoormust kui ka meetodi รผlekoormamist Java toetab ainult meetodi รผlekoormamist.
  • C++ toetab kรคsitsi objektide haldamist uute ja kustutatavate mรคrksรตnade abil Java on sisseehitatud automaatne prรผgivedu.
  • C++ toetab struktuure, kusjuures Java ei toeta struktuure.
  • C++ toetab ametiรผhinguid samal ajal Java ei toeta ametiรผhinguid.

  • C++ Vs Java
    C++ Vs Java

Mis on C++ keel?

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 Java keel?

Java on Sun Microsystemsi poolt vรคlja tรถรถtatud programmeerimiskeel. Selle keele tรถรถtas vรคlja vรคike tarkvaraarenduse meeskond. Neid tunti rohelise meeskonnana, kes algatas Java keel 1991. aastal.

Ajalugu C++

C++ keele tรถรถtas vรคlja Bjarne Stroustrup AT & T Bell Laboratoriesis. Stroustrup oli C tugev toetaja ja Simula67 austaja. 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++.

Ajalugu Java

. Java keelt nimetati algselt TAMMiks. Algselt tรถรถtati see vรคlja seadmete ja digibokside kรคsitsemiseks. Tamm oli tohutu lรคbikukkumine. Nii muutis Sun 1995. aastal nime uueks Java ja muutis keelt, et kasutada รคra kasvavat World Wide Web arendusรคri.

Later, 2009. aastal, Oracle Corporation omandas Sun Microsystemsi ja vรตttis omanduseks kaks peamist Suni tarkvaravara: Java ja Solaris.

Erinevus C++ ja Java

Parameeter C++ Java
Suhe Klassinimede ja failinimede vahel puudub range seos. sisse C++, pรคisefaile ja rakendusfaile kasutatakse konkreetse klassi jaoks. Range seos on jรตustatud, nt klassi PayRoll lรคhtekood peab olema PayRoll.java.
Sisendmehhanism I/O-laused kasutavad in ja cout, nt in ยป x; coutยซ y; I/O sisendmehhanism on รผsna keeruline, kuna see loeb รผhe baiti korraga (System.in). Vรคljund on lihtne, nt System.out.println(x);
Koostaja ja tรตlk C++ ainult tugikompilaator Java toetab nii kompilaatorit kui ka tรตlgendajat
รœhilduvus teiste keeltega รœhildub C lรคhtekoodiga, vรคlja arvatud mรตned erandjuhud. Tagasiรผhilduvus รผhegi varasema keelega puudub. Sรผntaksit mรตjutab C/C++.
Juurdepรครคsu kontroll ja objektide kaitse Saadaval on pideva kaitsega paindlik mudel Tรผlikas mudel soodustab nรตrka kapseldamist.
Mรตiste Kirjutage รผks kord kompileerige รผkskรตik kuhu Kirjuta รผks kord jookse kรตikjal kรตikjal
Programmeerimistรผรผbi tugi Vรตimaldab nii protseduurilist programmeerimist kui ka objektorienteeritud programmeerimist. Toetage objektorienteeritud programmeerimismudelit.
Interface Vรตimaldab otsekรตnesid algsรผsteemi teekidesse. Helistage ainult lรคbi Java Native Interface ja hiljuti Java Native Access
Mรคlu haldamine Juurdepรครคs programmeerijale Sรผsteem kontrollitud
Juurhierarhia C++ sellist juurhierarhiat pole. C++ toetab nii protseduurilist kui objektorienteeritud programmeerimist; seetรตttu nimetatakse seda hรผbriidkeeleks. Java on puhas objektorienteeritud programmeerimiskeel. See on. Miks See jรคrgib รผhe juure hierarhiat.
parimad omadused C++ toetab objektorienteeritud funktsioone Protseduurilised programmeerimisfunktsioonid. Java toetada automaatset prรผgikoristust. See ei toeta hรคvitajaid nagu C++ teeb.
Goto avaldus C++ on goto avaldus. Kuigi pole ideaalne kasutada lauset goto. Java tal puudub avaldus. Mรคrksรตnad said ja const on reserveeritud isegi siis, kui neid ei kasutata.
Mitmekordne pรคrand C++ pakkuda mitut pรคrandit. Mรคrksรตna virtual kasutatakse probleemide lahendamiseks mitmikpรคrimise ajal, kui neid on. Java ei anna mitmekordset pรคrandit.
Ulatuse eraldusvรตime operaator C++ on ulatuse eraldusvรตime operaator (: :) mida kasutatakse meetodi mรครคratlemiseks vรคljaspool klassi ja globaalsele muutujale juurdepรครคsu saamiseks ulatuses, kus on olemas ka sama nimega kohalik muutuja. Puudub ulatuse eraldusvรตime operaator (: :) in Java. Meetodi mรครคratlused peavad esinema klassi sees, seega pole vaja ulatuse lahutust.
Toetav meetod C++ toetab nii meetodi รผlekoormust kui ka operaatori รผlekoormust Java toetab ainult meetodi รผlekoormamist. See ei toeta operaatori รผlekoormamist.
Kaasaskantavus Allikas tuleb platvormi jaoks uuesti kompileerida; seega kood pole kaasaskantav. Baitkoodi klassid on รผlekantavad platvormipรตhistele JVM-idele.
Tรผรผbisemantika Kooskรตla primitiivsete ja objektitรผรผpide vahel. Erinevad primitiivsete ja objektitรผรผpide puhul.
Raamatukogud Valdavalt madala funktsionaalsusega Massiivsed klassid kรตrgetasemeliste teenuste jaoks.
Kรคitusaja vigade tuvastamine Programmeerija vastutus. Sรผsteemi vastutus.
Funktsioonid ja andmed Funktsioonid ja andmed vรตivad eksisteerida vรคljaspool mis tahes klassi, saadaval on globaalsed ja nimeruumi ulatused. Kรตik funktsioonid ja andmed on klassides olemas; paketi ulatus on saadaval.
Platvorm C++ programmid sรตltuvad platvormist. Need tuleb koostada konkreetse platvormi jaoks. Java programmid on platvormist sรตltumatud. Java programmid on kirjutatud Java Virtuaalmasin (JVM). See tรถรถtab ilma uuesti kompileerimist vajamata.
Kรคitusaja vigade tuvastamine In C++, Programmeerija vastutab vigade kontrollimise eest. Sรผsteem vastutab programmi vigade kontrollimise eest.
Pointer C++ tugiosutid. Java pakub osutajatele vaid piiratud tuge.
struktuur See toetab struktuure. See ei toeta struktuure.
Ametiรผhingud C++ toetab ametiรผhinguid. Java ei toeta ametiรผhinguid.
Objekti haldamine C++ toetab kรคsitsi objektide haldamist uute ja kustutatavate mรคrksรตnade abil. Java on raske, sรตltub automaatsest prรผgikorjamisest. See ei toeta hรคvitajaid.

Vรตta see postitus kokku jรคrgmiselt: