segundo - ¿C/C++ es un idioma o dos idiomas?




lista de codigos de idiomas (6)

¿C / C ++ es un idioma o dos idiomas? Escuché que C ++ era solo C con clases. ¿Está bien?


"C / C ++" es precisamente cero idiomas. No existe.

Por otro lado, C es un lenguaje.

C ++ es otro idioma, que es algo así como C pero también tiene clases y muchas otras diferencias .

Para ser claros, @Zoidberg fue acertado:

C y C ++ son dos idiomas completamente diferentes. C con Classes fue el predecesor de C ++, pero el término todavía se usa a menudo para C ++ no moderno (por ejemplo, que utiliza punteros sin procesar en todas partes).


C / C ++ es dos idiomas. C es un idioma y C ++ es el otro. C ++ se considera un "mejor" C. C es de procedimiento, mientras que C ++ está orientado a objetos. C ++ tiene muchas mejoras sobre C, y tiene una sintaxis similar a C.


En mi humilde opinión, creo que la respuesta es que C / C ++ no son un idioma, sino dos que son:

  • C Lenguaje de programación
  • Lenguaje de programación C ++

El lenguaje C ++ se deriva del lenguaje C. C ++ es el nombre del lenguaje de programación C con funcionalidad de 'clases' agregadas. Eso significa que la arquitectura básica del lenguaje C se ha mejorado para permitir la programación orientada a objetos. Utiliza el operador "++" que significa incremento. C ++ es un incremento de C, que le permite usar el procedimiento de manera orientada a objetos o ambos de forma de programación. C ++ nos permite escribir código más fácil que C. Pero esto no significa que el lenguaje C no sea adecuado ahora, porque tenemos C ++. Cada idioma se usa para fines específicos del software que necesita un programador. Es por eso que ANSI hizo C un estándar.

Reference


Respuesta simple: dos idiomas

Son dos idiomas diferentes, aunque casi cualquier código C es válido (no necesariamente bueno) código C ++.

Al principio, C ++ se pensó como "C, pero con clases", pero a medida que pasaba el tiempo, difería más y más y ahora el código C es muy malo para el código C ++. Puedes aprender C o C ++ o ambos, pero por lo general no los mezclas (pero puedes).


Son dos idiomas diferentes. C ++ se llama así porque parte de él está rooteado de C y es compatible con C en algún sentido.

De acuerdo con Effective C ++ de Scott Myers, podemos ver C ++ como un lenguaje unificado con los siguientes 4 componentes:

  1. Parte del lenguaje C, bloques, instrucciones, preprocesador, etc.
  2. C ++ Orientado a Objeciones: incluye clase, encapsulación, herencia, polimorfismo, etc.
  3. Plantilla C ++: incluidas plantillas C ++, metaprogramación de cosas
  4. El STL.

Entonces C ++ es más poderoso que C en algún sentido.


Una buena pregunta nunca hecha aquí es: ¿cuál es la definición de "Idioma"? ¿Las bibliotecas son parte de un idioma? ¿"Printf" es parte del lenguaje?

Creo que la respuesta, como casi siempre en la mente humana, puede variar según el contexto.





c++-faq