A complexidade de sistemas de software é controlada pela con...
Os programas devem ser escritos para as pessoas lerem e, apenas incidentalmente, para as máquinas executarem.
ABELSON, H; SUSSMAN, G. J. structure and interpretation of computer programs, 2a ed, MIT Press, 1996.
Considerando aspectos de software e dos computadores que os executam, julgue (C ou E) os itens a seguir.
A complexidade de sistemas de software é controlada pela construção de abstrações que escondem detalhes de implementação quando é conveniente.
Gabarito comentado
Confira o gabarito comentado por um dos nossos professores
A alternativa correta é: C - certo
O tema central da questão é o controle de complexidade em sistemas de software por meio de abstrações. Essa é uma prática fundamental em engenharia de software, na qual o objetivo é simplificar a interação dos desenvolvedores com o sistema, escondendo detalhes complexos e desnecessários para o entendimento geral do funcionamento.
Abstrações são técnicas que permitem representar as partes essenciais de um sistema, deixando de lado os detalhes de implementação que não são relevantes no momento. Isso é crucial para gerenciar a complexidade, pois torna o sistema mais compreensível e, portanto, mais manutenível e escalável.
No contexto da questão, entende-se que quando desenvolvemos software, criamos camadas de abstração que permitem que os programadores trabalhem em níveis mais elevados, sem precisar se preocupar com os detalhes de baixo nível que o computador precisa para executar as instruções. Essa prática é o que torna o desenvolvimento de software mais eficiente e menos propenso a erros.
Justificativa da alternativa correta (C - certo): A alternativa está correta porque descreve uma prática comum na engenharia de software: o uso de abstrações para controlar a complexidade. Ao esconder detalhes de implementação, os desenvolvedores podem focar no que realmente importa para a lógica do sistema, sem se perder em complexidades desnecessárias.
As abstrações são uma das razões pelas quais linguagens de programação de alto nível são tão poderosas e amplamente utilizadas, já que elas permitem que o desenvolvedor se concentre na resolução de problemas em vez de se preocupar com a forma exata como o computador executa a tarefa.
Justificativa da alternativa incorreta (E - errado): Não há uma alternativa declarada como errada, mas se a intenção fosse julgar como errado, isso estaria em desacordo com as melhores práticas da programação moderna, que realmente fazem uso extensivo de abstrações para facilitar o desenvolvimento e a manutenção de software.
Gostou do comentário? Deixe sua avaliação aqui embaixo!
Clique para visualizar este gabarito
Visualize o gabarito desta questão clicando no botão abaixo