• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

Jeronimus Linuxius

Go To Statement Considered Harmful: A Retrospective

4 mensagens neste tópico

Ok. Eu sei que devia ir estudar monitores, mas tropecei nisto. Uma crítica construtiva à dogmatização que muitos programadores controem à volta de certos tópicos, sem saberem muito bem qual é a sua verdadeira substância.

http://david.tribble.com/text/goto.html

JJ

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
It should also be realized that much of the terminology of programming that is taken for granted today had not yet been firmly established in 1968. There was much debate and discussion at the time about what terms to use for programming concepts, and most of the terms we use today took many years to be widely accepted.

Modestia à parte, eu acho que tenho bastante jeito para História! Tomar atenção ao que as pessoas achavam no passado é uma boa parte disso.

Dijkstra seems to imply that iterative looping (inductive) statements are intellectually harder to grasp than recursion, which is the kind of thing only a mathematician would say.

LOL!

Eu concordo com o Dijkstra. Em alguns sentidos, a recursão é intelectualmente mais fácil de raciocinar do que a iteração. O inconveniente é que temos que ser frios e deixar o nosso lado mais matemático tomar o controlo da situação. É a tal coisa: é mais difícil pensar sobre coisas dinâmicas do que sobre coisas estáticas. É claro que se já tivermos o algoritmo "empinado" (como por exemplo, o máximo de um vector), a iteração acaba por ser mais económica.

Independentemente disso, a iteração é mais elegante e mais verbal na maioria das situações (e isso é bom).

E acho que perguntarmo-nos a nós próprios qual é o invariante do loop é uma maneira bastante eficaz de conseguir escrever o loop mais facilmente, e de maximizar a probabilidade de acertarmos em cheio à primeira. Eu (pelo menos) sinto isso quando escrevo loops.

Boring computer science theory ftw.

JJ

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Eu concordo que jumps são feios, no entanto, por vezes, são a solução ideal, e acabo por usá-los.

Em algumas situações, a alternativa a um break é extremamente feia..

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O problema é que nada se faz com radicalismos.

Especialmente em programação, quando temos uma teoria radical, o meu conselho é temos muito cuidado, porque há uma grande probabilidade de não termos razão...

Por outras palavras, devemos basear as nossas regras nos mesmos princípios que levaram ou outros às suas regras. No entanto, não devemos copiar directamente as regras dos outros.

JJ

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora