Qué son C y C++
C es un lenguaje de programación
de ordenadores, de propósito general. Su uso está
muy extendido, y existen compiladores para muchos sistemas operativos.
C++ (C plus plus o C más
más) es una evolución del
lenguaje C, que soporta la Programación Orientada a Objetos.
Cursos de C y C++
Cursos de C:
- Curso de C, por Nacho Cabanes. Mi curso de C está
en plena remodelación. Lo estoy revisando y reescribiendo
entero. Esta remodelación terminará en Junio
de 2006 (será progresiva, durante el curso escolar
2005-2006). Así que ahora mismo tienes disponibles tres
versiones:
- Referencia de C", con detalles de
alguna de las funciones más habituales de C, por Nacho Cabanes.
- Libro "Aprenda Ansi C
como si estuviera en primero", de la Escuela Superior de
Ingenieros Industriales, Universidad de Navarra. Es un documento
en formato PDF, de 460 Kb.
- Curso de C por Angel Salas
(Universidad de Zaragoza), en español, en formato PDF
, de 360 K, 240 páginas impresas.
- Tienes ejemplos de C en Linux en la
página de Chuidiang
- Tienes un seminario de C (4 entregas de unas 10 páginas
cada una) y otro de C++ (3 entregas de unas 10 páginas cada
una) en la página de la asignatura de Algoritmos y
estructuras de datos, de la Universidad de Murcia.
- Curso de Visual C por
Daniel Villahermosa, en español, en formato PDF, y
comprimido con ZIP, de 693 K, 31 páginas impresas.
- Antonio Lebrón Bocanegra creó un tutor de C y
C++ (para MsDos) como proyecto final de carrera. El curso original
lo puedes descargar desde aquí,
pero también tienes disponible una versión convertida a PDF de su
curso de C (cerca de 500 Kb de tamaño).
- Tambien tienes una
Referencia breve de C, en español (2 páginas, un
fichero PDF de 68 Kb).
Cursos de C++:
-
Curso de C++, por Luis de Salvador, en formato PDF, 50 p
áginas en un fichero de 140 Kb, con algún ejercicio
resuelto.
- En la colección "Aprenda... como si
estuviera en primero" tienes "
Aprenda C++ como si estuviera en primero", en formato
PDF.
- Curso de C++
, por Salvador Pozo, en
c.conclase.net. Para leer en línea. Si necesitas una
versión para descargar, aquí tienes una (más
antigua) convertida a PDF
.
- Introducci
ón a C++, por Nacho Cabanes, versión para consultar
en línea, alojada en aprendeAprogramar.com.
Dentro de poco existirá una versión en PDF por si
prefieres imprimirla con comodidad. En este servidor tienes foros
para consultar tus dudas y ejercicios en línea para asentar
tus conocimientos.
- Libro "Thinking in C++", en inglés, de Bruce
Eckel, versión electrónica disponible en www.bruceeckel.com. Si quieres
llegar directamente al libro, puedes mirar
aquí.
- Este libro está siendo traducido al españ
ol por varios voluntarios en
www.eitig.com. Si ese enlace falla, puedes probar en
arco.inf-cr.uclm.es/~david.villa/pensarC++.html
- Antonio Lebrón Bocanegra creó un tutor de C y
C++ (para MsDos) como proyecto final de carrera. El curso original
lo puedes descargar desde aqu
í, pero también tienes disponible una versión convertida a PDF de
su curso de C++ (cerca de 1 Mb de tamaño).
- También te pueden ser útiles las FAQ (preguntas
frecuentes con sus respuestas). La version "lite" la
tienes en
www.parashift.com/c++-faq-lite/ y las FAQ recopiladas
por Bjarne Stroustrup (uno de los diseñadores del lenguaje)
están en
www.research.att.com/~bs/bs_faq.html
Otros cursos relacionados con C
Compiladores de C y C++
Para Windows, C y C++:
- La versión "Express" de Visual C++ 2010
se puede descargar libremente desde la página Web de
Microsoft, en www.microsoft.com/express/downloads,
aunque hay que registrarla al cabo de un mes.
- Si quieres algo más ligero, que neceiste un ordenador menos potente, MinGW
es un compilador de C y C++ basado en el de GNU (GCC), adaptado para Windows.
Se puede descargar de www.mingw.org. En
esta página puede llegar a ser complicado
encontrar lo que se debe descargar, pero una alternativa es descargar
un entorno que lo incorpore listo para usar, como estos tres:
- CodeLite es un
entorno de desarrollo para Windows (y otros sistemas
operativos), apoyado en el compilador de C y C++ MinGW, que se
actualiza continuamente. La última versión es la
2.10.0.4778, de abril de 2011. La descarga es un fichero de
24 Mb que incluye el compilador MinGW, o bien uno de 7.9 Mb que
contiene sólo el entorno.
- CodeBlocks
es otro entorno de desarrollo para Windows, que tambi
én se puede descargar por sí sólo (un
fichero de unos 10 Mb) o con el compilador MinGW en un paquete
listo para empezar a trabajar (un fichero de unos 20 Mb). La
última versión estable es la 8.02, del 28 de
febrero de 2008. Se sigue mejorando y se lanzan con frecuencia
nuevas versiones con ligeras correcciones ("nightly builds
"). Tiene más detalles (en inglés) en su foro
. Si prefieres una descarga local, aquí tienes la versión 1.0rc2 (13.5 Mb) lista para
descargar.
- Dev-C++
es un entorno de desarrollo para Windows, creado por
Bloodshed,
que se puede descargar solo o con el compilador MinGW (GCC
3.4.2), en un paquete listo para empezar a trabajar. La ú
ltima versión es la 4.9.9.2, de febrero de 2005.
- Otro entorno es
MinGW Developer Studio. Su última versión
es la 2.05, de abril de 2005 (con GCC 3.4.2). Recientemente,
esta página fallaba. Por si sigue ocurriendo, aquí tienes una descarga local
(23 Mb).
- Watcom C++ ha
sido mucho tiempo uno de los compiladores comerciales más
extendido. La mayoría de los juegos comerciales
desarrollados entre 1993 y 1995 se crearon con él. La lista
incluye joyas como Doom y Duke Nukem 3D. Ahora se ha convertido en
"Open Source". Se puede descargar la documentación y
el compilador (versión 1.9 disponible desde junio de 2010),
en www.openwatcom.com
-
Borland C++ 5.5 también tiene una versión de
libre distribución (que no incluye entorno de desarrollo, s
ólo las utilidades de línea de comandos) y se puede
descargar desde la página Web de Borland. Se trata de una
herramienta de agosto de 2000. También se pueden consultar
unas instrucciones básicas de uso (en inglés) en
community.borland.com/article/0,1410,20997,00.html
- Digital Mars
es un compilador de C y C++ para Dos y Windows, de libre distribuci
ón, creado por Walter Bright (autor de Symantec C++), que
no incluye entorno de desarrollo (excepto si se "compra el CD").
Versión 8.52 disponible desde abril de 2010.
-
LCC-Win32. Un compilador de C de libre distribución
(gratis) para Windows, de 3.2 Mb de tamaño.
- Cygwin no es sólo
un compilador, sino la adaptación a Windows de toda una
serie de herramientas Unix.
Para Dos
- Turbo C++ y Borland C++ son productos de Borland, hoy descatalogados, de modo
que sera dificil adquirirlos en tiendas. La versión actual
recibe el nombre de "
C++ Builder", y es un compilador visual para Windows. La
informacion sobre los productos de desarrollo creados por Borland
está en la direccion www.borland.es/products.
-
Turbo C 2.01 ahora es de libre distribución y se
puede descargar desde la página Web de Borland,
-
Turbo C++ 1.01 ahora es de libre distribución y se
puede descargar desde la página Web de Borland.
- DJGPP. Un
buen compilador de C/C++ gratis de 32 bits para MsDos (y Windows
modo texto), basado en el compilador de GNU, y adaptado por DJ
Delorie. Puedes leer algo más sobre él
en mi Blog. Desde allí también podrás
descargar una versión preinstalada, lista para usar.
- PCC 2.1. Un
compilador de C de libre distribución (shareware) y de peque
ño tamaño (unos 175 K, descarga local).
Para Linux:
- El compilador GCC debería estar disponible en casi
cualquier distribución de Linux.
- Si quieres un entorno de desarrollo, KDevelop es parte del
escritorio KDE, y Anjuta es un entorno para Gnome, que tiene su p
ágina oficial en anjuta.sourceforge.net. Un
entorno alternativo, más sencillo y adecuado para programas
de pequeño tamaño es Geany. Puedes leer algún comentario sobre las
diferencias de las versiones actuales de Anjuta y Geany en mi Blog.
Librerías para programación visual
Se tiende cada vez más a que los programas que se realizan para
otros usuarios tengan interfaces gráficas (típicamente
basadas en ventanas), no en modo texto. Por eso, existen muchas
librerías de funciones que permiten crear aplicaciones de este
tipo. Algunas de ellas permiten existen incluso en versiones para
diversos sistemas operativos, como Windows, Linux y MacOs X, lo que
permite crear con facilidad programas portables. También es
frecuente actualmente que incluyan un editor visual que nos ayude a
crear la parte visible de la aplicación sin necesidad de teclear
nada.
Algunas de las librerías más reconocidas de este tipo son:
- QT, de
Trolltech, que tiene versiones comerciales pero también una
versión Open Source. Incluye un editor visual, QT Designer.
- Gtkmm (basada en C++) y Gtk+ (para lenguaje C), una
libreria desarrollada inicialmente para ser utilizada en el
programa de manipulación de imágenes "The Gimp". Su
editor visual es Glade.
- Una tercera alternativa interesante es WxWidgets, usada en aplicaciones
como el editor de sonido Audacity o como SciTech Display Doctor.
WxDev es una
ampliación del entorno Dev-C++ pensada para desarrollar
aplicaciones con WxWidgets, que incluye la librería, el
compilador, el editor y un diseñador de formularios.
Fuentes en C y C++
Otros enlaces sobre C y C++
- Lista de alguno de los cambios que supone
el estándar C99, de 1999
y el estándar C11,
de finales de 2011 (y también otro documento alternativo)
- Página de Bruce Eckel, creador de libros como "Thinking
in C++" y "Thinking in Java", cuyas versiones electrónicas
están disponibles, así como los ejemplos incluidos
en los libros. También existe un "Thinking in C", en
formato de de animación flash. Puedes encontrar todo ello
en: http://www.bruceeckel.com
- HelpPC es una referencia
muy completa que incluye ayuda sobre hardware del Pc, las
principales funciones del lenguaje C, ensamblador, interrupciones
y órdenes de MsDos. Está comprimido en un fichero de
275 K de tamaño.
- XNA es una serie de herramientas gratuitas de Microsoft, dise
ñadas para permitir crear juegos para Pc y Xbox con una
cierta facilidad. A mí no me gustó tanto como
esperaba (puedes leer los motivos en mi blog), pero para quien tenga
equipos potentes, puede ser interesante echarle un vistazo. Puedes
ver más detalles en su página oficial, es
msdn2.microsoft.com/es-es/xna (a fecha de escribir esta cita,
todavía está sólo en inglés).