Comando GOTO

Boas.
Eu não sei se estão com a minha dúvida que eu?!
Mas não concordo com a afirmação “NUNCA se deve usar o comando GOTO”.

Acho que não se pode considerar que nunca deve ser usado, mas sim que não é recomendado, especialmente para quem tem pouca experiência ou começou a programar à pouco tempo.
Este tema gera alguma controvérsia por causa de um artigo publicado em 1969 por Dijkstra que defendia a abolição do GOTO em todas as linguagens de alto nível, por causa o uso abusivo do GOTO, e por causa das más implementações do GOTO por programadores.
Este link explica melhor Desbravando o goto! - Revista PROGRAMAR (revista-programar.info)).

Gostava de saber se mais alguém concorda comigo ou se estou errada?

8 Likes

Oi @Mariana_Alberto, hoje o Bruce divulgou que reconsideraram 5 questões, uma delas foi exatamente essa:
https://drive.google.com/file/d/12vME6TahNWYIHJwtBtyiytb7pAmw9VWo/view

2 Likes

Acabei de ver.
Apenas diz, que a resposta à pergunta “Em programação estruturada, qual o comando que nunca deve ser usado, mesmo sendo disponibilizado pela linguagem?”
é o GOTO
E que este conteúdo não foi abordado.

Mas também não explica porquê que nunca deve ser usado.

1 Like

Achei essa resposta para nos ajudar:
http://mtm.ufsc.br/~azeredo/cursoC/aulas/c480.html

1 Like

Então, o lance do GOTO em linguagens de alto nível é a legibilidade e real necessidade.

O GOTO quebra o fluxo de código e pode, em determinadas ocasiões, dificultar a interpretação do código pelo programador e ainda resultar em comportamento anômalo quando mal implementado. Daí se surge uma necessidade GOTO em um programa desenvolvido em linguagens de alto nível, é muito provável que o código deva ser refatorado pois deve existir outra solução que resolva o problema sem usar o mesmo.

Agora, em sistemas embarcados, linguagem de montagem e em outras soluções onde recursos são limitados, o uso de goto/label é a norma pra criar loops e controles de fluxo, pois em muitas das tecnologias existente, não há alternativa.

Então, é muito nomal que pra um desenvolvedor WEB que utiliza JS, TS etc…nunca haja a real necessidade de utilizar o GOTO pois há muitas opcões de refatoração do código visando atender às boas práticas de uso de cada tecnologia.

4 Likes

Então ao meu ver entendo que deve ser evitado mas dependendo de como for usado poderia ser implementado.desde que a linguagem tenha estrutura condicional e de loop não se precisa usar goto em teoria

1 Like

Eu errei nessa pela questão do “Nunca”, eu mesmo sem saber nada sobre pesquisei e vi que não era recomendado utilizar GOTO. Mas em nenhum momento falava nunca, então na prova considerei a questão D) Nenhuma das alternativas.

1 Like