3 pontos por GN⁺ 2024-10-16 | 1 comentários | Compartilhar no WhatsApp
  • A edição C23 de Modern C está disponível para download gratuito. O principal objetivo é atualizar a obra para o novo padrão C, o C23.
  • O conteúdo do novo padrão é apresentado na forma mais próxima possível dos documentos públicos. A maior parte dos novos recursos dos principais compiladores já foi implementada.

Principais mudanças e adições do C23

  • Mudanças relacionadas a inteiros: introdução do novo tipo de precisão em bits _BitInt(N), novo cabeçalho da biblioteca C para verificação de overflow, adição de cabeçalho para manipulação de bits, possibilidade de tipos de 128 bits em arquiteturas modernas, melhorias substanciais nos tipos enum.
  • Novos conceitos: a constante nullptr e seu tipo básico, comentários sintáticos por meio de atributos, mais ferramentas para programação genérica por tipo (como inferência de tipos com auto e typeof), inicialização padrão com {} (incluindo arrays de tamanho variável), constexpr para constantes nomeadas de todos os tipos.
  • Material adicional: adição de discussões sobre expressões compostas e lambdas, e sobre uma abordagem abrangente para falhas de programa chamada de "internacionalização". Também foram adicionados um cabeçalho de inclusão temporário e apêndices para facilitar a migração para C23 em plataformas existentes.

Resumo do GN⁺

  • A edição C23 de Modern C foi atualizada para refletir o novo padrão da linguagem, e muitos recursos já estão implementados nos principais compiladores.
  • O C23 oferece melhorias importantes em tipos inteiros, programação genérica por tipo e inicialização padrão.
  • Esta edição é útil para entender e aproveitar o padrão mais recente da linguagem C, especialmente para desenvolvedores que querem aprender rapidamente os novos recursos.
  • Outra linguagem que oferece recursos semelhantes ao C23 é o padrão mais recente de C++.

1 comentários

 
GN⁺ 2024-10-16
Opiniões do Hacker News
  • O suporte começou a partir do GCC 11, e isso está disponível no Ubuntu 22.04. Também dá para verificar o suporte ao C26
  • C e C++ são diferentes, e há o conselho importante de não misturá-los
  • Eu estava procurando uma lista de livros de C, mas encontrei a resposta por conta própria. Modern C é classificado como nível intermediário
  • No Preview do macOS, o sumário na barra lateral não funciona corretamente
  • Estou procurando um artigo que explique por que C, na prática, ficou parado no C99. Dizem que quase não há projetos que aproveitem recursos do C11 em diante
  • Fico feliz que o mascote dinossauro ainda esteja lá. Acho que é um bom livro
  • Estou esperando pelo #embed quando os compiladores alcançarem isso. Até lá, uso Golang
  • Acho que há uso excessivo de atributos como [[unsequenced]], [[maybe_unused]], [[noreturn]] ao longo de todo o livro. Parece exagerado que o autor tenha colocado em todos os exemplos de código algo que é opcional
  • Quero bit fields portáveis totalmente explícitos e bem definidos
  • É um dos meus livros favoritos