Iniciando con C
¿Qué es el lenguaje C?.
Es un lenguaje de nivel medio, que se ensambla y compila directamente. Al ser compilado asegura tener una buena velocidad, por esto es unos de los lenguajes más rápido al momento de ejecutarlo, pero es difícil de aprender i/o implementar por su manejo de memoria más que nada (Lo que automatizan lenguajes de alto nivel, este lo tienes que hacer a mano), Esto lo notaras mucho más siendo principiante o comenzando a aprenderlo. A pesar de todo es muy poderoso, también se usa en gran cantidad de aplicaciones i/o sistemas operativos (como Linux), juegos (como Doom), etc….
¿Porque aprenderlo?
Hoy en día hay pocas razones por las que programar en C, ya que hay lenguaje de programación de alto nivel más fáciles de manejar y más seguros a la hora de buscar errores. La principal razón es que los lenguajes de programación de alto nivel son interpretados suelen ser seguros, pero sacrifican la velocidad de los programas por esta seguridad, y también al ser interpretado este requiere más recursos que un lenguaje que se ejecuta directamente en la maquina, como el caso de C y se hace mucho más difícil el acceso directo a la memoria. De hecho algunos módulos o biblioteca de otros lenguajes de alto nivel se hacen en C para asegurar más velocidad o tener mas acceso directo a la memoria. Cuando programas un videojuego la velocidad suele ser lo más importante, cuando programa un controlador o necesitas acceso al hardware es preferible o escribirlo en C y en el caso de los videojuegos escribir el motor en C. Tambien se usa cuando un software se debe ejecutar en tiempo real, como el GPS, un micro controlador, etc... .
¿Que herramientas usar?
En la mayoría de los tutoriales te van a recomendar descargar un IDE (Integrated Development Environment o Entorno de Desarrollo Integrado en español) como Visual Studio (Y no les faltan razones para hacerlo), pero aquí te voy a recomendar que aprendas a usar primero la consola (en Windows es CMD) para así no dependas al 100% de una herramienta en específico, pero no hay problema en usar un IDE.
- Compilador:
- GCC o Gnu Compiler Collection que es el compilador de C/C++. Debes descargar he instalar los binarios del gcc: Aqui.
- IDE
-
- VSCode o Visual Studio Code. Es una versión portable y ligera de Visual Studio.
Nota: En window 7 32bits debes descargar: Aqui, es la ultima versión para este Sistema Operativo. -
Sublime Text Es un editor de texto con resaltado de sintaxis bastante ligero, pero poderoso.
Nota: En Window 32bits debes descargar: Sublime Text 3. - Dev CPP Es un IDE C++ que está un poco desactualizado, pero fácil de usar he instalar para los principiantes. Solo para Windows y trae MinGW por defecto así que no tendrías que instalarlo.
- VSCode o Visual Studio Code. Es una versión portable y ligera de Visual Studio.
El sistema operativo que uso en este tutorial es Windows 7, pero el lenguaje al ser de nivel medio la sintaxis es muy portable y el código puede ser ejecutado en diferentes plataformas. Lo que cambia son las bibliotecas usadas, esto porque hay sistemas operativo que siguen el estándar POSIX y otros que no, como lo hace Windows (Je. En el mundo de la programación Windows es la oveja negra de la familia, APPLE es la oveja gris, y GNU Linux es la oveja blanca).
Probando herramientas
Para probar las herramientas primero debemos abrir el cmd presionando ctrl+r y escribiendo cmd en Windows, en Linux debes abrir la terminal. En lo personal recomiendo crear una carpeta para almacenar todos los proyectos que escribiremos en una ubicación aparte (usa en la consola este comando: mkdir workspace) y nos vamos a esa ubicación (cd workspace). Ya allí debemos abrir VScodes o cualquier editor y escribir:
Copia y pega el código en el editor.
Después lo guardamos con el nombre que quieras, en mi caso lo guardaré como main, pero le colocaremos la extensión *.c. Ejemplo: main.c
Ahora vamos a la consola y escribimos:
- En Windows:
gcc -o main.exe main.c
- En linux:
gcc -o main main.c
Ojo con el .exe, en Windows indica que es un ejecutable, en Linux no. Así que se lo quitamos
Si todo ha salido bien te debería mostrar:
Se instalaron las herramientas correctamente. El programa se finalizará cuando presiones enter.
Ojo: Si salió un error como que "gcc no existe" puede ser porque no tienes la carpeta de MinGW en el PATH, debes colocar la carpeta de los binarios en el PATH (Donde se instalo + /bin/).
Explicación:
-
-
#include <stdio.h> Es un preprocesador. Los preprocesadores son usados para hablar con el compilador, en este caso le decimos al compilador que debe importar todo el contenido del archivo stdio.h en el archivo actual. En stdio.h se define funciones especializadas en entrada y salida de datos. -
int main(void){
, esto es para declarar una función, que se llamara main (o principal en español), que retornará un int (integer que significa entero). El (void) indica que la función no necesita un parámetro y da igual si se pasa algunos. El signo "{" indica el comienzo de la función y el signo "}" indica su término. -
puts("Mensaje"); aquí se muestra como llamamos a una función del stdio.h que usaremos para mostrar un mensaje por la consola, que será"Mensaje". -
return 0; aquí indicamos que la función main retornará 0, lo que significa que el programa corrió sin errores, pero si main retorna otro número significará que ha ocurrido un error. -
El ";" después de cada instrucción. Todas las instrucciones deben tener el punto y coma o dará error. Esto es para que el compilador sepa dónde termina cada instrucción. Hay excepciones como donde inicio el "{" y termina el "}" y los preprocesadores. Ejemplo:
Nota: toda las APPs C deben tener una función main, esta función será llamada por el Operating System (OS o Sistema Operativo en español) al iniciar el programa.
-
Antes de finalizar este capitulo, recomiendo ojear la doc oficial, he ir acostumbrándose:
- ISO C 2018: Este es el estándar actual de como el lenguaje C debe ser.
- CPPReference: Es un manual de referencia que describe al lenguaje y la biblioteca estándar. Este me gusta usar para saber sobre las funciones estándar.
- GNU manual: Esta es la documentación de gcc sobre como implemento C y sobre los agregados que ofrece sobre al estándar.
Y listo por este episodio. Gracias por leer:).