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

C é uma linguagem de baixo nível em relação à maioria. Trabalhar com ponteiros é complicado, mas se errar a culpa não é da linguagem.

reconhece que o erro poderia ter sido evitado ao se utilizar uma linguagem com memory safety, em vez do C

E ele usaria o que? Em 1996 não existiam tantas opções de linguagens de programação como tem hoje. Toda a responsabilidade da gestão de memória em C é do programador e não da linguagem. Ela te dá todas as ferramentas para você manipular a memória, mas como fará isso depende de você.

E advinha? Quase todas as linguagens memory-safe de hoje foram compiladas em C.

  • C# (antes do Roslyn)
  • Python
  • Perl
  • PHP
  • Lua
  • Rust
  • OCaml

Quando não foi C, foi C++ ou Assembly, que também não são memory-safe.

E sobre reescrita? Não precisa. Só arrumar o código. Sempre funciona. C é a mãe das linguagens, então ela "dá conta".

Carregando publicação patrocinada...