Disponible la nueva versión "donationware" 7.3 de OrganiZATOR
Descubre un nuevo concepto en el manejo de la información.
La mejor ayuda para sobrevivir en la moderna jungla de datos la tienes aquí.

Curso C++

[Home]  [Inicio]  [Índice]


A modo de prólogo

"... Creo que sería tan extravagante actuar decentemente en política que podría llegar a ser rentable. Y si no lo fuera, al menos nos respetaríamos a nosotros mismos. Que no es poco".  Antonio Robles en "Ciudadanos de Cataluña y Vidal-Quadras" [7].  Artículo aparecido en el periódico on-line  Libertad Digital 


Todo esto puedes saltártelo, se trata solo de justificarme a mí mismo...

Más que "curso", tal vez deberíamos decir apuntes, chuleta, traducción o chapuza (para los más exigentes). En principio son, mejor debería decir "nacieron", simplemente como unos apuntes personales para ponerme al día; para refrescar los conocimientos sobre C/C++, que tenía bastante oxidados, pues los únicos pinitos al respecto que había en mi "Currículum" fueron lo sucinto para hacer un pequeñísimo programa que leyera y escribiera en determinadas posiciones de memoria en un PC bajo MS-DOS; se trataba entonces de controlar una tarjeta de adquisición analógico-digital específica. La herramienta fue el compilador C 5.1 de Microsoft que aún conservo.

Ahora, unos 15 años más tarde, me veo en la necesidad de volver a utilizar el C; mientras tanto he oído, leído y utilizado algo la programación orientada a objetos, de forma que me parecía lo natural hacerlo en C++, así que lanza en ristre como D. Quijote, descargo el magnífico compilador C++ Builder de Borland-Imprise (que es gratis total), saco los viejos libros de C, y sobre todo, me bajo todas las ayudas que hay sobre el tema en el "site" de Borland.  Además, aunque conservo un librito de un tal Bjarne Stroustrup: "The C++ programming language", que venía de regalo con un compilador que compré entonces (1989): "Zortech C++ Compiler" (con el que confieso que no llegué a hacer gran cosa) y del que ahora me entero que el tal Stroustrup, además de tener un nombre impronunciable, es nada menos que el inventor del C++.  Bueno, a lo que iba:  me parecía que el librito era poca cosa, así que encargo el nuevo y actualizado; un "tocho" de más de mil páginas, que cuesta un @ y que es el no va más sobre el tema [1].  Además descargo algunas cosas que encuentro por ahí sobre C++ que me parecen interesantes, algunas de las cuales encontrareis en el capítulo de bibliografía (perdón si se me olvida citar alguna).

La primera sorpresa que me encuentro, al empezar a hincarle el diente a todo mi flamante bagaje informativo, es que aunque el viejo C de K&R [3] sigue estando bajo la piel del nuevo C++, el lenguaje ha evolucionado.  Hace poco, mi hermano que es precisamente profesor de informática, me dijo que el C era un lenguaje muy pequeño y fácil "Ni siguiera las E/S forman parte de él"; puede que eso sea verdad, creo que sí [4].  Pero de lo que no me cabe duda, es que pertenezcan o no las rutinas de E/S al propio lenguaje (al fin y al cabo, salvo que hagamos un programa "autista", tendremos que utilizarlas), el pequeño bebé ha crecido hasta convertirse en el monstruo que es ahora. Miro los ejemplos y ni siquiera entiendo la notación...

Lo que pensaba que sería un paseo militar, empieza a convertirse en algo a lo que tengo que dedicar muchas (muchísimas) horas, así que decido pasar muy despacito desde el principio hasta el final, y no se me ocurre mejor manera que ir haciendo mi propio libro de C++ por el sistema de ir cortando, pegando y traduciendo los diversos capítulos del manual de ayuda "C++ Builder Languaje Guide" [2].  En algunos puntos voy incluyendo mis propias explicaciones o entresacados de otros textos que me parecen reveladores.  Además de enterarme, lo que pretendo es llegar a tener un texto donde yo mismo pueda encontrar lo que quiero sin que ocurra lo de siempre: "Lo he leído en algún sitio pero no recuerdo donde...", con todos los índices, tablas y referencias cruzadas que estime convenientes; como veréis estoy describiendo mi propio método de estudio cuando algo me interesa.

