Llegamos a ustedes gracias a:



Noticias

Presentan propuesta de actualización del lenguaje C

Pone en primer lugar la compatibilidad con las versiones anteriores

[15/11/2018] Un borrador de trabajo del estándar para la próxima revisión del lenguaje de programación C, denominado por ahora como "C2x, ya se encuentra disponible para su revisión.

La mayoría de los cambios aprobados hasta ahora para C2x no implican la adición de nuevas características, sino en cambio aclarar y refinar la forma en que C debería comportarse en las diferentes implementaciones y con respecto a su hermano mayor C++. El énfasis en el refinamiento está en línea con cómo se han desarrollado las revisiones anteriores de C - C11 y, más recientemente, C17.

Como se describe en el Charter de C2x, el plan enfatiza fuertemente el mantenimiento de las futuras ediciones del lenguaje compatibles con el gran cuerpo del código existente de C y evitar (aunque no excluir) "los cambios tranquilos o cambios "que hagan que un programa en funcionamiento trabaje de manera diferente sin previo aviso.

WG14, el grupo que supervisa el desarrollo del estándar C (ISO/IEC 9899), hasta ahora ha aprobado formalmente solo una pequeña cantidad de cambios al lenguaje con respecto al estándar C17. Algunos de los cambios más notables que se han aceptado hasta ahora:

  • Un aclaramiento de la restrict keyword. La restrict keyword se utiliza para informar al compilador de que solo se puede acceder a un objeto determinado en la memoria mediante ese puntero, como una optimización. En C2x, habrá más ejemplos detallados de cómo debería comportarse la restricción para asegurar a los compiladores no terminen por hacer optimizaciones inseguras o innecesarias.
  • Hacer que static assert se comporta igual en C que en C++. La declaración static assert, que se encuentra tanto en C como en C++, se utiliza para asegurar que una determinada expresión constante es válida en el tiempo de compilación, pero que se implementa de forma diferentemente en los dos lenguajes. Con este cambio, la versión C2x se comportará igual que la versión C++, lo que facilitará compartir el código del encabezado entre los lenguajes y traducir entre C y C++.
  • Mejores definiciones de comportamiento de las uniones. Las diferentes implementaciones de C tienen comportamientos diferentes cuando se trata de las uniones anónimas, una función añadida en C11. C2x aclara cómo funciona esto, por lo que no depende de la implementación.

Otros cambios incluyen cómo manejar los casos de división por cero en pow (), formatos de evaluación para puntos flotantes, y más aclaraciones sobre cómo tratar las conversiones de codificación de caracteres amplios.

La hoja de ruta actual para C2x proporciona al menos dos años más para que se muevan las propuestas. WG14 apunta a "un estándar revisado para fines del 2021, con una fecha de publicación del 2022.