Compiladores C/C++
Seguramente sería exacto indicar que existe un compilador C y/o C++ para casi cualquier máquina que se haya construido (ordenador de uso dedicado o general). Algunos pueden conseguirse gratuitamente en la Red, al menos para uso didáctico y personal. Otros son productos comerciales que tienen un precio.
Actualmente solo utilizo los siguientes: Borland C++ 5.5; MS Visual C++ de Visual Studio 2008; GNU gcc/c++ 3.4.2-20040916-1 (versión MinGW para Windows), y GNU gcc/g++ 2.95.2 para Linux.
Dev-C++ de BloodshedSoftware www.bloodshed.net
Relo www.fifsoft.comUn entorno integrado de desarrollo IDE ("Integrated Development Environment") distribuido con licencia GNU para la creación de aplicaciones C/C++ utilizando los compiladores GNU gcc/g++ (incluidos en el paquete). Dispone de muchas de las opciones que son frecuentes en otros entornos "de pago". Incluyendo, entre otros, un editor altamente configurable con posibilidad de auto-completar las palabras clave, y de mantener proyectos grandes de distintos tipos: aplicaciones Windows (gráficas); aplicaciones de consola (modo texto), y construcción de librerías estáticas y dinámicas (DLLs). Existen binarios para su utilización en Windows y Linux, y cuenta con gran cantidad de módulos adicionales que pueden instalarse selectivamente. Su sistema de actualización on-line y de mantenimiento de paquetes instalados, es realmente notorio.
La versión para Windows incluye MinGW, un conjunto de utilidades para desarrollar aplicaciones en Windows utilizando una interfaz POSIX (Unix/Linux). Es una buena forma de utilizar C++ en Windows utilizando herramientas de código abierto. Por supuesto no esperéis el nivel de sofisticación y refinamiento de otras plataformas "de pago", como Builder por ejemplo, pero en ocasiones la simplicidad y la sencillez son más una virtud que un defecto. La versión Dev-C++ que utilizo es la 4.9.9.2, que incluye de la versión 3.4.2-20040916-1 de los compiladores gcc/g++ y la versión 5.2.1-1 de GDB, que es el depurador GNU.
Ya dentro del sitio, "The Compilers resources page" www.bloodshed.net/compilers contiene una buena relación de compiladores gratuitos (no solo C/C++) y enlaces interesantes.
Si desea desarrollar aplicaciones Windows con el compilador Borland C++ o MinGW, aconsejaría echar un vistazo a esta plataforma. Relo es un sistema integrado de desarrollo de código libre para los compiladores señalados, aunque la versión actual (2006) permite trabajar también con los compiladores MS Visual C++ y Digital Mars. Su editor es altamente configurable y capaz de identificar palabras clave de una gran cantidad de lenguajes actuales, incluyendo por supuesto C++. El paquete no incluye compilador, por lo que debe proveerse de alguno de los anteriores. Si no tiene otra preferencia, le aconsejaría MinGW, que es GNU.
Stroustrup: An incomplete list of C++ compilers www.research.att.com
A pesar del inconveniente de estar en inglés, me parece que una buena referencia a este asunto de los compiladores es la página que el autor del lenguaje mantiene con este mismo fin. Así que mejor que inventar de nuevo la pólvora os remito directamente e ella. Por supuesto que el Sr. Stroustrup no se "moja" en esta cuestión. Se limita a proporcionar una lista sin comentarios u opiniones de ponderación, pero estad seguros que el mero hecho de que un compilador aparezca en su lista, es señal de que es un producto más que aceptable.
Para los que trabajéis en el entorno GNU [1] cabría añadir que le echéis un vistazo a este proyecto. Insight es una interfaz gráfica (GUI) de GDB, que es el depurador de GNU. Este producto fue desarrollado inicialmente por Red Hat y donado después al público bajo la GLP (GNU Public License).
Aunque no sea muy devoto de los productos de Redmond, en esta ocasión, hay algo que puede ser interesante para los estudiantes. Microsoft ha publicado una versión gratuita (de libre descarga desde la Web) de su entorno de desarrollo Visual C++. Además también está disponible para su descarga una versión del SDK. Es decir, de la documentación necesaria para desarrollar aplicaciones Windows (especialmente interesante porque contiene información sobre la API de este Sistema). Naturalmente está orientado a desarrollos para los entornos Windows, y el único "pero" que se me ocurre es que esta versión de C++ contiene extensiones no incluidas en el Estándar, aunque desde luego en lo que respecta a su cumplimiento, es quizás uno de los que puede presumir de ser prácticamente 100 % "compliant". Desde luego puede representar una inestimable ayuda para los interesados en la programación C++ para Windows [2] y una herramienta que podríamos calificar de imprescindible para el desarrollo profesional de aplicaciones para los Sistemas de Redmond.
Durante mucho tiempo fue mi favorito, aunque actualmente utilizo "Visual" para mis desarrollos (Standard y Professional Editions). Durante mucho tiempo fue uno de los mejores compiladores C++, si no el mejor, si bien actualmente ha sido claramente desplazado por el equivalente de Microsoft. Es el mismo que utiliza el "Builder" de este afamado fabricante de software, aunque sin las utilidades "de pago", que son fundamentalmente el entorno gráfico de desarrollo y las herramientas RAD. La versión que aquí señalamos es una versión Windows para ser utilizada mediante líneas de comandos desde el Shell del sistema (una ventana DOS). Está disponible para su descarga libre desde la Web, aunque para acceder al fichero de instalación (un auto-instalable de 8.52 MB) hay que sufrir un proceso de "registro" algo tedioso [3]. El paquete contiene todas las herramientas para desarrollar aplicaciones C++, incluyendo la Librería Estándar de Plantillas (STL). Existen tres páginas de ayuda que permiten hacerse una idea del contenido y comenzar rápidamente con las primeras pruebas. Aconsejo echarles un vistazo antes de la descarga e instalación:
El paquete contiene distintos ejemplos que pueden servir de modelo, pero solo un fichero de ayuda (bcb5tool.hlp). El resto de la documentación puede encontrarse en esta página. Seleccionar el fichero B5std.zip (C++ Builder 5 core help files).
Borland Turbo C++ www.turboexplorer.com
Después de un tiempo de inactividad, Builder había quedado algo desfasado, por lo que la compañía ha decidido resucitar alguna de sus viejas glorias. En concreto la serie "turbo" que antaño le dieran fama y liderazgo en el mundo de la programación. Aunque hay quién dice que el esfuerzo es "too few and too late", quizás le interese echar un vistazo a la nueva versión del compilador. Existe una versión Profesional y otra, denominada Explorer, que es gratuita. Es un completo sistema de desarrollo (IDE) que permite construir aplicaciones nativas para Windows-32 con una adaptación bastante perfecta al estándar ISO/ANSI C++ y soporte para las librerías Boost ( Librerías) que resultaban algo dificultosas de integrar en Builder.
[Delorie] Compilador DJGPP www.delorie.com/djgpp
Se trata de un completo sistema de desarrollo de código abierto para construir programas C y C++ 32-bit. El entorno necesita un PC con procesador Intel 80386 y superior bajo DOS. Está disponible para descarga gratuita.
TheFreeCountry.com thefreecountry.com
Si lo que buscas son recursos gratuitos, quizás te convenga echar un vistazo a estas páginas. No solo compiladores C/C++; también librerías, intérpretes, bibliografía, etc., y enlaces a otras fuentes de información (buen sitio para seguir tirando del hilo).
[1] GNU (Gnu's Not Unix) Sistema de software no propietario, de dominio público, que está a libre disposición en Internet, de forma que cualquiera puede bajarlo, modificarlo y redistribuirlo. Fue iniciado en 1.984 por Richard Stallman en el MIT. Dentro de la inmensa cantidad de software que ha generado la iniciativa, cabe destacar GCC ("GNU C Compiler") que rápidamente se convirtió en un conjunto de compiladores de los lenguajes más importantes (C++, Objective-C; Objective-C++; Fortran; Java; Ada; Pascal y COBOL), por lo que las siglas anteriores pasaron a significar "GNU Compiler Collection". Los compiladores que la componen tienen a su vez nombres individuales. Por ejemplo, el de Ada es GNAT, y el de C++ es conocido como G++. Cabe destacar que todos ellos son compiladores nativos, en el sentido de que no se trata de preprocesadores que trasladan el código a otro lenguaje (como ocurría con las versiones originales de C++), y que existen versiones para los procesadores y máquinas más importantes: Intel; DEC; HP; Motorola; PDP; Power PC; SPARC; VAX; etc.
[2] Debido a que son algo elevados, es conveniente que antes de descargarlo, lea los requerimientos exigidos para su instalación.
[3] Si no estoy mal informado, Borland ha vendido recientemente su C++ Builder a otra empresa. Así que no se por cuanto tiempo permanecerá esta versión para su descarga libre en el sitio indicado (no dejes para mañana lo que puedas hacer hoy).