O processador implementa pelo menos uma instrução de salto e tenho certeza que muitas instruções as usam em sua implementação ou interpretação.
Uma das coisas boas em usar um idioma de 3ª ou 4ª geração é que esses detalhes físicos são abstraídos de nós. Embora devamos estar atentos à lei da abstração com vazamento , acho que também devemos usar nossas ferramentas da maneira pretendida ( desculpe ). Se eu estivesse escrevendo código e umgoto
parecesse uma boa ideia, seria hora de refatorar. O objetivo de uma linguagem estruturada é evitar esses "saltos" e criar um fluxo lógico em nossa engenharia.
Devo evitar o uso de, break
mas não posso ignorar o benefício de desempenho. No entanto, se eu tiver loops aninhados que precisam ser mutuamente break
, é hora de refatorar.
Se alguém pode propor o uso de goto
que pareça melhor do que refatorar, retirarei minha resposta de bom grado.
Espero não ser culpado de correr para o " galpão de bicicletas " aqui. Como Kragen diz, o que é bom para Dijkstra é bom o suficiente para mim.