Что такое язык 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 ++ | Ява |
---|---|---|
отношения | Нет строгой связи между именами классов и именами файлов. В 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.