Centro Universitario de Tecnología y Arte Digital

Bjarne Stroustrup, creador de C++
Facebook
Twitter
LinkedIn

Bjarne Stroustrup, padre de C++: “Los mejores diseñadores de software tienen importantes habilidades fuera de la informática”

Bjarne Stroustrup es ingeniero de software, mundialmente conocido por diseñar e implementar el lenguaje de programación C++. Durante décadas ha trabajado mejorando C++ y manteniéndolo como una buena plataforma para desarrollar aplicaciones. Actualmente es un componente esencial en nuestra cultura tecnológica. Está en nuestro ordenador, en nuestro teléfono o en nuestro coche. Lo encontramos en el Telescopio Espacial James Webb y en los rovers de las misiones en Marte. También está en la mayor parte de los videojuegos, y en las películas de animación, y en muchas herramientas médicas. “Básicamente se utiliza en todas partes, incluso en tu máquina de hacer café”, explica.

Actualmente Stroustrup, que nació en la década de los 50, es técnico en Morgan Stanley (un importante banco de inversión), y profesor en la Universidad de Columbia, en Nueva York. Participa en la continua estandarización ISO y desarrollo de C++. Reconoce que habla con mucha gente para aprender a resolver problemas y probar sus ideas, ayuda con problemas de diseño de software, y continúa escribiendo algo de código.

Desde U-tad hemos querido hablar con uno de los padres de la programación. Tal vez no conozcas su nombre, pero ha creado la base de casi todo lo que te rodea. ¡Echa un vistazo a nuestra entrevista!

 

¿Por qué creaste C++?

Quería construir un sistema informático distribuido donde muchos procesadores podrían cooperar para conseguir realizar un trabajo. Esto podría hacer que el trabajo desarrollado por el software fuera más fiable y rápido. Para lograrlo necesitaba un lenguaje que pudiera manejar el hardware y las tareas de bajo nivel con la misma calidad que C. También necesitaba un lenguaje que pudiera expresar nociones abstractas de alto nivel, como módulos de software, recursos de hardware y protocolos de comunicación, como Simula. No existía tal lenguaje, así que creé uno agregando las clases de Simula a C, y luego mejorándolo según fuera necesario para las tareas del mundo real.

¿Qué es lo que más destacas de este lenguaje?
La capacidad de C++ de manejar bien el hardware y proporcionar abstracciones eficientes de alto nivel. Además de nuestra capacidad de hacer evolucionar el lenguaje para soportar nuevas tareas. Al igual que los lenguajes naturales, C++ se vuelve más flexible y expresivo con el tiempo.

¿Y qué es lo que más criticarías de C++? (aunque sea como un hijo para ti)
Intento no decir cosas de C++ que puedan sacarse de contexto. Es un buen lenguaje para muchas tareas pero, por supuesto, podría ser aún mejor. Con C++ intentamos simplificar las tares sencillas. Intentamos mejorar la capacidad de C++ para manipular la increíble variedad del lenguaje moderno. Intentamos hacer que el código de C++ sea más seguro.

¿Dónde encontramos C++ en nuestra vida diaria?
Está básicamente en todas partes: en tu teléfono, en tu televisión, en tu ordenador y en toda la infraestructura que les hace funcionar. Está en las herramientas de diseño y en las empresas que las crean. En los sistemas de distribución que las llevan hasta ti. En las granjas que producen tu comida. En la mayoría de las películas de animación (como The Matrix), y en los juegos. Casi ningún sistema está escrito en un lenguaje, pero C++ forma parte de la mayoría de los sistemas más complejos.

Si volvieras a nacer, ¿te volverías a dedicar al mundo del software? ¿Por qué?
Tal vez. Lo que puedes hacer depende mucho de tu entorno y un poco de la suerte. Crecer en Dinamarca me facilitó un ambiente en el que conté con mucho apoyo para aprender. Mi familia me permitió seguir mis inclinaciones y tuve suerte de conocer a personas realmente inteligentes y agradables. Podría fácilmente haber terminado dedicándome a campos muy diferentes. Me interesaba la historia, la filosofía, la arquitectura y muchos más sectores. Sin embargo, en mis años universitarios, lo que realmente llamó mi atención fue el software. La informática parecía ser un campo en el que poder contribuir positivamente. Software es un gran campo, pero no es el único.

