viernes, 19 de agosto de 2011

Estándar C++. Reunión de Bloomington


Hoy hemos terminado la reunión del JTC1/SC22/WG21 (comité de C++ para los amigos). La reunión comenzó con la noticia de que el nuevo estándar ha sido oficialmente aprobado de forma unánime por los países con derecho a voto, como adelantaba en mi anterior post. De hecho, hemos tenido confirmación de ISO de que se van a acelerar los trámites de la publicación oficial del documento, por lo que con casi toda seguridad podemos hablar de C++11 (ISO/IEC 14882:2011) y no de C++ 2012.

Una buena parte de la reunión ha estado dedicada a la resolución de issues tanto de la biblioteca como del propio lenguaje. Si. El estándar se acaba de publicar, pero el comité es consciente de que el documento tiene algunos errores e inconsistencias menores que habrá que resolver. En la resolución de estos defectos se ha avanzado bastante, pero no se ha votado ninguno de ellos. Esto hace prever que la próxima reunión en Marzo de 2012 tendremos una buena lista que aprobar.

Además de esto, dentro del grupo de trabajo de biblioteca hemos visto versiones preliminares de algunas propuestas que podrían añadirse:

  • Sistema de ficheros. Es biblioteca te permitirá olvidarte del API C/POSIX para navegar por directorios, entro otras cosas.
  • Cerrojos compartidos. Básicamente son algunos tipos más de mutex, que no se añadieron al estándar para no retrasarlo más. Estos cerrojos (con nombres tentativos de shared_mutex y upgrade_mutex) son especialmente apropiados para soportar problemas del tipo múltiples lectores/único escritor.
  • Nuevos algoritmos para la generación de distintos tipos de permutaciones y combinaciones que generalizan el existente next_permutation.
  • Entrada salida para tipos que representan duraciones de tiempo (espacio de nombres chrono). De esta manera se podrán imprimir mensajes que en el caso de duraciones se incluya de forma automática la unidad en la que se expresa la duración.
  • Un nuevo tipo para representar fechas (también  a incluir en el espacio de nombres chrono).
Otro aspecto bastante relevante ha sido la discusión sobre el futuro del lenguaje. Aunque el comité no ha cerrado decisiones al respecto, parece que los más probable será que se trabaje por una parte un modificaciones al lenguaje y por otra parte en la extensión de la biblioteca estándar. Estos trabajos se podrán realizar de forma independiente de forma que se hagan públicos con ritmos de trabajo diferentes.

En el caso de la biblioteca, el comité hará publica una petición de propuestas de nuevas bibliotecas en breve. Así que si tienes una buena idea para alguna biblioteca que te gustaría ver en el futuro como parte del estándar, este parece un buen momento.

Nuestra próxima reunión será en Kona, Hawaii en febrero de 2012. Probablemente, en esa reunión dediquemos una parte del tiempo a definir la evolución del lenguaje. En cualquier caso y con toda seguridad dedicaremos tiempo a estudiar propuestas de modificaciones y adiciones a la biblioteca (entre mis favoritos estarán propuestas para mejorar la concurrencia y las comunicaciones a través de red).

Y eso es todo por ahora.

No hay comentarios:

Publicar un comentario