Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Industrial programming >> java

C++ против JAVA:в чем разница?

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

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

Он инкапсулирует функции языка высокого и низкого уровня. Таким образом, он рассматривается как язык среднего уровня. Раньше он назывался «Си с классами», так как обладал всеми свойствами языка Си.

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

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

История C++

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

История Java

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

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

КЛЮЧЕВОЕ ОТЛИЧИЕ:

<центр>

<рисунок>

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

Параметр С++ Ява
Отношения Нет строгой связи между именами классов и именами файлов. В C++ заголовочные файлы и файлы реализации используются для определенного класса. Применяется строгая взаимосвязь, например, исходный код класса PayRoll должен находиться в PayRoll.java.
Механизм ввода Операторы ввода/вывода используют in и cout, например, in » x; cout« у; Механизм ввода-вывода довольно сложен, так как он считывает по одному байту за раз (System.in). Вывод прост, например. System.out.println(x);
Компилятор и интерпретатор С++ поддерживает только компилятор Java поддерживает как компилятор, так и интерпретатор
Совместимость с другими языками Совместим с исходным кодом C, за исключением некоторых исключительных случаев. Нет обратной совместимости с любым предыдущим языком. На синтаксис повлияли C/C++.
Контроль доступа и защита объектов Доступна гибкая модель с постоянной защитой Громоздкая модель поощряет слабую инкапсуляцию.
Концепция Написать один раз, скомпилировать где угодно Пишите один раз запускайте везде и везде
Поддержка типа программирования Допускает как процедурное, так и объектно-ориентированное программирование. Поддержка объектно-ориентированной модели программирования.
Интерфейс Разрешает прямые вызовы собственных системных библиотек. Вызов только через Java Native Interface и недавно Java Native Access
Управление памятью Доступно для программиста Контролируется системой
Корневая иерархия C++ такой корневой иерархии не существует. C++ поддерживает как процедурное, так и объектно-ориентированное программирование; поэтому он называется гибридным языком. Java — это чисто объектно-ориентированный язык программирования. Это. Почему он следует единой корневой иерархии.
Лучшие функции C++ поддерживает функции объектно-ориентированного программирования и функции процедурного программирования. Java поддерживает автоматическую сборку мусора. Он не поддерживает деструкторы, как C++.
Заявление о переходе C++ имеет оператор goto. Хотя использование оператора goto не идеально. В Java нет инструкции goto. Ключевые слова got и const зарезервированы, даже если они не используются.
Множественное наследование C++ обеспечивает множественное наследование. Ключевое слово виртуальный используется для решения проблем во время множественного наследования, если таковые имеются. Java не поддерживает множественное наследование.
Оператор разрешения области C++ имеет оператор разрешения области видимости (: :) который используется для определения метода вне класса и для доступа к глобальной переменной внутри из области видимости, где также существует локальная переменная с тем же именем. Оператор разрешения области видимости (: :) в Яве. Определения методов должны находиться внутри класса, поэтому разрешение области действия не требуется.
Поддерживающий метод C++ поддерживает как перегрузку методов, так и перегрузку операторов Java поддерживает только перегрузку методов. Он не поддерживает перегрузку операторов.
Переносимость Исходный код должен быть перекомпилирован для платформы; следовательно, код не является переносимым. Классы байт-кода можно перенести в JVM для конкретной платформы.
Семантика типов Согласован между примитивными и объектными типами. Различаются для типов примитивов и объектов.
Библиотеки Преимущественно низкоуровневая функциональность Массовые, классы для услуг высокого уровня.
Обнаружение ошибок во время выполнения Ответственность программиста. Ответственность системы.
Функции и данные Функции и данные могут существовать вне любого класса, доступны глобальные области и области имен. Все функции и данные существуют внутри классов; Объем пакета доступен.
Платформа Программы на C++ зависят от платформы. Они должны быть скомпилированы для конкретной платформы. Программы Java не зависят от платформы. Программы Java написаны для виртуальной машины Java (JVM). Он будет работать без перекомпиляции.
Обнаружение ошибок во время выполнения В C++ ответственность за проверку ошибок лежит на программисте. За проверку ошибок в программе отвечает система.
Указатель Поддержка указателей C++. Java предлагает лишь ограниченную поддержку указателей.
Структура Он поддерживает структуры. Он не поддерживает структуры.
Союзы C++ поддерживает объединения. Java не поддерживает объединения.
Управление объектами C++ поддерживает ручное управление объектами с помощью ключевых слов new и delete. Java сильно зависит от автоматической сборки мусора. Он не поддерживает деструкторы.

java

  1. Интерфейс против абстрактного класса в Java:в чем разница?
  2. Разница между генераторами переменного и постоянного тока
  3. Браунаут против Блэкаута:в чем разница?
  4. Термопласт против термореактивного пластика:в чем разница?
  5. Двигатель постоянного тока и переменного тока:в чем разница?
  6. В чем разница между изготовлением металла и сваркой металла?
  7. Стальной уголок и алюминиевый уголок:в чем разница?
  8. Чистая и абразивная гидроабразивная резка – в чем разница?
  9. Воздух для дыхания и сжатый воздух — в чем разница?
  10. PSI, PSIA и PSIG:в чем разница?