Lo más simple posible
“Most macros only serve to show how clever the programmer thinks he is; the community encourages this behavior. Now, the 5% of the time when you do need them, they’re indispensable.” (“La mayoría de los macros sólo sirven para mostrar lo inteligente que el programador cree que es; la comunidad alienta este comportamiento. Ahora, el 5% de las veces cuando se los necesita, ellos son indispensables.”)– Joe Pepersack
Why didn’t Common Lisp fix the world?
Esta es una interesante discusión sobre C++ Moderno, y por qué no deberíamos preocuparnos por las nuevas versiones y acontecimientos en el proceso de modernización de C++. Yo estoy de acuerdo con la premisa básica del artículo, pero no con las conclusiones. Como quiera que sea y con el objetivo de no entrar en una discusión medieval (¿cuántos ángeles caben en la punta de un alfiler) el objetivo debe ser mantenerse en lo fundamental, en la esencia, el objetivo. Para ello cabe la pregunta (lo cual nos ayudará a mantenernos en la esencia): ¿para qué voy a usar esto? ¿contribuye esta herramienta a la solución o es el camino largo? Están muy interesantes y divertidas las nuevas adiciones de C++11, C++14, C++17, pero, en realidad, nosotros no necesariamente necesitamos todo ese poder para programar nuestro próximo juego. La clave está en utilizar lo esencial, lo que realmente es útil. Lamentablemente el C++ moderno tiene conceptos que más que ayudarnos son una distracción, o generan un código que después va a ser difícil de mantener. Cuando estoy programando psyblast mi primer pensamiento en todo momento es mantener el código lo más eficiente y elegante pero sobretodo, lo más simple posible.