Разлика между C++ намлява Java

Ключова разлика между C++ намлява Java

  • C++ използва само компилатор, докато Java използва и компилатор, и интерпретатор.
  • C++ поддържа както претоварване на оператор, така и претоварване на метод, докато Java поддържа само претоварване на метод.
  • C++ поддържа ръчно управление на обекти с помощта на нови и изтрити ключови думи, докато Java има вградено автоматично събиране на боклука.
  • C++ поддържа конструкции, докато Java не поддържа конструкции.
  • C++ подкрепя синдикатите, докато Java не подкрепя синдикатите.

  • C++ Vs Java
    C++ Vs Java

Каква е C++ език?

C++ е език за компютърно програмиране, който съдържа функцията на езика за програмиране C, както и Simula67 (първия обектно-ориентиран език). C++ въведе концепцията за клас и обекти.

Той капсулира езикови характеристики на високо и ниско ниво. Така че той се разглежда като език на средно ниво. По-рано се наричаше „C с класове“, тъй като имаше всички свойства на езика C.

Каква е Java език?

Java е език за програмиране, разработен от Sun Microsystems. Малък екип за разработка на софтуер разработи този език. Те бяха известни като Зеления отбор, който инициира Java език през 1991 г.

Историята на C++

C++ езикът е разработен от Bjarne Stroustrup в AT & T Bell Laboratories. Страуструп беше силен поддръжник на C и почитател на Simula67. Искаше да съчетае най-доброто от двата езика. Той имаше за цел да създаде език, който поддържа обектно-ориентирани функции за програмиране и все още запазва силата на C. Това доведе до C++.

Историята на Java

- Java език първоначално се нарича OAK. Първоначално е разработен за работа с устройства и декодери. Oak беше огромен провал. Така през 1995 г. Sun промени името на Java и промени езика, за да се възползва от процъфтяващия бизнес за разработка на World Wide Web.

Later, през 2009г. Oracle Corporation придоби Sun Microsystems и пое собствеността върху два ключови софтуерни актива на Sun: Java намлява Solaris.

Разлика между C++ намлява Java

Параметър C++ Java
Връзка Няма строга връзка между имената на класовете и имената на файловете. в C++, заглавните файлове и файловете за изпълнение се използват за конкретен клас. Налага се строга връзка, например изходният код за класа PayRoll трябва да бъде в PayRoll.java.
Входен механизъм I/O изрази използват in и cout, напр. in » x; cout« y; I/O входен механизъм е доста сложен, тъй като чете един байт наведнъж (System.in). Извеждането е лесно, напр. System.out.println(x);
Компилатор и интерпретатор C++ поддържа само компилатор Java поддържа както компилатор, така и интерпретатор
Съвместимост с други езици Съвместим с изходния код на C, с изключение на някои изключителни случаи. Няма обратна съвместимост с предишен език. Синтаксисът е повлиян от C/C++.
Контрол на достъп и охрана на обекти Гъвкав модел с налична постоянна защита Тромавият модел насърчава слабото капсулиране.
Понятие Пишете веднъж компилирайте навсякъде Пишете веднъж, бягайте навсякъде навсякъде
Поддръжка за тип програмиране Позволява както процедурно програмиране, така и обектно-ориентирано програмиране. Поддържа обектно-ориентиран модел на програмиране.
Interface Позволява директни повиквания към собствени системни библиотеки. Обаждайте се само през Java Роден интерфейс и наскоро Java Вроден достъп
Управление на паметта Достъпен за програмист Контролирана система
Коренна йерархия C++ няма такава коренна йерархия. C++ поддържа както процедурно, така и обектно-ориентирано програмиране; затова се нарича хибриден език. Java е чист обектно-ориентиран език за програмиране. Това е. Защо следва йерархия с един корен.
Най-добрите функции C++ поддържа обектно-ориентирани функции Функции за процедурно програмиране. Java поддържа автоматично събиране на боклука. Не поддържа деструктори като C++ прави.
Изявление Goto C++ има оператор goto. Въпреки това, не е идеално да използвате оператор goto. Java няма оператор goto. Ключовите думи got и const са запазени дори и да не се използват.
Множествено наследяване C++ осигурете множествено наследяване. Ключовата дума virtual се използва за разрешаване на проблеми по време на множествено наследяване, ако има такива. Java не осигурява множествено наследяване.
Оператор за разрешаване на обхват C++ има оператор за разрешаване на обхват (: :) който се използва за дефиниране на метод извън клас и за достъп до глобална променлива в рамките на обхвата, където съществува и локална променлива със същото име. Няма оператор за разрешаване на обхват (: :) in Java. Дефинициите на метода трябва да се появят в клас, така че няма нужда от разрешаване на обхват.
Поддържащ метод C++ поддържа както претоварване на метод, така и претоварване на оператор Java поддържа само претоварване на метод. Не осигурява поддръжка за претоварване на оператора.
Преносимост Изходният код трябва да бъде прекомпилиран за платформата; следователно кодът не е преносим. Класовете на байт код могат да се прехвърлят към специфични за платформата JVM.
Семантика на типа Съгласуваност между примитивни и обектни типове. Разлика за примитивни и обектни типове.
Библиотеки Предимно функционалност на ниско ниво Масови, класове за услуги на високо ниво.
Откриване на грешки по време на изпълнение Отговорност на програмиста. Отговорност на системата.
Функции и данни Функциите и данните могат да съществуват извън всеки клас, налични са глобални обхвати и обхвати на пространство от имена. Всички функции и данни съществуват в класове; обхватът на пакета е наличен.
платформа C++ програмите зависят от платформата. Те трябва да бъдат компилирани за определена платформа. Java програмите са независими от платформата. Java са написани програми за Java Виртуална машина (JVM). Ще работи без нужда от повторно компилиране.
Откриване на грешки по време на изпълнение In C++, Отговорност на програмиста е да проверява грешките. Отговорност на системата е да проверява грешката в програмата.
Показалка C++ опорни указатели. Java предлага само ограничена поддръжка за указатели.
структура Поддържа конструкции. Не поддържа никаква поддръжка за структури.
Синдикатите C++ подкрепя синдикатите. Java не подкрепя синдикатите.
Управление на обекти C++ поддържа ръчно управление на обекти с помощта на нови и изтрити ключови думи. Java е тежко зависи от автоматичното събиране на боклука. Не поддържа деструктори.