¿El software nos domina, o deberíamos dominarlo?

Eso depende de ti. Puedes utilizar los ordenadores para hacer cosas buenas y constructivas. También puedes utilizarlos para pasar todo el día buscando en internet, jugando o viendo la televisión.

¿Qué recomendarías a esos jóvenes que quieren formarse como ingenieros de software? ¿Y a aquellos a los que no se les da bien la tecnología?

La tecnología es un mundo diferente del que vive la mayoría de la gente. ¡Y además es grandioso y emocionante! El camino principal para acceder a puestos tecnológicos es una buena educación. No es necesario que sea matemáticas o software, aunque ayuda. Y no debe ser solo matemáticas o ciencias de la computación. Necesitas tener un contexto para tu trabajo con el ordenador, y eso puede ser casi todo: historia, biología, lingüística, música, medicina, y muchos más campos de estudio. Los mejores diseñadores de software tienen importantes habilidades fuera de la informática. Para empezar necesitas poder comunicarte: escuchar, entender los problemas de otras personas y saber explicar soluciones verbalmente y por escrito.

¿Más de 30 años son suficientes para reconocer lo que un lenguaje como C++ ha hecho por la humanidad? ¿Somos conscientes de lo que supone para nosotros
Realmente no. La mayor parte de la gente está al tanto de artistas y políticos. Muchos tienen alguna idea sobre la ciencia y los científicos. Muy pocos saben algo de la ingeniería y los ingenieros. Nos quejamos cuando algo no funciona correctamente, pero la mayoría de las veces damos por sentadas nuestras maravillas tecnológicas. No es algo sorprendente. Significa que una gran parte de nuestro trabajo no se reconoce.

¿Echas de menos cómo trabajabas en programación y ciencias de la computación en los años de la creación de C++, en comparación con el momento actual?
Bueno, ahora trabajo en C++ y con C++. Este es un enfoque importante en mi trabajo en informática, diseño y programación. Estoy muy enfocado a la confiabilidad, el rendimiento y los costes. Podemos hacerlo mejor, así que trabajar en ello es interesante y gratificante. Pero, sí. De alguna manera era más fácil trabajar cuando era joven y desconocido.

¿Alguna vez hubieras imaginado ser el creador de la base y las raíces de mucho de lo que nos rodea? ¿Qué sientes?
No. Nunca imaginé el impacto de mi trabajo con C++. Solo intentaba estudiar algunos problemas que pensaba que eran importantes, y utilizar las habilidades que había acumulado durante mi formación. Resultó que el tipo de problemas que estaba abordando eran muy comunes y mis soluciones eran útiles más allá de mis sueños más locos. Me siento bien cuando veo que se utiliza C++ para algo grandioso y emocionante, por ejemplo en el trabajo del CERN para encontrar el Bosón de Higgs; o en los escáneres de los dentistas. Sin embargo, me siento mal cuando veo que se utiliza C++ para cosas inútiles o malas.

¿Cuál es el futuro de C++?
Espero que C++ evolucione hacia un lenguaje significativamente mejor de lo que es hoy. Espero que C++ se emplee bien en ciencia, en ingeniería, en medicina y demás. Naturalmente, la mayor parte de los usos de C++ no son ni serán espectaculares. Espero que se sutilice en millones de pequeños dispositivos y servicios que hagan la vida más segura y placentera para miles de millones de personas.

¿Y qué cambiarías de tu experiencia profesional y de tu relación con C++?

Si tuviera una máquina del tiempo, pasaría más tiempo buscando personas inteligentes y amables. Pasaría más tiempo con ellos y aprendería de ellos. Eso me habría inspirado a mejorar aún más C++ y, tal vez, hacer algo que ni siquiera puedo imaginar.

————————–

La imagen que acompaña esta publicación ha sido compartida con U-tad por el propio Bjarne Stroustrup.

Tú también puedes ser ingeniero de software.
Facebook
Twitter
LinkedIn