Empleo de c

Comentarios

Supongo que como licenciado en ingeniería o informática, programador o simple autodidacta, conoces -o simplemente tienes una idea- de cómo funciona el ordenador en el que estás leyendo este documento, la red que te lo ha llevado y el navegador que lo renderiza.

Lo más probable es que el sistema operativo que utilizas y que hace que tu ordenador sea algo más que un montón de metal, silicio y óxido de carbono, los controladores de la tarjeta de red y el propio navegador estén escritos en C. Aunque el compilador de tu lenguaje de programación favorito podría estar escrito en el propio lenguaje (lo que se denomina «self-hosting»), podría estar escrito en C por razones de eficiencia o históricas. Por cierto, si se basa en una máquina virtual, esta última está escrita en C/C++.

Cuando se decide hacer este trabajo -a menos que se forme parte de esta última nueva ola o de los programadores autodidactas que entraron en el circo de las start-ups sólo por el dinero-, saber C/C++ es una habilidad esencial para entender la propia naturaleza de cómo funcionan las cosas. Puedes programar en el lenguaje de programación de más alto nivel, o incluso de presentación, pero si empiezas a indagar en la pila que interpreta y ejecuta tus cosas acabarás llegando a un punto en el que se utilizó C/C++.

C ventajas y desventajas

El lenguaje de programación C es un lenguaje de programación independiente de la máquina que se utiliza principalmente para crear muchos tipos de aplicaciones y sistemas operativos como Windows, y otros programas complicados como la base de datos Oracle, Git, el intérprete Python y juegos, y se considera una base de programación en el proceso de aprendizaje de cualquier otro lenguaje de programación. Los sistemas operativos y diversos programas de aplicación para arquitecturas informáticas que van desde los superordenadores hasta los PLC y los sistemas embebidos son ejemplos de estas aplicaciones.

El lenguaje de programación C fue creado en los Laboratorios Bell a principios de los años 70, principalmente por Ken Thompson y Dennis Ritchie. Para el sistema operativo UNIX, que en aquella época exigía que las aplicaciones se escribieran en lenguaje ensamblador, los programadores necesitaban un conjunto de instrucciones más fácil de usar. Los programas en ensamblador, que se comunican directamente con el hardware del ordenador, son largos y complejos de depurar, y añadir nuevas funcionalidades requiere mucho tiempo y esfuerzo.

El primer lenguaje de alto nivel de Thompson se llamó B por el lenguaje de programación del sistema BCPL en el que se basaba. Thompson reescribió B para que se ajustara mejor a las exigencias de la época moderna, un mejor hardware de sistema después de que los Laboratorios Bell adquirieran un sistema UNIX de Digital Equipment Corporation (DEC) modelo PDP-11. Como resultado se creó C, el sucesor de B. En 1973, C había madurado hasta el punto de poder utilizarse para reescribir el sistema operativo UNIX.

Lenguaje de programación C

C++ es un lenguaje compilado, lo que significa que el código fuente de su programa debe ser traducido (compilado) antes de que pueda ser ejecutado en su ordenador. VS Code es ante todo un editor, y se basa en herramientas de línea de comandos para realizar gran parte del flujo de trabajo de desarrollo. La extensión C/C++ no incluye un compilador o depurador de C++. Tendrás que instalar estas herramientas o utilizar las que ya están instaladas en tu ordenador.

Es posible que ya haya un compilador y depurador de C++ proporcionado por su entorno de desarrollo académico o laboral. Consulte a sus instructores o colegas para que le orienten sobre la instalación del conjunto de herramientas C++ recomendado (compilador, depurador, sistema de proyectos, linter).

Algunas plataformas, como Linux o macOS, tienen un compilador de C++ ya instalado. La mayoría de las distribuciones de Linux tienen instalada la GNU Compiler Collection (GCC) y los usuarios de macOS pueden obtener las herramientas Clang con Xcode.

Asegúrate de que el ejecutable de tu compilador está en la ruta de tu plataforma (%PATH en Windows, $PATH en Linux y macOS) para que la extensión C/C++ pueda encontrarlo. Puede comprobar la disponibilidad de sus herramientas C++ abriendo el Terminal Integrado (⌃` (Windows, Linux Ctrl+`)) en VS Code e intentando ejecutar directamente el compilador.

Qué hacer con c++

Llevo algo más de un año introduciéndome en la Informática, y por mi experiencia parece que tanto C como C++ son considerados como lenguajes «ultrarrápidos», mientras que otros como Python y lenguajes de scripting suelen considerarse algo más lentos.

Pero también he visto muchos casos en los que un proyecto de software, o incluso uno pequeño, intercalaba archivos en los que un cierto número n de esos archivos se escribía en C, y un cierto número m de esos archivos se escribía en C++.

(También me he dado cuenta de que los archivos en C++ casi siempre tienen sus correspondientes cabeceras, mientras que los archivos en C no tanto). Pero mi principal pregunta es conseguir una intuición general sobre cuándo es apropiado usar C sobre C++, y cuándo es mejor usar C++ sobre C. Aparte de los hechos de que (1) C++ está orientado a objetos mientras que C no lo está, y (2) las sintaxis son muy similares, y C++ fue creado intencionadamente para parecerse a C en muchos aspectos, no estoy seguro de cuáles son sus diferencias. Me parece que son (casi) perfectamente intercambiables en muchos ámbitos.