El siguiente paso es bastante obvio: Porqué no ponerlo en la Red por si puede servirle a alguien más?.  Ya se que en la red hay mucho y bueno, pero casi todo en inglés; además, pienso que si algún estudiante o programador hispano-hablante saca de aquí, aunque solo sea una idea o un concepto, habrá cumplido su cometido.

Dicho todo esto, solo me queda volver a advertiros que no se trata del docto trabajo de un súper experto en el tema.  Se trata simplemente del trabajo de un programador "patatero" (que ha pelado muchísimas patatas) [5].  Si hay algún error es porque yo mismo no lo tengo claro, y por supuesto os agradecería cualquier puntualización, crítica o aportación al respecto.  Entiendo que a más de uno le parezca un atrevimiento hacer unos apuntes, traducción, etc sobre C++ admitiendo el propio desconocimiento; lleva razón, es atrevido, por eso he intentado explicaros el origen y la intención.  Además, a fin de cuentas se ven por ahí cosas peores; conozco a uno que ha puesto en su página personal el "careto" de su perro...

Nada más.  ¡Que sea leve!.  Antes de despedirme, solo contaros un pequeño chiste que circula por las escuelas de informática.  Viene a decir que Stroustrup se mostró muy extrañado del éxito de su C++, y que en "petit comité" había reconocido que lo único que pretendió era que le subieran el sueldo a los programadores de los laboratorios de AT&T, y que lamentaba que algunas empresas hubieran ido a la bancarrota intentando pasar sus programas a C++...[6]

Greetings (que dicen los Yanquis)

© Adolfo J. Millán

Comienzo: Cádiz (España), Agosto 2.000

  Inicio.


[1]  Casi todo el mundo está de acuerdo en que no es un libro para estudiar C++, sino la suprema referencia, "La Biblia" del C++, y que para entenderlo es imprescindible haber estudiado C++ previamente ("To read this book, you will need tons of C++ & OOP knowledge, even if you are an ace C programmer").  Más datos sobre este libro en la Bibliografía ( Stroustrp 2000), extensos comentarios sobre el mismo en Amazon ( www.amazon.com).

[2]  Así pues, los derechos de autor corresponden principalmente a Borland-Imprise, pues originalmente se trata de una traducción "No autorizada" de dicho manual. Espero que no me demanden por ello; el resto del copyright y los errores son míos.

[3]  K&R. Siglas con que se conoce a Brian W. Kernighan y Dennis M. Ritchie, creadores del lenguaje C.

[4]  Kernighan y Ritchie parece que también están de acuerdo: "El lenguaje C no es grande y no le está bien un gran libro".... "Puesto que C es relativamente pequeño, se puede describir en un pequeño espacio y aprender con rapidez. En verdad, un programador puede razonablemente esperar conocer, entender y utilizar la totalidad del lenguaje" ( K&R).

[5]  Bueno... también tengo mi culturilla universitaria.

[6]  Mucho tiempo después de escribir este prólogo, un amable lector me envió un divertidísimo e-mail con una versión apócrifa del chiste aludido.  Está en forma de una supuesta entrevista con Stroustrup, en la que este explica las razones de la invención del lenguaje.  Incluyo su trascripción literal ( 0.Pw1) para que el lector tenga una idea aproximada de lo que le espera :-))

[7]  Sí. Ya se que no tiene nada que ver con el C++ o con la Informática, así que perdonadme.  Es que acabo de leerlo y me ha parecido tan hermoso que no he podido resistir la tentación de ponerlo en algún sitio (que no solo de pan vive El Hombre!!).