Bjarne Stroustrup se ha sincerado en muchas ocasiones. No tiene ningún reparo para reconocer que durante su juventud no fue un estudiante brillante. Fue, sencillamente, un estudiante correcto. Lo que tiene, lo que ha conseguido, se debe, según sus propias palabras, a una suerte que fue acrecentándose a medida que invertía más y más horas de su tiempo en aquello que le apasionaba: la programación.
Sorprendentemente, C++, la obra por la que Stroustrup es inmortal desde hace ya algo más de cuatro décadas, fue un efecto colateral y no un desarrollo buscado premeditadamente. Dennis Ritchie había creado el lenguaje de programación C en los Laboratorios Bell de AT&T apenas una década antes con el propósito de desarrollar una herramienta que facilitase la implementación de sistema operativos. Utilizándolo, el propio Ritchie, Ken Thompson y otros ingenieros de AT&T reimplementaron el núcleo del sistema operativo Unix a finales de los 60.
De C a C++: una travesía necesaria
Durante la década de los 70 el lenguaje de programación C sorteó las fronteras de los laboratorios Bell para consolidarse como una herramienta de propósito general muy útil no solo para desarrollar sistemas operativos, sino también aplicaciones que pudiesen ser ejecutadas en un abanico amplio de arquitecturas que abarcaban desde superordenadores hasta sistemas empotrados.
Stroustrup inicialmente llamó a su lenguaje de programación imperativo, estructurado y orientado a objetos «C con clases»
Sin embargo, a pesar de la indiscutible polivalencia y la enorme eficiencia de C, Stroustrup, que a finales de los 70 acababa de comenzar su carrera profesional en los mismos Laboratorios Bell en los que no muchos años antes habían nacido C y Unix, echaba algo de menos en el lenguaje de programación ideado por Dennis Ritchie: los mecanismos necesarios para manipular objetos. Así que, ni corto ni perezoso, se puso manos a la obra para desarrollar una extensión de C que permitiese trabajar con objetos. Este fue el germen de C++.
Stroustrup inicialmente llamó a su lenguaje de programación imperativo, estructurado y orientado a objetos «C con clases». No fue hasta 1983 cuando Rick Mascitti, uno de sus compañeros en los Laboratorios Bell, propuso bautizarlo como C++ en una referencia clara al operador utilizado en el lenguaje C para incrementar el valor de una variable numérica o un puntero. La denominación C++ no es más que una forma ingeniosa de reflejar que este lenguaje es una extensión de C.
La huella de C en C++ está implícita en el nombre de este último lenguaje de programación, pero en el desarrollo de Stroustrup influyeron también otros lenguajes. Ada, CLU, ALGOL 68, ML, y, sobre todo, Simula, considerado unánimemente el primer lenguaje de programación orientado a objetos, son algunos de los que tomó ideas para dotar a C de la capacidad de manejo de objetos a la que aspiraba. Stroustrup trabajó con Simula durante su tesis doctoral, por lo que su familiaridad con él era un buen punto de partida para desarrollar la extensión de C que tenía en mente.
La esencia de C++
El currículo de Bjarne Stroustrup es impresionante. Su viaje desde su Dinamarca natal arrancó desde un punto de vista profesional en los Laboratorios Bell, pero después dio clase durante más de una década en las Universidades de Texas A&M, Columbia y Princeton, y publicó más de un centenar de artículos científicos, así como varios libros de referencia y consulta obligada para los estudiantes y los profesionales de la programación.
Su obra más aclamada e influyente es «The C++ Programming Language», un libro que desarrolla los conceptos, la sintaxis, la filosofía y los rudimentos de este lenguaje de programación con mucha claridad y de una forma muy didáctica. Actualmente va por la cuarta edición y es una joya con la capacidad de enriquecer la biblioteca de cualquier aficionado o profesional de la programación.
Su obra más influyente es «The C++ Programming Language», un libro que desarrolla los conceptos, la filosofía y los rudimentos de este lenguaje con claridad y de una forma muy didáctica
Aunque dentro de unos días cumplirá 70 años, Stroustrup sigue en activo. Ha coqueteado con la idea de retirarse varias veces, pero las últimas noticias que tenemos de él confirman que continúa trabajando en el banco Morgan Stanley de Nueva York para, como él mismo confiesa, «[...] entender cómo se hace el software en lugares reales. Ver lo que la gente programa en lugar de lo que se supone que debería hacer según una teoría u otra».
A principios de 2019 fue investido doctor honoris causa por la Universidad Carlos III de Madrid, un reconocimiento que se suma a una larga lista de galardones que premian una obra que lo coloca a la misma altura de otros grandes científicos expertos en computación como Niklaus Wirth o Andrew S. Tanenbaum, entre otros.
En Internet podemos encontrar sin dificultad muchos vídeos que recogen tanto entrevistas a Bjarne Stroustrup como algunas de las ponencias que ha pronunciado en universidades y otras instituciones diseminadas por todo el planeta. Aun así, el vídeo que publicamos encima de estas líneas es especialmente interesante porque en él el protagonista de este artículo desvela con todo lujo de detalles cuál es la esencia de su obra cumbre. Cuál es el propósito de C++. Un apunte si decidís echarle un vistazo: la charla de Stroustrup comienza en el minuto 7:25.
Imágenes | Negative Space | Julia Kryuchkova
Ver 25 comentarios