Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > it.comp.www.php > #20725 > unrolled thread
| Started by | g4b0 <email_sul_mio_sito@che_leggi_in.firma> |
|---|---|
| First post | 2016-04-27 15:52 +0200 |
| Last post | 2016-04-30 08:03 -0700 |
| Articles | 13 on this page of 33 — 11 participants |
Back to article view | Back to it.comp.www.php
goto g4b0 <email_sul_mio_sito@che_leggi_in.firma> - 2016-04-27 15:52 +0200
Re: goto "ciccio" <21669invalid@mynewsgate.net> - 2016-04-27 15:29 +0000
Re: goto Delta11 <delta11NoPSAM@email.it> - 2016-04-27 21:46 +0200
Re: goto g4b0 <email_sul_mio_sito@che_leggi_in.firma> - 2016-04-28 08:58 +0200
Re: goto M_M <spam@the.hell> - 2016-05-05 10:25 +0200
Re: goto g4b0 <email_sul_mio_sito@che_leggi_in.firma> - 2016-05-05 12:28 +0200
Re: goto Delta11 <delta11NoPSAM@email.it> - 2016-05-07 22:53 +0200
Re: goto Leonardo Serni <lserni@gmail.com> - 2016-05-08 00:57 +0200
Re: goto g4b0 <email_sul_mio_sito@che_leggi_in.firma> - 2016-05-09 16:41 +0200
Re: goto fmassei@gmail.com - 2016-04-28 16:24 -0700
Re: goto Alex <tommaso5ita@yahoo.it> - 2016-04-28 11:13 +0200
Re: goto Alessandro Pellizzari <shuriken@amiran.it> - 2016-04-28 10:26 +0100
Re: goto g4b0 <email_sul_mio_sito@che_leggi_in.firma> - 2016-04-28 12:43 +0200
Re: goto Alex <tommaso5ita@yahoo.it> - 2016-04-28 15:40 +0200
Re: goto g4b0 <email_sul_mio_sito@che_leggi_in.firma> - 2016-04-29 10:00 +0200
Re: goto "ciccio" <21669invalid@mynewsgate.net> - 2016-04-28 16:54 +0000
Re: goto liftman <liftman_antispam_@moredifficult.org> - 2016-04-29 00:45 +0200
Re: goto Alessandro Pellizzari <shuriken@amiran.it> - 2016-04-29 10:26 +0100
Re: goto liftman <liftman_antispam_@moredifficult.org> - 2016-04-29 14:44 +0200
Re: goto Alessandro Pellizzari <shuriken@amiran.it> - 2016-04-29 16:26 +0100
Re: goto liftman <liftman_antispam_@moredifficult.org> - 2016-04-29 18:16 +0200
Re: goto fmigliori <fmigliori@gmail.com> - 2016-04-30 03:33 -0700
Re: goto liftman <liftman_antispam_@moredifficult.org> - 2016-04-30 13:11 +0200
Re: goto Andrea D'Amore <anddam+NOSPAM@brapi.net> - 2016-04-30 13:26 +0200
Re: goto liftman <liftman_antispam_@moredifficult.org> - 2016-04-30 14:13 +0200
Re: goto fmigliori <fmigliori@gmail.com> - 2016-04-30 04:46 -0700
Re: goto liftman <liftman_antispam_@moredifficult.org> - 2016-04-30 14:11 +0200
Re: goto fmigliori <fmigliori@gmail.com> - 2016-04-30 05:36 -0700
Re: goto fmassei@gmail.com - 2016-04-28 16:29 -0700
Re: goto g4b0 <email_sul_mio_sito@che_leggi_in.firma> - 2016-04-29 09:52 +0200
Re: goto fmassei@gmail.com - 2016-04-30 08:03 -0700
Re: goto Leonardo Serni <lserni@gmail.com> - 2016-04-29 16:01 +0200
Re: goto fmassei@gmail.com - 2016-04-30 08:03 -0700
Page 2 of 2 — ← Prev page 1 [2]
| From | liftman <liftman_antispam_@moredifficult.org> |
|---|---|
| Date | 2016-04-29 18:16 +0200 |
| Message-ID | <ng01c7$685$1@gioia.aioe.org> |
| In reply to | #20748 |
Il 29/04/2016 17:26, Alessandro Pellizzari ha scritto: > Se per uscire da un ciclo di controllo della password, magari > intervallato da controlli ACL, uno usa un goto, ci sono buone > probabilità che esca nel posto sbagliato e dia accesso a certi utenti, > con comportamenti difficili da debuggare. si certo ma... se io non sono buono a programmare lo sono col goto o senza. Lo stesso errore lo posso fare con qualunque tipo di controllo. Se parliamo di "incasinamento" del software concordo, per il resto no, il problema non è l'istruzione, ma come la si usa. -- Fri(END), Boyfri(END), Girlfri(END), Bestfri(END). Everything has an END except...Fam(ILY)! It Has 3 Letters that say I LOVE YOU
[toc] | [prev] | [next] | [standalone]
| From | fmigliori <fmigliori@gmail.com> |
|---|---|
| Date | 2016-04-30 03:33 -0700 |
| Message-ID | <57580335-f4b7-48ff-a659-a7f8d413d06a@googlegroups.com> |
| In reply to | #20751 |
> si certo ma... se io non sono buono a programmare lo sono col goto o > senza. è un po' come dire: il bravo dentista può usare tranquillamente un martello pneumatico per l'igiene dentale altrimenti è un disastro con qualsiasi altro strumento. Se ti accorgi che il tuo dentista usa strumenti di fine settecento o da cantiere, può essere bravo quanto vuoi, ma io non starei lì ad appurarlo. Forse il bravo dentista lo vedi anche dagli strumenti che usa e da quelli che evita e come gli strumenti del dentista cambiano così i costrutti e i paradigmi dei programmatori. Condivido in pieno l'opinione di chi considera l'uso del goto sia da usare solo sotto tortura (psicologia e non), quando ripristinare lo stato di servizio è fondamentale per non intaccare l'uptime, non per il normale sviluppo.
[toc] | [prev] | [next] | [standalone]
| From | liftman <liftman_antispam_@moredifficult.org> |
|---|---|
| Date | 2016-04-30 13:11 +0200 |
| Message-ID | <ng23sk$u6c$2@gioia.aioe.org> |
| In reply to | #20754 |
Il 30/04/2016 12:33, fmigliori ha scritto:
>> si certo ma... se io non sono buono a programmare lo sono col goto o
>> senza.
>
> è un po' come dire: il bravo dentista può usare tranquillamente un
> martello pneumatico per l'igiene dentale altrimenti è un disastro
> con qualsiasi altro strumento. Se ti accorgi che il tuo dentista usa
> strumenti di fine settecento o da cantiere, può essere bravo quanto
> vuoi, ma io non starei lì ad appurarlo.
un paragone un po' del cavolo eh..
> Forse il bravo dentista lo vedi anche dagli strumenti che usa e da
> quelli che evita e come gli strumenti del dentista cambiano così i
> costrutti e i paradigmi dei programmatori.
il bravo dentista è un bravo dentista a prescindere. Così come qualsiasi
"bravo" lo è a prescindere dai mezzi che usa. Dubito che un dentista
anche scarso, che possa servirsi di un *makita* o di un *black&decker*
:-D Seguando il ragionamento "attrezzatura figa = mostro di bravura",
credo si vada da poche parti. Conoscevo un meccanico che aveva in
officina tutto l'immaginabile e forse anche qualcosa in più, ma per
carità... Di contro ne conoscevo un altro che con una spranga e 2
martelli raddrizzava dei serbatoi per moto (con ottimi risultati eh..
una passata di stucco una carteggiata e via di colore..) che chiunque
avrebbe buttato nella spazzatura.
> Condivido in pieno l'opinione di chi considera l'uso del goto sia da usare
> solo sotto tortura (psicologia e non), quando ripristinare lo stato di
> servizio è fondamentale per non intaccare l'uptime, non per il normale
> sviluppo.
Io continuo a non capire questo astio verso un'istruzione. Si può
parlare di eleganza, di efficienza, di chiarezza, ma alla fine cosa
cambia veramente?
$i = 1;
while ($i <= 10):
echo $i;
$i++;
endwhile;
se da qua si toglie il while e l'endwhile e si sostituiscono con un:
if ($1 <= 10)
ecc. ecc.
e si aggiunge un goto alla fine il codice diventa veramente illeggibile?
insicuro? inelegante? Alla fine il goto anche se invisibile nel codice
del while c'è lo stesso...
Bha.. io sono l'ultima persona che può insegnare a programmare, ma
veramente sono perplesso. Il goto è (IMHO) un'ulteriore possibilità di
realizzare un qualcosa. Se fosse veramente il "male" perchè non
eliminarlo tout court da tutti i linguaggi?
--
Fri(END), Boyfri(END), Girlfri(END), Bestfri(END). Everything has an END
except...Fam(ILY)! It Has 3 Letters that say I LOVE YOU
[toc] | [prev] | [next] | [standalone]
| From | Andrea D'Amore <anddam+NOSPAM@brapi.net> |
|---|---|
| Date | 2016-04-30 13:26 +0200 |
| Message-ID | <ng24oj$tod$1@virtdiesel.mng.cu.mi.it> |
| In reply to | #20756 |
On 2016-04-30 11:11:15 +0000, liftman said: > Seguando il ragionamento "attrezzatura figa = mostro di bravura" Non era questo il ragionamento, il ragionamento era "persona competente => sceglie gli strumenti adeguati" dove "=>" è l'implicazione logica (alias "se, allora", alias modus ponens). L'espressione di uguaglianza che scrivi tu invece presuppone anche il verso contrario, che non è necessariamente vero. Per assurdo io potrei trovarmi per combinazione a possedere i migliori strumenti dell'odontoiatria, ma ti sconsiglierei caldamente di farti trapanare un dente da me. -- Andrea
[toc] | [prev] | [next] | [standalone]
| From | liftman <liftman_antispam_@moredifficult.org> |
|---|---|
| Date | 2016-04-30 14:13 +0200 |
| Message-ID | <ng27gh$13qa$2@gioia.aioe.org> |
| In reply to | #20758 |
Il 30/04/2016 13:26, Andrea D'Amore ha scritto: > Per assurdo io potrei trovarmi per combinazione a possedere i migliori > strumenti dell'odontoiatria, ma ti sconsiglierei caldamente di farti > trapanare un dente da me. se mai dovessi vedere una targhetta fuori da un palazzo "Andrea D'Amore odontoiatra", passerò certamente oltre :-D -- Fri(END), Boyfri(END), Girlfri(END), Bestfri(END). Everything has an END except...Fam(ILY)! It Has 3 Letters that say I LOVE YOU
[toc] | [prev] | [next] | [standalone]
| From | fmigliori <fmigliori@gmail.com> |
|---|---|
| Date | 2016-04-30 04:46 -0700 |
| Message-ID | <9822d2dd-14e6-4c4b-9c0b-d922a74f5e89@googlegroups.com> |
| In reply to | #20756 |
Il giorno sabato 30 aprile 2016 13:11:20 UTC+2, liftman ha scritto: > Il 30/04/2016 12:33, fmigliori ha scritto: > >> si certo ma... se io non sono buono a programmare lo sono col goto o > >> senza. > > > > è un po' come dire: il bravo dentista può usare tranquillamente un > > martello pneumatico per l'igiene dentale altrimenti è un disastro > > con qualsiasi altro strumento. Se ti accorgi che il tuo dentista usa > > strumenti di fine settecento o da cantiere, può essere bravo quanto > > vuoi, ma io non starei lì ad appurarlo. > > un paragone un po' del cavolo eh.. Era per farti capire che se degli strumenti hanno mostrato dei limiti in passato l'esperienza ti impedisce di prenderli in considerazione nella progettazione di un sw. Per questo il dentista usa strumenti avanzati che sono drasticamente diversi da quelli di fine settecento o quelli di un cantiere. >io continuo a non capire questo astio verso un'istruzione. e io non capisco il tuo astio verso le sanguisughe e i martelli pneumatici. >if ($1 <= 10) >ecc. ecc. >e si aggiunge un goto alla fine il codice diventa veramente illeggibile? >insicuro? inelegante? a parte che non ha senso usarlo, seconda cosa, quando modificherai quelle righe lo farai in maniera diversa se il codice è tra le parentesi graffe di un while o tra un etichetta e un goto, perché la logica del goto è diversa da quella del while. >Alla fine il goto anche se invisibile nel codice >del while c'è lo stesso... (è quello che diceva Leonardo che lasciava fare al compilatore che ha più esperienza) E anche nei cantieri si usano trapani e gesso, esattamente come ogni bravo dentista quindi perché non vanno bene? >Il goto è (IMHO) un'ulteriore possibilità di >realizzare un qualcosa. Dipende da cosa :p http://www.vnews24.it/2016/04/27/dentista-mutilazioni-condanna/ >Se fosse veramente il "male" perchè non >eliminarlo tout court da tutti i linguaggi? Infatti fa incupire che lo abbiano introdotto in php, speravo nel sovraccarico dei metodi e invece che ti fanno? il goto!
[toc] | [prev] | [next] | [standalone]
| From | liftman <liftman_antispam_@moredifficult.org> |
|---|---|
| Date | 2016-04-30 14:11 +0200 |
| Message-ID | <ng27cm$13qa$1@gioia.aioe.org> |
| In reply to | #20759 |
Il 30/04/2016 13:46, fmigliori ha scritto: > Era per farti capire che se degli strumenti hanno mostrato dei limiti > in passato l'esperienza ti impedisce di prenderli in considerazione > nella progettazione di un sw. Per questo il dentista usa strumenti > avanzati che sono drasticamente diversi da quelli di fine settecento > o quelli di un cantiere. ehm.. ni :-D Oggi un dentista non si sognerebbe mai di usare un trapano a cinghia e pedale, e tutti nel proprio studio hanno il trapano da almeno 30000 giri/min, poi esisteranno modelli migliori, tutti hanno la loro luce sulla punta, il getto d'aria e/o l'acqua nebulizzata, ma alla fine è la mano che lo usa a farti male, non lo strumento. Ovviamente nessun dentista sano di mente, userebbe un trapano tassellatore per edilizia... >> Alla fine il goto anche se invisibile nel codice >> del while c'è lo stesso... > > (è quello che diceva Leonardo che lasciava fare al compilatore che ha più esperienza) appunto :-D > E anche nei cantieri si usano trapani e gesso, esattamente come > ogni bravo dentista quindi perché non vanno bene? per il solito motivo per cui non si dovrebbe sparare ad un passero con un cannone... e pure per igiene e perchè esistono delle regole :-) >> Il goto è (IMHO) un'ulteriore possibilità di >> realizzare un qualcosa. > > Dipende da cosa :p magari esiste qualcuno allergico al for e al while :-D > http://www.vnews24.it/2016/04/27/dentista-mutilazioni-condanna/ eh... questo era un sadico e comunque non usava attrezzature "Hilti", vale il discorso di poche righe sopra: "alla fine è la mano che lo usa a farti male" >> Se fosse veramente il "male" perchè non >> eliminarlo tout court da tutti i linguaggi? > > Infatti fa incupire che lo abbiano introdotto in php, speravo nel > sovraccarico dei metodi e invece che ti fanno? il goto! praticamente un involuzione del linguaggio :-) -- Fri(END), Boyfri(END), Girlfri(END), Bestfri(END). Everything has an END except...Fam(ILY)! It Has 3 Letters that say I LOVE YOU
[toc] | [prev] | [next] | [standalone]
| From | fmigliori <fmigliori@gmail.com> |
|---|---|
| Date | 2016-04-30 05:36 -0700 |
| Message-ID | <04ef243d-a08b-4401-9bc2-fde388b065bf@googlegroups.com> |
| In reply to | #20760 |
>>eh... questo era un sadico e comunque non usava attrezzature "Hilti" ma gli sarebbe piaciuto
[toc] | [prev] | [next] | [standalone]
| From | fmassei@gmail.com |
|---|---|
| Date | 2016-04-28 16:29 -0700 |
| Message-ID | <74fb5971-ade3-45a3-9385-7483a6e4cb55@googlegroups.com> |
| In reply to | #20725 |
On Wednesday, April 27, 2016 at 9:52:12 AM UTC-4, g4b0 wrote: > http://php.net/manual/en/control-structures.goto.php > > LOL (rido per non piangere) > ancora una volta, la vignetta di Randall è ironica... Perché nessuno la capisce? :( "goto" è un'istruzione come un altra, è a disposizione tua, poi vedi te come e quando usarla. A quelli che dicono che non bisognerebbe usare mai goto, in nessun caso, farei scrivere un parser L(AL)R, poi vediamo. Ma tanto 'sta gente neppure saprebbe di cosa stiamo parlando.. :( Ciao!
[toc] | [prev] | [next] | [standalone]
| From | g4b0 <email_sul_mio_sito@che_leggi_in.firma> |
|---|---|
| Date | 2016-04-29 09:52 +0200 |
| Message-ID | <572312B3.4030508@che_leggi_in.firma> |
| In reply to | #20739 |
On 29/04/2016 01:29, fmassei@gmail.com wrote: > A quelli che dicono che non bisognerebbe usare mai goto, in nessun caso, farei > scrivere un parser L(AL)R, poi vediamo. Ma tanto 'sta gente neppure saprebbe > di cosa stiamo parlando.. :( Perchè tu hai mai scritto un parser LR in PHP? Non credo. Comunque non ho detto che non bisognerebbe mai usare il goto, ho detto (nel contesto del linguaggio PHP): g4b0said: "può essere utile per un workaround quick&dirty se non hai tempo per un refacor, ma alla fine hai comunque dello "spaghetti code" con un flow che rimbalza a destra e manca." L'unico utilizzo "sano" del goto che mi viene in mente è per sostituire un multi-level break (come suggerito dal manuale di PHP), ma secondo me se ti trovi in quella situazione è ora di un bel refactoring. Se non hai tempo allora goto g4b0said; Se mi linki una pagina di ghitub di un qualche famoso Framework, CMS o dir si voglia che usa il goto sono disposto a ricredermi. Così come se mi linki un riferimento ad un tuo parser LR, naturalmente :) Detto questo, utile o no, il goto rende il codice illeggibile, e su questo non puoi che concordare. Altrimenti significa che non hai mai messo mano a codice altrui disseminato di goto. -- g4b0, linux user n. 369000 http://brosulo.net
[toc] | [prev] | [next] | [standalone]
| From | fmassei@gmail.com |
|---|---|
| Date | 2016-04-30 08:03 -0700 |
| Message-ID | <74dc6d25-0060-4535-8ba0-c216e3195ea9@googlegroups.com> |
| In reply to | #20740 |
On Friday, April 29, 2016 at 3:52:22 AM UTC-4, g4b0 wrote: > On 29/04/2016 01:29, fmassei@gmail.com wrote: > > A quelli che dicono che non bisognerebbe usare mai goto, in nessun caso, > > farei scrivere un parser L(AL)R, poi vediamo. Ma tanto 'sta gente neppure > > saprebbe di cosa stiamo parlando.. :( > > Perchè tu hai mai scritto un parser LR in PHP? Non credo. > > Comunque non ho detto che non bisognerebbe mai usare il goto, ho detto > (nel contesto del linguaggio PHP): > > g4b0said: "può essere utile per un workaround quick&dirty se non hai > tempo per un refacor, ma alla fine hai comunque dello "spaghetti code" > con un flow che rimbalza a destra e manca." > > L'unico utilizzo "sano" del goto che mi viene in mente è per sostituire > un multi-level break (come suggerito dal manuale di PHP), ma secondo me > se ti trovi in quella situazione è ora di un bel refactoring. Se non hai > tempo allora goto g4b0said; > > Se mi linki una pagina di ghitub di un qualche famoso Framework, CMS o > dir si voglia che usa il goto sono disposto a ricredermi. Così come se > mi linki un riferimento ad un tuo parser LR, naturalmente :) > > Detto questo, utile o no, il goto rende il codice illeggibile, e su > questo non puoi che concordare. Altrimenti significa che non hai mai > messo mano a codice altrui disseminato di goto. > Ovviamente non n'ho mai scritto uno in PHP, si sono iniziati a generare automaticamente a partire dalle grammatiche BNF molto prima che PHP esistesse, figuriamoci quando era stabile per essere usato (il parser per PHP stesso, che usa lo Zend engine, ad esempio, è generato con yacc) :) Ad essere sincero non so se esista un generatore per PHP (tipo GOLD o yacc), ma se esiste probabilmente genererà codice che ne fa gran uso. In PHP non ne hai bisogno soprattutto perché hai le eccezioni, e quindi puoi spezzare il flow in maniera leggibile, ma ci sono vari casi in cui non lo vuoi fare, come interrompere un blocco di cicli annidati, una serie di chiamate a funzione senza usare eccezioni, nei casi un cui vuoi fare un unroll a mano, e altri ancora. Detto questo, in PHP non ho mai usato un goto in vita mia. :D Semplicemente per quello per cui si usa non serve mai. Ciao!
[toc] | [prev] | [next] | [standalone]
| From | Leonardo Serni <lserni@gmail.com> |
|---|---|
| Date | 2016-04-29 16:01 +0200 |
| Message-ID | <86q6ib1s3pnjff570nq1o950hk4h2l5mja@L.Serni> |
| In reply to | #20739 |
On Thu, 28 Apr 2016 16:29:05 -0700 (PDT), fmassei@gmail.com wrote:
>A quelli che dicono che non bisognerebbe usare mai goto, in nessun caso, farei
>scrivere un parser L(AL)R, poi vediamo.
while ($this->running()) {
switch($status) {
...
}
}
I goto ci sono, ma li mette il compilatore che c'ha esperienza ;-D
Leonardo
--
A terrible beauty is born.
- W. B. Yeats, Easter 1916
[toc] | [prev] | [next] | [standalone]
| From | fmassei@gmail.com |
|---|---|
| Date | 2016-04-30 08:03 -0700 |
| Message-ID | <18267be4-d7c2-4ca9-9944-d4eb9b4d1a5f@googlegroups.com> |
| In reply to | #20747 |
On Friday, April 29, 2016 at 10:02:01 AM UTC-4, Leonardo Serni wrote:
> On Thu, 28 Apr 2016 16:29:05 -0700 (PDT), fmassei@gmail.com wrote:
>
> >A quelli che dicono che non bisognerebbe usare mai goto, in nessun caso,
> >farei scrivere un parser L(AL)R, poi vediamo.
>
> while ($this->running()) {
> switch($status) {
> ...
> }
> }
>
LOL
Ciao!
[toc] | [prev] | [standalone]
Page 2 of 2 — ← Prev page 1 [2]
Back to top | Article view | it.comp.www.php
csiph-web