Jump to content

Recommended Posts

Posted

GoTo? A última vez que usei deve ter sido em 1992! 😄

Os GoTo são altamente desaconselhados porque tornam o rastreio do fluxo de execução muito difícil.
Por outro lado, fazem um código esparguete que é um espetáculo! 😄

Os GoTo podem ser substituídos por ciclos while/loop ou chamadas a subrotinas.

10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Posted (edited)
12 horas atrás, HappyHippyHippo disse:

para pessoas que ficaram com a curiosidade para que serve o goto (seja em php ou noutra linguagem qualquer) fica só o link desse comando no site de documentação de php : http://php.net/manual/en/control-structures.goto.php

 

conclusão : NUNCA USAR GOTO !!!

Sei que esta pratica é condenada pela maioria dos desenvolvedores, concordo também que dificulta a legibilidade do código e deve ser evitado o máximo possível, mas creio que pode ser útil sim em alguns casos, pois se não fosse o php não teria inserido este recurso logo na versão 5.3.0.

Edited by Poncio Elias
Posted
1 minute ago, Poncio Elias said:

Sei que esta pratica é condenada pela maioria dos desenvolvedores, concordo também que dificulta a legibilidade do código e deve ser evitado o máximo possível, mas creio que pode ser útil sim em alguns casos, pois se não fosse o php não teria inserido este recurso logo na versão 5.3.0.

mais de metade das pessoas estão a um nível de amadorismo em alguma linguagem.

logo, se mais do que 50% das pessoas fazem de uma maneira, não quer dizer que seja a maneira de fazer.

IRC : sim, é algo que ainda existe >> #p@p
Posted (edited)
15 minutos atrás, HappyHippyHippo disse:

mais de metade das pessoas estão a um nível de amadorismo em alguma linguagem.

logo, se mais do que 50% das pessoas fazem de uma maneira, não quer dizer que seja a maneira de fazer.

Creio que existe um certo preconceito em cima do "goto", ele pode ser sim bem implementado de modo a não comprometer a legibilidade do código, como também é possível existir má implementação de laços de repetição e chamadas a função externa, ou seja não é só o goto que pode ser mal utilizado, isso vai do programador mesmo.

Edited by Poncio Elias
Posted
2 minutos atrás, HappyHippyHippo disse:

sim ... um bisturi bem utilizado pode salvar vidas ... mas quantas pessoas sabem usar um bisturi para salvar vidas ?

E graças a Deus os médicos não decidiram deixar de utilizar o bisturi, ao contrário decidiram aprender como utilizar direito!

Posted

Poncio, acredita que a não utilização do GoTo poupa muitas dores de cabeça.
A malta da velha guarda já passou por isso e se o dizemos é com o intuito de que outros menos experientes não sofram com os erros que outros cometeram no passado.
Efetivamente o GoTo existe e podes usá-lo, a questão é: para quê?

10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Posted
4 minutos atrás, M6 disse:

Poncio, acredita que a não utilização do GoTo poupa muitas dores de cabeça.
A malta da velha guarda já passou por isso e se o dizemos é com o intuito de que outros menos experientes não sofram com os erros que outros cometeram no passado.
Efetivamente o GoTo existe e podes usá-lo, a questão é: para quê?

Essa é a questão, sei que a maioria dos casos podemos resolver utilizando outros recursos, mas se até msm o php acabou inserindo este recurso, não acredito que deixar de usar seja a melhor solução, o ideal é aprender usar este recurso de forma consciente. Não é porque outros tentaram e não conseguiram que temos que desistir também.

Posted

Não sei qual foi a razão da introdução do GoTo no PHP, mas a verdade é que todos os casos (e não a maioria como afirmas) podem ser resolvidos sem GoTo.
Como referi no inicio, não devo usar um GoTo há mais de vinte anos (exceção feita a um ou outro script de DOS cuja linguagem limitada não disponibiliza alternativas), e o PHP é apenas uma de várias linguagens com que trabalho.

Por mim, força, podes usar o GoTo à vontade, mas tal prática valia-te um valente puxão de orelhas se estivesses numa equipa minha e um redondo "não" numa entrevista de emprego.

10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Posted
4 minutos atrás, M6 disse:

Não sei qual foi a razão da introdução do GoTo no PHP, mas a verdade é que todos os casos (e não a maioria como afirmas) podem ser resolvidos sem GoTo.
Como referi no inicio, não devo usar um GoTo há mais de vinte anos (exceção feita a um ou outro script de DOS cuja linguagem limitada não disponibiliza alternativas), e o PHP é apenas uma de várias linguagens com que trabalho.

Por mim, força, podes usar o GoTo à vontade, mas tal prática valia-te um valente puxão de orelhas se estivesses numa equipa minha e um redondo "não" numa entrevista de emprego.

Você pode até não saber o motivo de ter sido inserido o recurso no PHP, mas com certeza algum motivo teve, pois seria mto mais facil simplesmente não inserir este recurso no PHP. Em programação não podemos ter mente fechada, se não aceita ideias novas em sua equipe não vai evoluir, e passará a fazer sempre as mesmas coisas.

Posted

O GoTo não é uma ideia nova... Antes pelo contrário...
Se tiveres a mente aberta vais perceber que o seu uso é totalmente desnecessário.

10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Posted
Agora, M6 disse:

O GoTo não é uma ideia nova... Antes pelo contrário...
Se tiveres a mente aberta vais perceber que o seu uso é totalmente desnecessário.

