Executando verificação de segurança...
13

vamos aos fatos, sem clubismo. aqui vão algumas verdades que podem parecer duras.

  1. Não o rust não faz tudo mais simples, se não, não seria safety, ele é pouco ergonomico e muito burocratico, e isso não é um demerito mas uma das vantagens da linguagem.
    (enquanto C é bruto, Rust requer fazer algo mais "pensado)

  2. Não é porque um código é feito em C ou C++ que ele é inseguro, a questão é, o nível de habilidade de programadores, qualquer código de um inexperiente em C abre brechas, mas se o programador sabe o que está fazendo e esta apoiado de ferramentas de inspeção como valgrind, cppcheck, clang-tidy... etc etc não tera problemas na vida útil do software.

  3. Não é porque um código é feito em Rust que ele é 100% seguro em questão de memoria, ainda sim é possivel causar débitos e escrever código ruim, tudo depende da expertice do programador.

  4. C e C++ são linguagens completamente diferentes, apenas compartilham uma certa compatibilidade em comum.

  • C fracamente tipado, você sabe exatamente onde tudo sera alocado e quanto de espaço ira ocupar além do tamanho do binário e tempo de execução.
  • C++ tipagem forte e com inferencia, é muito mais opnativo, o compilador toma muitas decisões por você enquanto está apenas sugerindo um comportamento.
  1. Nenhuma linguagem é mais portátil que C, sabe porque o DOOM roda em qualquer lugar? pois foi escrito em ANSI C (dialeto de 1989) sem depender de libs, você apenas adpta os drivers de audio, video e inputs e toda a magica já acontece.
    (não precisa mais que 1 dia para portar DOOM)

  2. Você não aprender a usar C em 1 ano, nem 2 anos... Você precisa ter um background de computação, ou seja se fizer ciencia da computação ou então tem alguns anos de experiencia, você consegue usar a linguagem de maneira eficiente.

  3. C é um assembly, sim, você consegue traduzir muito código escrito em um assembly para C. *(volatile uint32_t*) 0x2020 = 50; é o mesmo que mov eax, 50 mov ebx, 0x2020 mov [ebx], eax em x86, isso siginifica que você tem um controle muito grande sobre código final. (claro que instruções especificas você acaba usando usando um asm, mas até algumas SIMD você também conseguiria escrever em C puro)

  4. Rust foi pensado para cobrir skill isues, sim, sem ser ofensivo esse é o proposito de Rust, te dar uma mãozinha em coisas que são muitos engenhoas de se fazer em C. e isso não é um problema, você não tem que se preocupar em escrever o suprasumo de engenharia o tempo todo, o importante é entregar o produto.

  5. C++ moderno não precisa de ponteiro, na verdade C++ moderno pode se até considerar safety pois existem diversos recursos da STL (inclusive recursos comuns em linguagens enterprises como C# e Java)

  6. Existem homologações muito rigidas em C e C++, se C fosse tão inseguro existiria o tempo todo carros quebrando, aviões caindo, caixas eletronicos guspindo dinheiro ou sendo hackeados.. SO, MISRA, DO, ARP, ASPICE, UNEC, AUTOSAR, PCI... etc etc, diria que uns 90% dos softwares criticos são escritos em C, e o mundo não é caótico por isso.

  7. C e C++ não são linguagens velhas, linguagens ultrapassadas são PASCAL, Perl, e inumeras outras que nem lembramos o nome. Não é porque está desagrando a bolhadev que o mercado se comporta diferente, e não é porque um software usa uma linguagem de 50 anos que ele é legado, em casos não existe outro caso de linguagem, você pode começar um software em C hoje.

  8. Você não deveria usar C no produto final (a não ser que seja um SO ou sistema critico), C é ótimo para escrever bibliotecas, drivers, kernels... algo que vai ser usado por terceiros, ele é lento de códificar, mas o que está escrito nele vai funcionar e ser estável, você não precisa de um software que funciona 100% e seja estavel 100% voce precisa é entregar valor o mais rápido possivel para o cliente final.

  • que atualizações um caixa eletronico sofre? qual periodo?
  • que atualizações um software instituicional sofre?
  1. Go, Rust, Zig, C e C++ tem propositos completamente diferentes e nenhum é um substituto completo para o outro, as peculiaridades de cada uma das linguagens são bem grandes, e produtos grandes compilados podem até no caso usar código feito em 2 ou mais dessas linguagens.

  2. IA não são feitas em Python, mas sim C, C++ e Fortran, a parte de python é apenas um wrapper em cima de uma lib gigantesca em C, na verdade maioria das libs famosas de python são escritas em C.
    (shadders "ia" hoje em dia são escritos uma especie de dialeto de C chamada open-cl)

se tratando de linguagens, eu acredito que 99% das opniões são erradas, pois a pessoa não entende contexto e design daquela tecnologia em especifico, quer usar uma regua da linguagem X na linguagem Y.

Carregando publicação patrocinada...
0
-2