martes, 20 de marzo de 2012

Primer paso: Aprender C++

De cara a desarrollar nela, la primera decisión fue elegir el lenguaje de programación a emplear. En la carrera sólo hemos aprendido Ada95, Java y algo de C y PHP. Java es útil para desarrollar programas multiplataforma, pero las aplicaciones gráficas desarrolladas con Swing se ven extrañas en todos los sistemas operativos. Para evitar este problema, posiblemente la mejor opción sea usar las bibliotecas Qt de Nokia (hay otras, como usar GTK o wxWidgets).

Como lenguaje tenemos Python y C++. Python es un excelente lenguaje, y además fácil de aprender, pero es interpretado, con las ventajas y desventajas que conlleva. C++ es un lenguaje mucho más grande y complicado, pero con enorme peso. Buena parte de las aplicaciones que usamos (desde el navegador a la suite ofimática) están escritas en él. Qt se desarrolló pensando en este lenguaje (aunque también se puede usar con Python), por lo que la mayor parte de la documentación se refiere a él.

En el mercado hay centenares de libros sobre C++, entre los que he seleccionado unos pocos guiándome principalmente por las reseñas de la Association of C and C++ Users (aquí podéis ver algunos de los mejores, en distintos niveles). Los agraciados son:
El primero es muy bueno para gente que no ha programado nunca, en ningún lenguaje. Lógicamente no profundiza demasiado, y algo de programación ya sé, así que lo he desechado.

Los dos últimos son libros larguísimos que cubren todos los aspectos del lenguaje, y C++ es inmenso. Mucho más de lo que necesito.

El segundo usa una biblioteca ad-hoc, lo que no me acaba de convencer. Accelerated C++ es una obra mucho más reconocida, y no utiliza ninguna biblioteca extraña. Eso sí, el título es muy adecuado: avanza a un ritmo frenético, lo que lo hace muy exigente con el lector. De hecho, compré este libro hace un tiempo, y lo he empezado dos o tres veces, sin llegar nunca finalizarlo, a pesar de que mientras tanto he aprendido Java y principios de OOP en la carrera. Además, buena parte del libro se centra en las características de la Standard Template Library, que al programar con Qt no es necesaria, porque se solapan.

Finalmente, me he decantado por A Complete Guide to Programming in C++. Escrito de forma muy clara, creo que podría ser aprovechado incluso por chavales de instituto sin ningún conocimiento de programación. Se dedica a la parte central del lenguaje, sin adentrarse excesivamente en la STL. Y a pesar de su tamaño, es fácilmente digerible.

Así que en los últimos meses me he dedicado aprender C++ con este libro, complementado con otro del que os hablaré el próximo día...

1 comentario:

  1. Hola. Hace mas de un año que escribiste este artículo, pero los libros que mencionas no dejan de perden vigencia en tan poco tiempo.
    Es una gran ayuda leer estos comentarios sobre libros de c++. Este es un lenguaje que me encanta, por lo cual me interesó mucho el conocer la opinión sobre estos libros que no tengo en mi biblioteca.

    ResponderEliminar