
		paulo1205
		
		(usa Ubuntu)
		
		Enviado em 09/04/2017 - 06:41h 
		Porque é mais fácil atribuir rótulos genéricos do que fazer um pouquinho de esforço mental e examinar caso a caso.
FATO: 
goto mal utilizado ou abusado atrapalha a legibilidade do código.
FATO: ponteiro mal utilizado ou abusado atrapalha a legibilidade do código.
FATO: array mal utilizado ou abusado atrapalha a legibilidade do código.
FATO: variável mal utilizada ou abusada atrapalha a legibilidade do código.
FATO: funções mal utilizadas ou abusadas atrapalham a legibilidade do código.
FATO: comentários mal utilizados ou abusados atrapalham a legibilidade do código.
(Acho que deu para pegar a ideia...)
O uso de 
goto possibilita programar de modo confuso, sim.  Mas a possibilidade de um evento não significa necessariamente que ele vai ocorrer.
Existem casos em que 
goto é a solução mais eficiente (maior desempenho), mais compacta (código mais curto ou com menos repetições de blocos de código idênticos), mais elegante (melhor legibilidade e inteligibilidade) ou até mesmo a única possível em problemas de construção de algoritmos.  Logo, usar 
goto num desses casos não é gambiarra, mas sim sinal de habilidade e inteligência.
Só que esses casos não são muito comuns, principalmente em algoritmos que aparecem em cursos introdutórios de programação.  Então um professor preguiçoso acaba afirmando categoricamente que “
goto é ruim”, “
goto é gambiarra”, “
goto é uma técnica obsoleta e que não deve mais ser usada”, ou o pior de todos: “quem usar 
goto vai levar ZERO”.
Em C++, o emprego de exceções e da técnica RAII ajudam a evitar alguns usos de 
goto que são comuns em C, para tratamento de falhas de aquisição de recursos.  Mesmo assim, ainda há usos válidos de 
goto em também C++.