1 pontos por GN⁺ 2024-12-25 | 1 comentários | Compartilhar no WhatsApp
  • A diversão do C++

    • Acho que os programadores acabaram esquecendo por que começaram a programar.
    • Ao desenvolver projetos com C++, tive uma experiência divertida e consegui colocar várias ideias em prática.
    • O C++ não impede que o programador faça o que deseja.
  • O problema da metaprogramação por templates em C++

    • Da metade dos anos 1990 até o início dos anos 2000, a comunidade de C++ ficou obcecada por metaprogramação por templates.
    • Isso tornou o C++ uma linguagem complexa e difícil de usar.
    • O Java atendeu melhor às necessidades do programador e ofereceu uma experiência de usuário superior.
  • As incríveis mudanças do C++11

    • O C++11 trouxe muitas melhorias para a linguagem.
    • Foram adicionados recursos como auto, nullptr, range-for, expressões lambda, <chrono>, <regex>, unique_ptr, shared_ptr, <thread>.
    • Essas mudanças tornaram o C++ uma linguagem mais moderna e fácil de usar.
  • Recursos modernos de C++

    • Oferece suporte a recursos modernos como navegação no sistema de arquivos, gerenciamento de pacotes, biblioteca de matrizes, gráficos, GUI e TUI.
    • Como o C++ tem acesso direto a uma grande variedade de bibliotecas e APIs, é possível fazer quase tudo.
  • A liberdade criativa do C++

    • O C++ é uma linguagem onde se pode exercer criatividade e escapar das restrições autoritárias de outras linguagens.
    • O cppreference.com é uma excelente documentação de C++, cobrindo bem todas as palavras-chave e bibliotecas.
  • Desvantagens do C++

    • As mensagens de erro dos compiladores são as piores da indústria, e as ferramentas de build são difíceis de usar.
    • A curva de aprendizado é íngreme por causa da complexidade da linguagem e de seu legado histórico.
    • O padrão RAII (Resource Acquisition Is Initialization, Aquisição de Recursos é Inicialização) pode ser inconveniente em ambientes reais.
  • Conclusão

    • O C++ continua sendo uma linguagem divertida e poderosa, e devemos sair dos preconceitos do passado.
    • O C++ oferece liberdade criativa aos programadores e abre possibilidades para realizar projetos variados.

1 comentários

 
GN⁺ 2024-12-25
Comentários do Hacker News
  • Não gosto de C++, mas tive uma experiência boa com ele em projetos pessoais. Rust e CI/CD fornecem confiabilidade no longo prazo. O sistema de build e o gerenciamento de pacotes são complicados.

    • O controle fino do C++ é divertido.
    • O sistema de build e o gerenciamento de pacotes são complicados.
    • A sintaxe e o runtime de C++ são complexos.
  • Há muita controvérsia em torno de C++. C++ mistura qualidades modernas com problemas legados.

    • O desempenho e os detalhes técnicos de C++ são divertidos.
    • C++ não é adequado para desenvolvimento de software "de verdade".
  • É difícil conectar dependências de terceiros em projetos C++. Em quase todas as linguagens modernas isso costuma ser resolvido com uma instalação simples.

    • Leva tempo para entender os detalhes de C++.
  • Aprendo os novos recursos de C++, mas enfrento dificuldades com erros do compilador. Acabo ficando preso ao C++14.

    • A complexidade do C++ pesa.
  • As reclamações sobre C++ vêm principalmente de bases de código antigas. Já tive experiência semelhante com Rust.

    • O problema é um desenvolvimento de software ruim.
  • Mesmo havendo quem se divirta com C++, pessoalmente eu acho C++ complexo.

    • Quando preciso de controle de nível baixo, uso C.
  • Fiquei impressionado com C++11, e a documentação do cppreference.com é excelente.

    • É difícil integrar outras bibliotecas ao projeto.
  • Se você tiver uma equipe que conhece bem C++ moderno, C++ é excelente. Ele tem ótimo desempenho e é fácil de debugar e otimizar.

    • Em uma base de código antiga, você vive uma experiência diferente.
  • Aprendi C++, mas não fui a fundo. Rust tem melhor programação funcional e desempenho.

    • Não vejo muita razão para usar C++.
  • O std::regex de C++ tem desempenho ruim e suporte Unicode ruim. Em geral, deve ser evitado.