O goto foi deixado de lado porque não conseguiram utilizara-lo de boa forma, ai foi se criando uma má fama que eu julgo ser só preconceito , dizer que nunca terá utilidade é muito forte, não acho boa ideia deixar de aprender este recurso para e simplesmente ignorar quem usa, certamente existe sim uma aplicação pratica e consciente deste recurso, não é porque você e a maioria das pessoas não conhece que vamos entender que não exista.

Posted

Não percebeste o que eu disse.

Eu conheço o GoTo, usei-o durante muitos anos.
É precisamente por o conhecer e ter usado que sei do que falo.
Podes chamar-lhe preconceito, mas, na verdade, a minha opinião vem da experiência.

10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Posted
Agora, M6 disse:

Não percebeste o que eu disse.

Eu conheço o GoTo, usei-o durante muitos anos.
É precisamente por o conhecer e ter usado que sei do que falo.
Podes chamar-lhe preconceito, mas, na verdade, a minha opinião vem da experiência.

É possível ter usado e achar que conhece programação é uma area muito complexa, é um recurso que esta ali, se não tivesse utilidade seria facil retirar, mas o php fez exatamente o contrario disso. Quando Bill Gates foi a IBM expor a ideia de computador pessoal, todos que se diziam "experientes da area" riram na cara dele.

Posted (edited)
8 minutes ago, Poncio Elias said:

O goto foi deixado de lado porque não conseguiram utilizara-lo de boa forma, ai foi se criando uma má fama que eu julgo ser só preconceito , dizer que nunca terá utilidade é muito forte, não acho boa ideia deixar de aprender este recurso para e simplesmente ignorar quem usa, certamente existe sim uma aplicação pratica e consciente deste recurso, não é porque você e a maioria das pessoas não conhece que vamos entender que não exista.

uma resposta destas deixa transparecer falta de conhecimento de trabalho em equipa em projectos de grande dimensão.

o problema não é o uso do goto prese, mas o problema que advém na estrutura e manutenção de código escrito através desse recurso.

já agora, a razão do aparecimento do goto é esta : https://www.phparch.com/2009/06/goto-in-php-5-3-is-it-really-that-evil/

por outras palavras, lá porque alguém se lembrou de escrever código de uma maneira mais rápida (mas menos sustentável) não quer dizer que é a melhor. a instrução existe no php, mas o seu uso é deveras desaconselhado por TODOS que têm experiência suficiente no caso.

logo, se pessoas com anos e anos de experiência te dizem uma coisa de forma tão veemente, seria de bom grado ao menos perceber que existe uma boa razão para tal.

É possível ter usado e achar que conhece programação é uma area muito complexa, é um recurso que esta ali, se não tivesse utilidade seria facil retirar, mas o php fez exatamente o contrario disso. Quando Bill Gates foi a IBM expor a ideia de computador pessoal, todos que se diziam "experientes da area" riram na cara dele.

se pretendes apresentar uma analogia, ao menos dá uma que faça sentido

Edited by HappyHippyHippo
IRC : sim, é algo que ainda existe >> #p@p
Posted
6 minutos atrás, HappyHippyHippo disse:

uma resposta destas deixa transparecer falta de conhecimento de trabalho em equipa em projectos de grande dimensão.

o problema não é o uso do goto prese, mas o problema que advém na estrutura e manutenção de código escrito através desse recurso.

já agora, a razão do aparecimento do goto é esta : https://www.phparch.com/2009/06/goto-in-php-5-3-is-it-really-that-evil/

por outras palavras, lá porque alguém se lembrou de escrever código de uma maneira mais rápida (mas menos sustentável) não quer dizer que é a melhor. a instrução existe no php, mas o seu uso é deveras desaconselhado por TODOS que têm experiência suficiente no caso.

logo, se pessoas com anos e anos de experiência te dizem uma coisa de forma tão veemente, seria de bom grado ao menos perceber que existe uma boa razão para tal.

se pretendes apresentar uma analogia, ao menos dá uma que faça sentido

Se a google contratasse pessoas que fizessem somente trabalhos dentro do Padrão, sera que teriam chegado onde estão hoje? Certamente são pessoas que questionam e nunca adotam uma única ideia como verdade absoluta que conseguem trazer melhorias e progresso na equipe. O fato da maioria acreditar nisso não quer dizer que seja verdade.

Posted (edited)
2 minutes ago, Poncio Elias said:

Se a google contratasse pessoas que fizessem somente trabalhos dentro do Padrão, sera que teriam chegado onde estão hoje? Certamente são pessoas que questionam e nunca adotam uma única ideia como verdade absoluta que conseguem trazer melhorias e progresso na equipe. O fato da maioria acreditar nisso não quer dizer que seja verdade.

estás a ver a coisa pelo prisma errado ...

foram essas pessoas (da google ou não) que olharam para o goto e disseram : "isto é estúpido, tem de se criar algo melhor",

por outras palavras, quem está aqui agarrado a modelos ultrapassados e não pretende evoluir para algo melhor parece seres tu.

Edited by HappyHippyHippo
IRC : sim, é algo que ainda existe >> #p@p
Posted
2 minutos atrás, HappyHippyHippo disse:

estás a ver a coisa pelo prisma errado ...

foram essas pessoas (da google ou não) que olharam para o goto e disseram : "isto é estúpido, tem de se criar algo melhor"

Sempre pode haver um outro ponto de vista que talvez não foi descoberto porque decidiram deixar de usar.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.