Постоји много разлика и сличности између Ц++ програмирање језик и Јава . Листа главних разлика између Ц++ и Јава је дата у наставку:
Индекс поређења | Ц++ | Јава |
---|---|---|
Независно од платформе | Ц++ зависи од платформе. | Јава је независна од платформе. |
Углавном се користи за | Ц++ се углавном користи за системско програмирање. | Јава се углавном користи за програмирање апликација. Широко се користи у Виндовс-базираним, веб-базираним, пословним и мобилним апликацијама. |
Циљ дизајна | Ц++ је дизајниран за програмирање система и апликација. То је био продужетак Ц програмски језик . | Јава је дизајнирана и креирана као тумач за системе за штампање, али је касније проширена као подршка мрежном рачунарству. Дизајниран је да буде једноставан за коришћење и доступан широј публици. |
Иди на | Ц++ подржава наредбу гото. | Јава не подржава наредбу гото. |
Вишеструко наслеђе | Ц++ подржава вишеструко наслеђивање. | Јава не подржава вишеструко наслеђивање кроз класу. То се може постићи коришћењем интерфејси у јава . |
Преоптерећење оператера | Ц++ подржава преоптерећење оператера . | Јава не подржава преоптерећење оператора. |
Поинтерс | Ц++ подржава показиваче. Можете написати програм показивача у Ц++. | Јава интерно подржава показивач. Међутим, не можете написати програм показивача у Јави. То значи да Јава има ограничену подршку за показиваче у Јави. |
Компајлер и тумач | Ц++ користи само компајлер. Ц++ се компајлира и покреће помоћу компајлера који претвара изворни код у машински код, тако да Ц++ зависи од платформе. | Јава користи и компајлер и интерпретер. Јава изворни код се конвертује у бајт код у време компилације. Интерпретатор извршава овај бајт код у току рада и производи излаз. Јава се тумачи зато је независна од платформе. |
Позовите по вредности и Позовите по референци | Ц++ подржава и позив по вредности и позив по референци. | Јава подржава само позив по вредности. У Јави не постоји позив по референци. |
Структура и Унија | Ц++ подржава структуре и синдикате. | Јава не подржава структуре и синдикате. |
Тхреад Суппорт | Ц++ нема уграђену подршку за нити. Ослања се на библиотеке трећих страна за подршку нити. | Јава има уграђен конац подршка. |
Коментар документације | Ц++ не подржава коментаре документације. | Јава подржава документациони коментар (/** ... */) за креирање документације за јава изворни код. |
Виртуелна кључна реч | Ц++ подржава виртуелну кључну реч тако да можемо да одлучимо да ли да заменимо функцију или не. | Јава нема виртуелну кључну реч. Подразумевано можемо заменити све нестатичке методе. Другим речима, нестатичке методе су подразумевано виртуелне. |
непотписани десни помак >>> | Ц++ не подржава оператор >>>. | Јава подржава непотписани оператор померања удесно >>> који попуњава нулу на врху за негативне бројеве. За позитивне бројеве, функционише исто као оператор >>. |
Дрво наслеђа | Ц++ увек креира ново стабло наслеђа. | Јава увек користи једно стабло наслеђивања јер су све класе потомци класе Објецт у Јави. Класа Објецт је корен наслеђе дрво у Јави. |
Хардвер | Ц++ је ближи хардверу. | Јава није толико интерактивна са хардвером. |
Објектно оријентисан | Ц++ је објектно оријентисан језик. Међутим, у језику Ц није могућа јединствена хијерархија корена. | Јава је такође објектно оријентисан Језик. Међутим, све (осим основних типова) је објекат у Јави. То је хијерархија једног корена јер се све изводи из јава.ланг.Објецт. |
Белешка
- Јава не подржава подразумеване аргументе као што је Ц++.
- Јава не подржава датотеке заглавља као што је Ц++. Јава користи кључну реч импорт да укључи различите класе и методе.
Пример Ц++ програма
Фајл: маин.цпп
разлика између низа и листе низова
#include using namespace std; int main() { cout << 'Hello C++ Programming'; return 0; }
Излаз:
Hello C++ Programming
Пример Јава програма
Фајл: Симпле.јава
class Simple{ public static void main(String args[]){ System.out.println('Hello Java'); } }
Излаз:
Hello Java