2 min de lectura

Entender la diferencia entre C y C++, a pesar de parecer para muchos un tema sencillo, es una pregunta muy común entre estudiantes y personas que apenas comienzan a aprender del mundo de la programación. El gran conflicto surge cuando no se les ha hecho notar la diferencia entre C y C++

Diferencia 1: La extensión del archivo

Los archivos de C se guardan con extensión c, ejemplo practica.c mientras que los archivos de C++ se guardan con extensión cpp (c plus plus), ejemplo practica.cpp.

Diferencia 2: Operadores lógicos

Los conocidos operadores lógicos AND, OR y NOT pueden ser utilizados como palabras en el lenguaje C++ o como operadores, mientras que en C deben utilizarse únicamente los operadores &&, || y ! En lenguaje C sería:

Mientras que en lenguaje C++ el anterior es válido, pero también es válido:

 Diferencia 3: Los flujos de entrada y salida

En C se utilizan las funciones printf y scanf para los flujos IO (input/output), mientras que en C++ se utiliza cout y cin En lenguaje C sería:

Mientras que en lenguaje C++ sería:

 Diferencia 4: Uso de clases

En el paradigma de programación orientada a objetos, se hace uso de Clases, y el lenguaje C no tiene soporte para ello, pero C++ si lo tiene you dont have class

Diferencia 5: Las bibliotecas

Las bibliotecas en C terminan con h (son headers). Esas mismas bibliotecas sirven para C++ pero por convención, se elimina la terminación ‘.h’ y mejor se agrega ‘c’ al principio.

En C                      En C++

math.h                  cmath

time.h                   ctime

 

Como puedes ver la diferencia entre C y C++ es variada, y existen muchas mas diferencias entre estos dos lenguajes de programación. Considero que estos son los mas importantes si estas aprendiendo ambos lenguajes, o si estas migrando de C hacia C++.

Compartir
Licenciada en Informática con Maestría en Tecnologías de la Información. Docente por convicción con trece años de experiencia, desarrolladora desde hace nueve años trabajando actualmente con desarrollo WEB para alta disponibilidad, además de ser consultor independiente y capacitador. Participe del movimiento del software libre como fiel apasionada, reconocida por su actividad en la comunidad y su participación en la inclusión.

18 COMENTARIOS

  1. Como comentario correctivo (y espero no equivocarme), en la declaración de bibliotecas del ejemplo 3 me parece que están al revés: stdio.h es quien en realidad contiene printf y scanf, mientras que es iostream la que contiene a cin y cout.
    ;D

  2. Unas observaciones a cada punto
    1.- También se pueden guardar como .cc
    2.- Hay un error de dedo en ambos ejemplos, falta un paréntesis de apertura
    3.- El “using namespace std”, está en el código de C, debería ir en el de C++

      • De igual manera, sólo intentando complementar lo comentado, existen varias extensiones más para el lenguaje C++, las cuales pueden no ser muy usadas, por una u otra razón, como lo son:

        1.- C: “C” mayúscula. Creo evidente que esta tiene problemas en los sistemas Windows, donde “prueba.C” y “prueba.c” son el mismo archivo (en el sistemas de archivos NTFS no hay diferencia práctica entre mayúsculas y minúsculas), además de que puede ser confundida con la extensión de C.
        2.- “c++”
        3.- “cxx”

        Además, he de reconocer y aplaudir el buen trabajo al no nombrar a las bibliotecas como “librerías” (error común al traducir por como suena la palabra, no por lo que significa o su contexto).

DEJA UNA RESPUESTA

Please enter your comment!
Please enter your name here