Instalación y uso de herramientas de compilación en programación
Introducción
Bienvenidas y bienvenidos a la clase donde discutiremos que herramientas para compilar programas escritos en C que tienes a tu alcance, vas a ver que esta clase te brindará información y conocimientos muy útiles.
Recordemos que programar comienza por diseñar un algoritmo, el cual consiste en una serie finita y ordenada de instrucciones que tienen como objetivo resolver algún problema. Una vez que has escrito el algoritmo en forma de pseudocódigo o en forma de diagrama de flujo, lo que sigue es traducirlo a un lenguaje de programación.
Al igual que los lenguajes que usamos los humanos, hay lenguajes preparados para expresar más fácilmente algo, es todo un clásico decir que el francés es el idioma del amor, o que el inglés es el idioma de los negocios, o quien no se ha deleitado el oído con el portugués o con el español. Bueno, pues en programación sucede algo parecido, si quieren programar algo de carácter científico usar fortran, c o actualmente pyton es lo frecuente. Si quieren realizar interfaces para páginas web java es muy utilizado, pero si quieren interactuar con bases de datos el viejo cobol se sigue usando.
En este curso se ha elegido programar en el lenguaje C, esto quiere decir que el algoritmo, que para estas alturas ya lo tenemos escrito en pseudocódigo o esquematizado en un diagrama de flujo, lo debemos expresar con la sintaxis del lenguaje C.
Recordemos que fin último es conseguir un programa que pueda ser ejecutado por una computadora, y para hacerlo, el programa debe estar escrito en lenguaje de máquina, este lenguaje de máquina se codifica en números binarios y para el humano es MUY complicado escribir los programas así sin cometer errores.
El compilador podemos imaginarlo como un traductor que interpreta código en lenguaje C y lo convierte a código de máquina.
Así pues, podemos pensar que el programar es imaginar un algoritmo, escribirlo en un lenguaje fácilmente entendible por otros humanos (pseudocódigo o diagramas de flujo), traducir esto a un lenguaje de programación y finalmente hacer una segunda traducción al lenguaje de máquina. Vayamos pues a elegir la herramienta que hará estos últimos pasos, ayudarnos a escribir un programa en lenguaje C y traducirlo a lenguaje de máquina.
Vayamos pues a elegir la herramienta que hará estos últimos pasos, ayudarnos a escribir un programa en lenguaje C y traducirlo a lenguaje de máquina.
Desarrollo del tema
Como ya hemos platicado, un compilador es un programa que tiene como objetivo traducir una serie de instrucciones escritas en un lenguaje de programación en particular, en el caso de este curso en C, a un lenguaje que la computadora puede interpretar que es el lenguaje de máquina. El lenguaje de máquina está constituido por símbolos binarios (solo unos y ceros) y es MUY complicado que un humano pueda construir, sin equivocarse, el código para que la computadora pueda ejecutar una acción.
Para poder escribir, compilar y ejecutar un programa, las herramientas esenciales son:
- Editor de texto donde podamos escribir y guardar el código escrito en un lenguaje como C. Cualquier editor de texto serviría, pero es recomendable elegir uno que tenga herramientas para programadores, por ejemplo: que automáticamente coloree palabras reservadas en el leguaje en el que estamos programando, que, al usar símbolos como los paréntesis, los corchetes y las llaves automáticamente escriba la pareja de cierre de cada símbolo, que tenga indicadores del número de renglón y de columna donde estamos escribiendo. Estos editores existen tanto de software libre como de software comercial.
- Compilador que traducirá el programa escrito con la herramienta anterior y lo convertirá en un programa ejecutable. Es la parte indispensable para poder hacer la compilación. También existen de con licencia de uso libre o comercial. Existen compiladores comerciales que generarán código optimizado para algún CPU en particular, por ejemplo, el compilador de Intel, y los hay genéricos como el GCC (GNU Compiler Collection) que abarca múltiples lenguajes y múltiples plataformas (sistemas operativos). El compilador por sí solo es un programa que se ejecuta a través de una consola y que el resultado final es entregar un archivo ejecutable.
- Es recomendable, aunque no indispensable, contar con una herramienta de depuración de errores en programas (debugger). La herramienta de depuración tiene como intención servir de enlace entre el compilador y el editor, de tal manera que los errores reportados por el compilador puedan ser marcados de una manera visual muy llamativa en el editor de texto. Además, la herramienta de depuración tiene la capacidad de detener temporalmente la ejecución de un programa en alguna sección específica del programa e interactuar con los valores de las variables declaradas. Esta herramienta cobra una gran importancia cuando estemos trabajando con programas complicados, ya sea por su longitud o por la complejidad algorítmica que involucra.
Como se ha descrito en los párrafos anteriores, podemos formar todo el entorno de programación de forma independiente o podemos optar por software que conjunta todas las herramientas antes descritas, a estos conjuntos de programas que forman un ambiente muy cómodo para un programador se les llama IDE´s (Integrated Development Enviroment). Cuando se instala un IDE en tu computadora automáticamente se instalan todos los programas antes enlistados. Actualmente se tienen IDE’s que incluso son capaces de desarrollar proyectos de programación en múltiples lenguajes de programación y están diseñados para el trabajo colaborativo de muchos programadores trabajando a la vez.
Toda esta variedad de programas y herramientas sofisticadas hacen que la elección y uso del software apropiado para compilar programas por primera vez, resulte complicado y muy confuso.
Existen dos estrategias para tener a la mano un ambiente de programación: instalar las herramientas en tu computadora o utilizar servicios en línea que proveen estas herramientas.
Instalación de recursos en tu computadora:
Si decides instalar las herramientas en tu computadora, la recomendación que te damos es que instales el IDE de tu preferencia, para esto, primero hay que decidir en qué sistema operativo trabajarás. A continuación, se enlistarán algunas opciones que tienes para distintos sistemas operativos:
En Windows:
- Microsoft Visual Studio, herramienta que en su versión libre tiene algunas limitaciones, pero para un programador de nivel intermedio es suficiente. Para instalarlo puedes consultar el siguiente enlace:
Eclipse, herramienta de software libre que utiliza los compiladores de GCC (GNU Compiler Collection)
En Linux:
- Una recomendación muy fácil de usar es que cuando se esté instalando el sistema opertivo, se elija instalar las herramientas de desarrollo (Development Tools), con esto, el sisema opoerativo instalado tendrá múltiples opciones de IDE’s de programación como Eclipse, Qt, Code Blocks, etc.
En macOS:
- Xcode, herramienta ampliamente usada en el ambiente de mac para programación
- AppCode.
Muchos de los IDE´s citados son compatibles para todos los sistemas operativos antes citados y también para desarrollar programas para sistemas operativos de teléfonos (Android, por ejemplo). e recomendamos mucho que sigas páginas como:
Existe una comunidad inmensa en la web que tiene recursos de información fantásticos que se encuentran fácilmente.
Una última recomendación, después de haber instalado el IDE de tu preferencia, es MUY recomendable que veas un video de como generar un proyecto, recuerda que estos IDE’s están pensados para poder programar incluso en múltiples lenguajes y con múltiples programadores, así que el manejo de la herramienta puede no ser sencillo. También es MUY importante identificar en que parte de una estructura de subdirectorios que se genera automáticamente, se encuentra el archivo con el código escrito en C, porque ese archivo será el que tengas que entregar en tus tareas.
Uso de servicios en Línea
La idea es muy sencilla, existen sitios web donde, a través de cualquier navegador, tienes acceso al ambiente de desarrollo, de esta manera no tienes que instalar nada en tu computadora, y desde distintas computadoras puedes acceder al servicio. La desventaja es que dependerás de tener acceso a internet para poder usarlos, otra desventaja es que cuando programes accediendo y escribiendo a archivos, el manejo de la herramienta puede ponerse un poco confusa.
Estos son algunos sitios que te darán acceso a herramientas para programar, la mayoría te pedirá que te registres y te enviarán publicidad, nada es gratis en esta vida.
Como se puede ver en la imagen, inmediatamente aparece una ventana con el editor de texto especializado para programación y con la barra de botones localizados en la parte superior se puede correr, depurar, grabar el código que se escriba.
Existe otra opción que está fuertemente vinculada con la plataforma de aprendizaje donde existe esta aula virtual, la herramienta se llama VPL (Virtual Programming Lab). Con esta herramienta se pueden generar actividades que ustedes estudiantes de este curso, pueden desarrollar programas y entregarlos para su revisión a los facilitadores del curso. Su uso es muy parecido a las dos herramientas anteriores, pero tiene la ventaja de que cada archivo que ustedes graban se queda almacenado como entrega de la actividad para su calificación.
Dado que VPL será una de las herramientas que se usarán en este curso entremos a verla con cierto detalle. En el aula virtual aparecerá una actividad parecida a esta:
Al dar click al enlace aparecerá una pantalla como esta:
Observen que en la pantalla se describe la actividad, las fechas de entrega, y las herramientas a su disposición que ha puesto el instructor para que ustedes la realicen, vean que hay 4 pestañas:
La primera es la que ya hemos visto y en ella encontraremos la descripción de la actividad. La segunda (Submission) se ve así:
En esta pantalla ustedes pueden entregar un archivo con el código del programa solicitado que hayan hecho en su propia computadora o en alguno de los sitios que se describieron anteriormente. Basta con dejar caer el archivo, apretar el botón submit y habrán entregado la actividad.
Si ustedes quieren usar las herramientas de programación que VPL les ofrece, entonces eligen la pestaña que dice Edit, al hacerlo aparecerá:
Nombran al archivo de trabajo con un nombre que solamente tenga letras, números y el símbolo “_” (no pongan espacios ni otros símbolos distintos) y terminen el nombre del archivo con la extensión “.c”. Una vez escrito en nombre del archivo aparece:
En esa ventana podrán escribir el código del programa. Observen la sección con los botones:
Los siguientes botones son los más importantes: El + sirve para crear múltiples archivos, el diskette es el botón para grabar, cada vez que graben el archivo quedará disponible para el instructor para ser revisado. E l cohete se habilitará después de haber grabado y sirve para compilar y ejecutar el programa, la Catarina sirve para depurar (debugear) el programa. Con estos botones ustedes pueden realizar la actividad de programación que el instructor preparó para ustedes.
Conclusión
¡Listo! Después de haber terminado esta lección ustedes tienen todo lo necesario para poder escribir y correr un programa escrito en lenguaje C. Recapitulemos lo que hemos aprendido:
Un compilador es un programa que traduce código de un lenguaje de programación a un lenguaje de máquina que la computadora puede interpretar para ejecutar un programa.
Para poder realizar el proceso completo de escribir y ejecutar un programa se necesitan las siguientes herramientas: Un editor de texto con el cual se pueda escribir un archivo que contendrá el código fuente, un compilador que traducirá el código fuente y generará un archivo escrito en lenguaje de máquina que la computadora podrá ejecutar.
Para poder realizar un programa tenemos dos opciones, instalar software especializado en programación en nuestra computadora, la forma más cómoda de hacer esto es instalar un IDE (Integrated Development Enviroment), vimos varias opciones que se pueden instalar en distintos sistemas operativos. En general el uso es algo complicado (al principio) pero tiene la ventaja de que no es necesario tener internet para poder usarlas.
La otra posibilidad es utilizar un sitio donde nos ofrecen estas herramientas, vimos dos opciones, pero existen muchas en la web. Usualmente son herramientas MUY sencillas de usar, pero tienen la limitación de que debemos tener acceso a internet para poder usarlas.
Ya ves, contar con herramientas de programación es sencillo y están al alcance de tus manos. Ahora a disfrutar de ellas y a codificar programas que resuelvan problemas que les parezcan muy interesantes o útiles.
Fuentes de información
- Los 10 mejores IDE para desarrolladores de C o C++ en 2021. https://barcelonageeks.com/10-mejores-ide-para-desarrolladores-de-c-o-c-en-2021/
- Los 7 mejores IDE para desarrolladores de C/C++ en 2024. https://www.geeksforgeeks.org/best-ides-for-c-c-plus-plus-developers/