C y C++

C fue creado en los Bell Telephone Laboratories al principio de los 70, por Dennis M. Ritchie. Su nacimiento estuvo ligado al del sistema operativo Unix, que se desarrolló paralelamente. Sus características debían ser: eficiencia (o sea, rapidez en la ejecución de los programas), potencia (permite explotar a fondo las posibilidades de la máquina) y portabilidad (el mismo código puede compilarse en máquinas diferentes). Unix fue reescrito en C, lo cual supuso un gran éxito de este lenguaje, a partir del cual se convirtió en uno de los más extendidos. La historia del nacimiento de C, contada por Dennis M. Ritchie, puede leerse en https://www.bell-labs.com/usr/dmr/www/chist.html.

A C se le ha criticado que los programas suelen ser poco legibles y propensos a errores. Por contra, casi nadie le discute su potencia y su gran implantación, que a menudo lo convierten en la elección inevitable para proyectos colectivos.

A partir de 1979, Bjarne Stroustrup, de AT&T, empezó a trabajar en un descendiente de C con soporte para orientación a objetos y otras mejoras, que sería conocido como C++ (la primera versión, interna de AT&T, data de 1983). En http://www.research.att.com/~bs/C++.html hay una lista de recursos sobre C++ creada por el propio Bjarne Stroustrup.

ACC es un compilador de un subconjunto de C que genera código ensamblador en modo protegido para MS-DOS. El paquete también incluye el ensamblador A86.

Tanto el compilador como el depurador de la versión 5.5 de Borland C++Builder son distribuidos gratuitamente por Borland.

Ch es un superconjunto de C, interpretado y fácil de usar. Hay una versión estándar gratuita para todos los usos, y una profesional, sólo gratuita para uso académico. Está disponible para varios sistemas, incluyendo Windows, Linux y MacOS X.

Cilk es un lenguaje para programación paralela multihilo basado en ANSI C. Se distribuye sólo el código fuente y se ha instalado en varios sistemas POSIX incluyendo Linux y MacOS X (no les vayas a preguntar si se puede instalar en Windows NT, que parece que no les gusta).

CINT es un intérprete de C y C++ que cubre el 95% de ANSI C y el 85% de C++. Funciona en muchas plataformas, incluyendo Windows, MS-DOS, Linux y MacOS. Se distribuye el código fuente y un ejecutable para Windows.

Cyclone es un lenguaje basado en C diseñado para ser seguro. Funciona en Linux y Windows con Cygwin. Sólo se distribuye el código fuente.

Digital Mars distribuye en un solo paquete compiladores de C y C++ para DOS16, DOS32, Win16 y Win32.

eC es un subconjunto de C++, diseñado para servir como herramienta para aprender este lenguaje. Está especialmente pensado para que sea fácil la transición desde Pascal. Se distribuyen en un solo paquete compiladores e intérpretes para DOS y Windows (y muchos ejemplos).

EiC es un C interpretado que puede usarse de forma interactiva. Hay versiones para varios sistemas Unix, Win32 y DOS con DJGPP. También se distribuye el código fuente.

GCC (GNU Compiler Collection) es un paquete GNU que incluye compiladores de C, C++ y otros lenguajes. Los compiladores de C (gcc, con minúsculas) y C++ (g++) van incluidos en todas las distribuciones de Linux, y sirven como lenguajes de programación para la mayor parte del trabajo desarrollado en GNU/Linux, incluyendo el kernel de Linux. Hay también adaptaciones para DOS (DJGPP) y Win32 (Cygwin y MinGW). Dev-C++ es un entorno de desarrollo que puede usarse con cualquier versión de GCC para Windows (incluye MinGW).

LadSoft (David Lindauer) distribuye cc386 (código fuente y ejecutable), un compilador de ANSI C para Windows y MSDOS con DPMI, y CC68K, un cross-compiler para Windows de código ejecutable de Motorola 68K (incluye también un simulador que puede ejecutar el resultado).

lcc, por Chris Fraser y David Hanson, es un compilador de ANSI C. Se distribuye el código fuente, así como archivos binarios para Windows. lcc está descrito en el libro A Retargetable C Compiler: Design and Implementation.

LCC-Win32 es un compilador de C ampliamente documentado, desarrollado por Jacob Navia a partir del documento A portable C compiler, de Dave Hanson y Chris Fraser (supongo que es una versión antigua del libro citado anteriormente). Es gratuito para uso no comercial.

Leonardo es un entorno integrado para Macintosh (con PowerPC) basado en ANSI C, incluyendo también el lenguaje de visualización ALPHA (que se inserta dentro del código fuente en comentarios especiales). Está indicado para el aprendizaje de C, la depuración de programas y la programación de «algoritmos animados». Permite la ejecución hacia atrás (!). Este proyecto ha sido abandonado en favor de Leonardo Computing Environment (a continuación).

Leonardo Computing Environment es el sucesor de Leonardo y tiene características similares. Está siendo desarrollado en Windows, Linux y MacOS.

Macintosh Programmer's Workshop es un conjunto de herramientas para programación de Macintosh. Incluye compiladores de C y C++ para micros 68k y Power PC para sistemas 7.x, 8.x y 9.x.

Open Watcom C/C++ es el sucesor de código abierto de una famosa versión comercial de C y C++. Se distribuyen gratuitamente (aunque se solicitan donaciones) el código fuente y paquetes instalables para Windows y OS/2. También se distribuye la versión 11.0c de Watcom.

Pacific C es un compilador gratuito para MS-DOS, distribuido anteriormente como shareware por HI-TECH. Incluye un entorno de desarrollo integrado.

Pelles C es un completo kit de desarrollo para Windows y Pocket PC. El compilador está basado en lcc.

Sphinx C-- es un lenguaje de medio a bajo nivel para ordenadores con microprocesadores 80x86, una especie de mezcla entre C y ensamblador. El autor original, Peter Cellik, abandonó en 1996 su desarrollo, pero otros programadores han continuado su trabajo. Parece que C-- es un lenguaje más general.

Small C es un pequeño compilador de C con códigos fuentes para distintas plataformas, entre ellas MS-DOS y CP/M.

Tiny C es un compilador para Linux muy pequeño y rápido.

Turbo C es el viejo compilador C de Borland para MS-DOS. Borland distribuye ahora gratuitamente algunas versiones. Aquí se encuentra la 2.01.

El Visual C++ Toolkit 2003 de Microsoft incluye todas las herramientas necesarias para compilar y enlazar aplicaciones basadas en C++ para Windows y .NET Common Language Runtime. Son 32 Mb.


Última revisión: 7 de agosto de 2004

Código XHTML 1.0 validado