Учебники

67) C ++ против JAVA

Что такое язык C ++?

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

Он инкапсулирует возможности языка высокого и низкого уровня. Таким образом, это рассматривается как язык промежуточного уровня. Ранее он назывался «C с классами», поскольку имел все свойства языка C.

Что такое язык Java?

Java – это язык программирования, разработанный Sun Microsystems. Небольшая команда разработчиков программного обеспечения разработала этот язык. Они были известны как Зеленая Команда, которая начала язык Java в 1991 году.

История C ++

Язык C ++ был разработан Бьярном Страуструпом в AT & T Bell Laboratories. Страуструп был сильным сторонником Си и поклонником Simula67. Он хотел объединить лучшее из обоих языков. Он стремился создать язык, который поддерживает функции объектно-ориентированного программирования и при этом сохраняет силу C. Это привело к созданию C ++.

История Явы

Язык Java изначально назывался OAK. Первоначально он был разработан для обработки устройств и телевизионных приставок. Дуб был массовым провалом. Таким образом, в 1995 году Sun изменила название на Java и изменила язык, чтобы воспользоваться преимуществами растущего бизнеса по разработке всемирной паутины.

Позже, в 2009 году, корпорация Oracle приобрела Sun Microsystems и стала владельцем двух ключевых программных активов Sun: Java и Solaris.

C ++ против Java

Разница между C ++ и Java

параметр C ++ Ява
отношения Нет строгой связи между именами классов и именами файлов. В C ++ заголовочные файлы и файлы реализации используются для определенного класса. Строгие отношения обязательны, например, исходный код для класса PayRoll должен быть в PayRoll.java.
Механизм ввода Операторы ввода / вывода используют in и cout, например, в »x; кут «у; Механизм ввода / вывода довольно сложен, поскольку он читает по одному байту за раз (System.in). Вывод прост, например, System.out.println (x);
Компилятор и интерпретатор C ++ поддерживает только компилятор Java поддерживает как компилятор, так и интерпретатор
Совместимость с другими языками Совместим с исходным кодом C, за исключением некоторых исключительных случаев. Нет обратной совместимости с любым предыдущим языком. Синтаксис находится под влиянием C / C ++.
Контроль доступа и защита объекта Гибкая модель с постоянной защитой Громоздкая модель способствует слабой инкапсуляции.
концепция Напишите один раз, скомпилируйте где угодно Напиши один раз, беги куда угодно
Поддержка типа программирования Позволяет как процедурное программирование, так и объектно-ориентированное программирование. Поддержка объектно-ориентированной модели программирования.
Интерфейс Позволяет прямые звонки в родные системные библиотеки. Звоните только через собственный интерфейс Java и недавно собственный доступ к Java
Управление памятью Доступно для программиста Система контролируется
Корневая иерархия В C ++ такой корневой иерархии нет. C ++ поддерживает как процедурное, так и объектно-ориентированное программирование; поэтому он называется гибридным языком. Java – это чисто объектно-ориентированный язык программирования. Это. Почему следует единой корневой иерархии.
Лучшие черты C ++ поддерживает объектно-ориентированные функции Функции процедурного программирования. Java поддерживает автоматическую сборку мусора. Он не поддерживает деструкторы, как в C ++.
Перейти к заявлению C ++ имеет оператор goto. Хотя, это не идеально для использования оператора goto. У Java нет оператора goto. Ключевые слова получили, и const зарезервированы, даже если они не используются.
Множественное наследование C ++ обеспечивает множественное наследование. Ключевое слово virtual используется для разрешения проблем во время множественного наследования, если оно есть. Java не обеспечивает множественное наследование.
Оператор разрешения области C ++ имеет оператор разрешения области видимости (: :), который используется для определения метода вне класса и для доступа к глобальной переменной внутри области действия, где также существует локальная переменная с тем же именем. Нет оператора разрешения области видимости (: 🙂 в Java. Определения методов должны происходить внутри класса, поэтому нет необходимости в разрешении области.
Метод поддержки C ++ поддерживает как перегрузку методов, так и перегрузку операторов Java поддерживает только перегрузку методов. Он не обеспечивает поддержку перегрузки оператора.
портативность Источник должен быть перекомпилирован для платформы; следовательно, код не является переносимым. Bytecode classes are transferrable to platform-specific JVM’s.
Type semantics Consistent between primitive and object types. Differ for primitive and object types.
Libraries Predominantly low-level functionality Massive, classes for high-level services.
Runtime error detection Programmer responsibility. System Responsibility.
Functions & Data Functions and data may exist external to any class, global and namespace scopes are available. All function and data exist within classes; package scope are available.
Platform C++ programs are platform dependent. They need to be compiled for a particular platform. Java programs are platform independent. Java programs are written for Java Virtual Machine (JVM). It will run without needing recompilation.
Runtime error detection In C++, It is Programmer responsibility to check the errors. It is system responsibility to check error in the program.
Pointer C++ support pointers. Java offers only limited support for pointers.
Structure It supports structures. It does not any support for structures.
Unions C++ supports unions. Java does not support unions.
Object management C++ supports manual object management with the help of new and delete keywords. Java is heavy depend on automatic garbage collection. It does not support destructors.

KEY DIFFERENCE:

  • C++ uses only compiler, whereas Java uses compiler and interpreter both.
  • C++ supports both operator overloading & method overloading whereas Java only supports method overloading.
  • C++ supports manual object management with the help of new and delete keywords whereas Java has built-in automatic garbage collection.
  • C++ supports structures whereas Java doesn’t supports structures.
  • C++ supports unions while Java doesn’t support unions.