Para los que no me conocen llevo ya unos 6 años programando en C#, así que seguro que más de uno se sorprende al ver que lo primero que he subido a GitHub es código en C++.
###Una pequeña explicación
No hace mucho leí The Pragmatic Programmer y con una de las cosas que me quedé es con la sugerencia de aprender al menos un lenguaje de programación cada año, aunque me gusta más el matíz que da Martin Fowler sobre el tema.
El caso es que hablando sobre las ventajas multiplataforma de los lenguajes “menos abstractos” o “más cercanos a la máquina” y sobre el desarrollo para móviles, me picó el gusanillo sobre volver a C++, recordar los tiempos del manejo de punteros, etc… y ver hasta donde podía llegar.
Tienes más óxido encima que una moto de la Segunda Guerra Mundial – Alberto Chicote
Tengo que decir que la experiencia está resultando gratificante y dura a partes iguales. Lo más duro está siendo volver a problemas que creía olvidados, desde conocer si la arquitectura de la máquina donde se va a ejecutar la aplicación es Little Endian o Big Endian, hasta cosas tan tontas como tener que declarar las funciones antes que usarlas, o recordar que el tamaño de los enteros depende de lo que decida el compilador, normalmente basándose en la arquitectura en la que compila.
Más tarde intenté volver a compilar los fuentes de la entrega final de mis prácticas de programación de informática gráfica, desarrollada en C++ y usando OpenGL, y fue un auténtico dolor ya no sólo ver el código escrito en castellano ( ¡En castellano! ) sino constatar que el código está completamente acoplado a Borland C++, y a sus librerías gráficas para creación de ventanas.
¡Venga muévete! ¡Aunque sea para hacerlo mal! – Alberto Chicote
Intenté compilarlo con la última versión del software de Embarcadero que al parecer compró a Borland en 2008, pero por ahora no ha habido manera, me lo planteo como reto más adelante.
###Resultado
Tras la cura de humildad, fui directo a Internet a buscar un buen libro que me sirviera para ponerme al día, y tras ver unas cuantas opiniones me hice con C++ for the Impatient, y ahí estoy, pasito a pasito, desoxidándome y aprendiendo las novedades de C++11 mientras realizo ejercicios que subiré los voy considerando interesantes.
Espero poder escribir próximamente un poco más sobre las características nuevas de C++11 y la práctica del Quicksort.