Arquivos históricos do BR-Linux.org apresenta:

GOTOs no kernel

Essa é interessante para o pessoal das Ciências da Computação: a instrução "goto", que todo estudante aprende a temer e odiar já nos primeiros semestres de curso, é frequente no código do kernel do Linux. E, pelo que podemos ver nesta sequência de e-mails, Linus Torvalds e mais alguns de seus asseclas mais famosos (inclusive o quase-brasileiro Rik van Riel) acham que não há nada de ruim nisso, pelo contrário.

Postado por brain em 15 de janeiro de 2003, 02:44 PM

Comentários

Certo dia, em chat com o Tossati fiz esta mesma indagação...
Segundo ele os goto's (tão temidos...) ajudam bastante na leitura do código, evitando duplicações e "jogando" o tratamento dos erros mais "pra baixo" das funções... Diferente do que eu antes pensava, e praticava.

[]'s
Physis

Postado por: Roberto Physis em janeiro 15, 2003 03:14 PM

Eu sempre usei gotos... sao simples e ajudam.

Postado por: sdf em janeiro 15, 2003 03:56 PM

Este tema dos "goto´s" é um tema recorrente em programação.
Algumas pessoas usam o goto de forma errada e ai alguem diz que o goto é uma droga e não presta.
Quando bem usado, como por exemplo para tratamento de erros, não existe outra solução melhor em termos de eficiência e clareza de código.

Postado por: Jorge Bastos em janeiro 15, 2003 04:26 PM

Goto é uma faca de 2 gumes..
Se bem usado, é uma maravilha..
Se mau usado.. um desastre....
Me lembra uma linguagem, c++... :P ...

Não tenho nada contra o uso, contato que "saiba usar".... =-)
Alguns professores meus discordam... fazer o que né, é um mundo livre (ao menos em partes..) ...

Postado por: f2r em janeiro 15, 2003 04:48 PM

É um assunto complicado :)
Eu como aluno de c.computação fui evangelizado pelos professores repudiadores do goto... então é difícil dizer algo a favor dele... só vejo o lado da facilidade ao se evitar usar outras estruturas...

Postado por: Peter Parker em janeiro 16, 2003 09:36 AM

hehehe...
pelo menos estou bem acompanhado -:) Sempre defendi o goto, e sei lá por quê motivo as pessoas preferem fazer um "while true" do que usar goto (e ainda acham mais elegante!)

Postado por: Piter PUNK em janeiro 16, 2003 10:20 AM

talvez exista uma razão.
se formos olhar , no final das contas , o codigo assembler para o goto, vai exigir menos instruções do que outra forma.

portanto , o goto eh usado para deixar o codigo mais rapido.

Postado por: Paulo Eduardo Cecilio em janeiro 16, 2003 01:40 PM

Quanto mais perto do assembly, mais perto do goto ficamos. O que acontece é que realmente o goto não faz muito sentido em linguagens estruturadas que têm recursos, por exemplo, de tratamento de erros; mas o C do kernel não tem, e este tipo de código é aquele que precisa ser otimizado "até o osso", casos em que o goto sai bem.

Postado por: Patola (Cláudio Sampaio) em janeiro 17, 2003 03:20 AM

E os GOSUB's ninguem falou neles ? :)
Brincadeiras a parte, nao da para fazer programacao estruturada com goto's, o codigo vira espaguete a medida que vai crescendo.
GOTO so mesmo no kernel e aplicativos de base e olhe lá...

Postado por: hamacker em janeiro 17, 2003 05:53 PM

1 goto para cada 260 linhas de código. Esta é a média no kernel 2.2.x, segundo o livro do Scott Maxwell. Qual será a média dos kernels 2.4 e 2.5?
...
O Patola tem razão. O único motivo é velocidade, velocidade e mais velocidade :-)

Postado por: Magno K. Nardin em janeiro 17, 2003 10:51 PM


O Arquivo Histórico do BR-Linux.org mantém no ar (sem alteração, exceto quanto à formatação) notícias, artigos e outros textos publicados originalmente no site na segunda metade da década de 1990 e na primeira década do século XXI, que contam parte considerável a história do Linux e do Open Source no Brasil. Exceto quando indicado em contrário, a autoria dos textos é de Augusto Campos, e os termos de uso podem ser consultados na capa do BR-Linux.org. Considerando seu caráter histórico, é provável que boa parte dos links estejam quebrados, e que as informações deste texto estejam desatualizadas.