Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial programming >> Java

C++ Vs JAVA:Qual é a diferença?

O que é a linguagem C++?


C++ é uma linguagem de programação de computador que contém o recurso da linguagem de programação C, bem como Simula67 (primeira linguagem orientada a objetos). C++ introduziu o conceito de Classe e Objetos.

Ele encapsula recursos de linguagem de alto e baixo nível. Portanto, é vista como uma linguagem de nível intermediário. Anteriormente era chamado de “C com classes”, pois tinha todas as propriedades da linguagem C.

O que é a linguagem Java?


Java é uma linguagem de programação desenvolvida pela Sun Microsystems. Uma pequena equipe de desenvolvimento de software desenvolveu essa linguagem. Eles eram conhecidos como o Green Team, que iniciou a linguagem Java no ano de 1991.

História do C++


A linguagem C++ foi desenvolvida por Bjarne Stroustrup na AT &T Bell Laboratories. Stroustrup era um forte defensor de C e um admirador de Simula67. Ele queria combinar o melhor dos dois idiomas. Ele pretendia criar uma linguagem que suportasse recursos de programação orientada a objetos e ainda retivesse o poder de C. Isso resultou em C++.

História do Java


A linguagem Java foi inicialmente chamada de OAK. Originalmente, foi desenvolvido para manuseio de dispositivos e set-top boxes. Oak foi um grande fracasso. Assim, em 1995, a Sun mudou o nome para Java e modificou a linguagem para tirar proveito do crescente negócio de desenvolvimento da World Wide Web.

Mais tarde, em 2009, a Oracle Corporation adquiriu a Sun Microsystems e assumiu a propriedade de dois importantes ativos de software da Sun:Java e Solaris.

DIFERENÇA CHAVE:





Diferença entre C++ e Java

Parâmetro C++ Java
Relacionamento Nenhuma relação estrita entre nomes de classes e nomes de arquivos. Em C++, arquivos de cabeçalho e arquivos de implementação são usados ​​para classes específicas. O relacionamento estrito é aplicado, por exemplo, o código-fonte da classe PayRoll deve estar em PayRoll.java.
Mecanismo de entrada As instruções de E/S usam in e cout, por exemplo, em » x; cout« y; O mecanismo de entrada de E/S é bastante complexo, pois lê um byte por vez (System.in). A saída é fácil, por ex. System.out.println(x);
Compilador e intérprete C++ suporta apenas compilador Java suporta compilador e interpretador
Compatibilidade com outros idiomas Compatível com código-fonte C, exceto alguns casos excepcionais. Não há compatibilidade com qualquer idioma anterior. A sintaxe é influenciada por C/C++.
Controle de acesso e proteção de objetos Modelo flexível com proteção constante disponível O modelo complicado incentiva o encapsulamento fraco.
Conceito Escreva uma vez e compile em qualquer lugar Escreva uma vez e execute em qualquer lugar
Suporte para tipo de programação Permite programação procedural e programação orientada a objetos. Suporte ao modelo de programação orientada a objetos.
Interface Permite chamadas diretas para bibliotecas nativas do sistema. Apenas chame através da Java Native Interface e recentemente do Java Native Access
Gerenciamento de memória Acessível ao programador Controlado pelo sistema
Hierarquia raiz C++ não existe tal hierarquia de raiz. C++ suporta programação procedural e orientada a objetos; portanto, é chamada de linguagem híbrida. Java é uma linguagem de programação orientada a objetos pura. Isso é. Por que Ele segue a hierarquia de raiz única.
Melhores recursos C++ suporta recursos orientados a objetos Recursos de programação procedimental. Java suporta coleta de lixo automática. Ele não suporta destruidores como C++.
Goto Statement C++ tem uma instrução goto. Embora não seja ideal usar uma instrução goto. Java não tem comando goto. As palavras-chave get e const são reservadas mesmo que não sejam usadas.
Herança múltipla C++ fornece herança múltipla. A palavra-chave virtual é usada para resolver problemas durante a herança múltipla, se houver. Java não fornece herança múltipla.
Operador de resolução de escopo C++ tem operador de resolução de escopo (: :) que é usado para definir um método fora de uma classe e acessar uma variável global dentro do escopo onde também existe uma variável local com o mesmo nome. Nenhum operador de resolução de escopo (: :) em Java. As definições de método precisam ocorrer dentro de uma classe, portanto, não há necessidade de resolução de escopo.
Método de suporte C++ suporta sobrecarga de métodos e sobrecarga de operadores Java suporta apenas sobrecarga de métodos. Não oferece suporte para sobrecarga do operador.
Portabilidade A fonte deve ser recompilada para a plataforma; portanto, o código não é portátil. As classes de bytecode são transferíveis para JVMs específicas da plataforma.
Semântica de tipo Consistente entre tipos primitivos e de objeto. Diferente para tipos primitivos e de objeto.
Bibliotecas Funcionalidade predominantemente de baixo nível Grandes, classes para serviços de alto nível.
Detecção de erro de tempo de execução Responsabilidade do programador. Responsabilidade do sistema.
Funções e dados Funções e dados podem existir fora de qualquer classe, escopos globais e de namespace estão disponíveis. Todas as funções e dados existem dentro das classes; escopo do pacote estão disponíveis.
Plataforma Os programas C++ são dependentes da plataforma. Eles precisam ser compilados para uma plataforma específica. Os programas Java são independentes de plataforma. Os programas Java são escritos para Java Virtual Machine (JVM). Ele será executado sem precisar de recompilação.
Detecção de erro de tempo de execução Em C++, é responsabilidade do programador verificar os erros. É responsabilidade do sistema verificar o erro no programa.
Ponteiro Ponteiros de suporte C++. Java oferece suporte limitado para ponteiros.
Estrutura Suporta estruturas. Não suporta estruturas.
Sindicatos C++ suporta sindicatos. Java não suporta sindicatos.
Gerenciamento de objetos C++ suporta gerenciamento manual de objetos com a ajuda de palavras-chave new e delete. Java depende muito da coleta automática de lixo. Ele não suporta destruidores.

Java

  1. Interface vs classe abstrata em Java:qual é a diferença?
  2. A diferença entre um gerador CA e CC
  3. Brownout vs Blackout:Qual é a diferença?
  4. Termoplástico vs Plástico Termoendurecível:Qual é a Diferença?
  5. Motor CC x CA:qual é a diferença?
  6. Qual ​​é a diferença entre fabricação de metal e soldagem de metal?
  7. Ângulo de aço versus ângulo de alumínio:qual é a diferença?
  8. Corte por jato de água puro vs. abrasivo - Qual é a diferença?
  9. Ar respirável versus ar comprimido – Qual é a diferença?
  10. PSI, PSIA e PSIG:qual é a diferença?