Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > it.comp.java > #9035 > unrolled thread

GOTO in Java

Started by"bubble" <spamvalentino@libero.it>
First post2017-04-16 15:07 +0000
Last post2017-06-25 23:30 -0700
Articles 20 — 6 participants

Back to article view | Back to it.comp.java


Contents

  GOTO in Java "bubble" <spamvalentino@libero.it> - 2017-04-16 15:07 +0000
    GOTO in Java "Alessandro Carraro (JUG Padova)" <carraro.alessandro@gmail.com> - 2017-04-17 01:29 -0700
      Re: GOTO in Java "bubble" <spamvalentino@libero.it> - 2017-04-17 09:25 +0000
      Re: GOTO in Java Enrico Bianchi <enrico.bianchi@ymail.com> - 2017-04-17 10:07 +0000
        Re: GOTO in Java "Alessandro Carraro (JUG Padova)" <carraro.alessandro@gmail.com> - 2017-04-21 10:54 -0700
          Re: GOTO in Java 4ndre4 <a.laforgia@gmail.com> - 2017-06-23 08:22 -0700
            Re: GOTO in Java "Alessandro Carraro (JUG Padova)" <carraro.alessandro@gmail.com> - 2017-06-23 23:36 -0700
              Re: GOTO in Java 4ndre4 <a.laforgia@gmail.com> - 2017-06-23 23:55 -0700
                Re: GOTO in Java 4ndre4 <a.laforgia@gmail.com> - 2017-06-24 00:06 -0700
                Re: GOTO in Java "Anti-Tester" <21669invalid@mynewsgate.net> - 2017-06-24 07:48 +0000
                  Re: GOTO in Java 4ndre4 <a.laforgia@gmail.com> - 2017-06-24 03:05 -0700
                    Re: GOTO in Java "Dr.UgoGagliardelli" <do.not.spam@me.please> - 2017-06-24 12:16 +0200
                      Re: GOTO in Java 4ndre4 <a.laforgia@gmail.com> - 2017-06-24 04:14 -0700
                      Re: GOTO in Java 4ndre4 <a.laforgia@gmail.com> - 2017-06-25 03:31 -0700
                        Re: GOTO in Java "Anti-Tester" <21669invalid@mynewsgate.net> - 2017-06-25 10:48 +0000
                          Re: GOTO in Java 4ndre4 <a.laforgia@gmail.com> - 2017-06-25 04:38 -0700
                Re: GOTO in Java "Alessandro Carraro (JUG Padova)" <carraro.alessandro@gmail.com> - 2017-06-25 04:23 -0700
                  Re: GOTO in Java 4ndre4 <a.laforgia@gmail.com> - 2017-06-25 04:42 -0700
                    Re: GOTO in Java "Alessandro Carraro (JUG Padova)" <carraro.alessandro@gmail.com> - 2017-06-25 22:41 -0700
                      Re: GOTO in Java 4ndre4 <a.laforgia@gmail.com> - 2017-06-25 23:30 -0700

#9035 — GOTO in Java

From"bubble" <spamvalentino@libero.it>
Date2017-04-16 15:07 +0000
SubjectGOTO in Java
Message-ID<2017041615072522486@mynewsgate.net>
Vorrei realizzare un videogioco Java che gira su una applet.
Ma a differenza di Qbasic non posso farlo perché manca il goto.
Soluzioni alternative?
http://filmarx.altervista.org

[toc] | [next] | [standalone]


#9038

From"Alessandro Carraro (JUG Padova)" <carraro.alessandro@gmail.com>
Date2017-04-17 01:29 -0700
Message-ID<41537eef-32d6-457f-8337-a099361b8de0@googlegroups.com>
In reply to#9035
1) le applet java sono considerate tecnologie obsolete; se vuoi fare un videogioco che sia fruibile su web e possa durare qualche anno,l'unica opzione seria è html + javascript oppure qualche framework proprietario.
2) goto non è assolutamente necessario per programmare alcunché, anzi è universalmente considerato qualcosa di dannoso. Solo il processore è in grado di eseguire quella istruzione, per il resto esistono in tutti i linguaggi del mondo dei sostituti più sicuri da usare rispetto a goto, da usare a seconda della reale necessità: if, for, invocazione di procedure sono i più usati.

[toc] | [prev] | [next] | [standalone]


#9039

From"bubble" <spamvalentino@libero.it>
Date2017-04-17 09:25 +0000
Message-ID<2017041709254522486@mynewsgate.net>
In reply to#9038
Anche javascript manca del GOTO. Ho provato con "break label;" ma
niente da fare. Vedrò con le procedure.
http://filmarx.altervista.org

[toc] | [prev] | [next] | [standalone]


#9040

FromEnrico Bianchi <enrico.bianchi@ymail.com>
Date2017-04-17 10:07 +0000
Message-ID<od245j$5ed$1@virtdiesel.mng.cu.mi.it>
In reply to#9038
On 2017-04-17, Alessandro Carraro (JUG Padova) <carraro.alessandro@gmail.com> wrote:

> se vuoi fare un videogioco che sia fruibile su web e possa durare qualche
> anno,l'unica opzione seria è html + javascript oppure qualche framework
> proprietario.

C'è Java Web Start. Che non c'entra nulla con le applet ma che funziona via
web

> 2) goto non è assolutamente necessario per programmare alcunché, anzi è
> universalmente considerato qualcosa di dannoso.

Nì, diciamo che GOTO è come una pistola carica e con la sicura difettosa, se
stai attento e sai quello che devi farci può essere utile, altrimenti sei
fregato. Ed è anche per questo motivo per cui in Java non è mai stato portato

Enrico

[toc] | [prev] | [next] | [standalone]


#9058

From"Alessandro Carraro (JUG Padova)" <carraro.alessandro@gmail.com>
Date2017-04-21 10:54 -0700
Message-ID<f2213494-2c08-4c57-8110-d0807a57e984@googlegroups.com>
In reply to#9040
Intendevo che in java non c'é per due motivi: 
1 É un costrutto pericoloso
2 se ne può fare a meno, ovvero non ci sono cose non programmabili a vausa della sua mancanza. Se ci dici perché ti serve, magari con un esempio in pseudocodice che lo usa, possiamo indicarti come implementare la funzionalitá con quello che java ti da

[toc] | [prev] | [next] | [standalone]


#9080

From4ndre4 <a.laforgia@gmail.com>
Date2017-06-23 08:22 -0700
Message-ID<45a96824-287b-49a8-8da6-4de8eb2e4f11@googlegroups.com>
In reply to#9058
On Friday, 21 April 2017 18:54:59 UTC+1, Alessandro Carraro (JUG Padova)  wrote:

[...]
> 2 se ne può fare a meno, ovvero non ci sono cose non programmabili a vausa della sua mancanza. 

Non e` vero. Il goto ti da` modo di uscire istantaneamente da un ciclo annidato. Non puoi farlo con nessun altro costrutto. Poi, ovvio, si puo` farlo con break e variabili, in maniera meno efficiente ma comunque efficace. Era solo per rispondere al fatto che almeno UN caso non replicabile perfettamente esiste.

[toc] | [prev] | [next] | [standalone]


#9082

From"Alessandro Carraro (JUG Padova)" <carraro.alessandro@gmail.com>
Date2017-06-23 23:36 -0700
Message-ID<f3b36f55-74f9-40a1-8747-336de8acd5d6@googlegroups.com>
In reply to#9080
Mah,a me pare tu ti sia contraddetto da solo: "non si può rompere un ciclo infinito, a meno che non uso break". Il break è a tutti gli effetti una forma "innocua" di goto. Da notare che a differenza di goto, ci sono cose non programmabili senza continue (il break lo puoi emulare con un return incapsulando il ciclo in un suo metodo). In ogni caso sono personalmente contro il goto, non ho nulla contro break e continue

[toc] | [prev] | [next] | [standalone]


#9083

From4ndre4 <a.laforgia@gmail.com>
Date2017-06-23 23:55 -0700
Message-ID<8586eb8d-573d-4e07-839c-0a8c87606438@googlegroups.com>
In reply to#9082
Nessuna contraddizione. Non hai capito quel che ho scritto. Se hai diversi cicli innestati, l'UNICO modo per saltare fuori (da tutti i cicli) dal più interno è usare un goto. Il break "rompe" solo il ciclo in cui è usato.

[toc] | [prev] | [next] | [standalone]


#9084

From4ndre4 <a.laforgia@gmail.com>
Date2017-06-24 00:06 -0700
Message-ID<db3eba97-3cb0-45b5-901d-42a79a623762@googlegroups.com>
In reply to#9083
Ah preciso che non sto parlano di "cicli infiniti" ma di "cicli annidati". Qualcosa di analogo al goto si può comunque fare con break/continue e labels ma è comunque un goto.

[toc] | [prev] | [next] | [standalone]


#9085

From"Anti-Tester" <21669invalid@mynewsgate.net>
Date2017-06-24 07:48 +0000
Message-ID<2017062407484121669@mynewsgate.net>
In reply to#9083
4ndre4 <a.laforgia@gmail.com> ha scritto:

> Se hai diversi cicli innestati, l'UNICO modo per saltare fuori (da tutti i
cicli) dal più interno Ú usare un goto.

bella cagata di pasticcio.

[toc] | [prev] | [next] | [standalone]


#9086

From4ndre4 <a.laforgia@gmail.com>
Date2017-06-24 03:05 -0700
Message-ID<a6aab3ef-5879-49da-9a9b-736d97580189@googlegroups.com>
In reply to#9085
In che senso? Spiega.

[toc] | [prev] | [next] | [standalone]


#9087

From"Dr.UgoGagliardelli" <do.not.spam@me.please>
Date2017-06-24 12:16 +0200
Message-ID<oile6s$amk$1@gioia.aioe.org>
In reply to#9086
Il 24.06.2017 12.05, 4ndre4 ha scritto:
> In che senso? Spiega.
> 
E secondo te ciccio risponde alle domande?
Bambino!
:-)

[toc] | [prev] | [next] | [standalone]


#9089

From4ndre4 <a.laforgia@gmail.com>
Date2017-06-24 04:14 -0700
Message-ID<1618d48b-71fd-4cd1-873f-abba9ad46b8a@googlegroups.com>
In reply to#9087
Ah, è sempre lui? Non lo avevo notato. Ora si spiega l'idiozia della sua risposta :)
"Anti-Tester": si è scelto un Nick che la dice lunga su quanto ci capisca di sviluppo software.

[toc] | [prev] | [next] | [standalone]


#9091

From4ndre4 <a.laforgia@gmail.com>
Date2017-06-25 03:31 -0700
Message-ID<f0f60036-e9ed-47ab-9b86-feb064c4d7c1@googlegroups.com>
In reply to#9087
On Saturday, 24 June 2017 11:17:03 UTC+1, Dr.UgoGagliardelli  wrote:

[...]
Ah, comunque ti consiglio di lurkare it.test. Si lancia in discussioni dove dice cose del tipo "Conosco almeno 16 linguaggi diversi, vuoi che non conosca il C/C++?! ;-) "

Ovviamente può dirlo solo lì, dve non lo vede nessuno.

[toc] | [prev] | [next] | [standalone]


#9092

From"Anti-Tester" <21669invalid@mynewsgate.net>
Date2017-06-25 10:48 +0000
Message-ID<2017062510481421669@mynewsgate.net>
In reply to#9091
Invidioso! Torna a fare i tuoi cari e dolci test a testa bassa.

[toc] | [prev] | [next] | [standalone]


#9094

From4ndre4 <a.laforgia@gmail.com>
Date2017-06-25 04:38 -0700
Message-ID<4b40f94f-3a86-4d66-9031-7a1269eeafd8@googlegroups.com>
In reply to#9092
On Sunday, 25 June 2017 11:48:16 UTC+1, Anti-Tester  wrote:

> Invidioso! 

Di che? Della tua idiozia?

[toc] | [prev] | [next] | [standalone]


#9093

From"Alessandro Carraro (JUG Padova)" <carraro.alessandro@gmail.com>
Date2017-06-25 04:23 -0700
Message-ID<8f6267c8-80fc-48ba-9bc6-89fcd21cd82b@googlegroups.com>
In reply to#9083
Mi hai confuso quando hai parlato di ciclo annidato. Avresti dovuto parlare di cicli annidati al plurale. Cmq non so in  C o altri linguaggi, ma in Java SI PUÒ FARE,usando break e continue. L'ho usato addirittura 3-4 volte,nella mia carriera java  ventennale .
Break e continue possono accettare una label e si possono attaccare label a tutti i blocchi e di conseguenza anche ai cicli

[toc] | [prev] | [next] | [standalone]


#9095

From4ndre4 <a.laforgia@gmail.com>
Date2017-06-25 04:42 -0700
Message-ID<a84385a1-1112-42d5-9889-5d04be38dc16@googlegroups.com>
In reply to#9093
On Sunday, 25 June 2017 12:23:34 UTC+1, Alessandro Carraro (JUG Padova)  wrote:

> Mi hai confuso quando hai parlato di ciclo annidato. Avresti dovuto parlare di cicli annidati al plurale.

No, ti parlo di "ciclo annidato" perché implica già il plurale. Non può essere annidato, se non ce ne sono almeno due. Altrimenti, annidato in che?

Anche se hai due cicli, il goto (o break + label), per uscire dal più interno, è più efficiente del break.

>Cmq non so in  C o altri linguaggi, ma in Java SI PUÒ FARE,usando break e continue.

Ho già detto che break/continue + LABEL è un modo per replicare il goto quando vuoi uscire dal ciclo annidato più interno. Le istruzioni break/continue singole sono goto limitati al loro scope. 

> Break e continue possono accettare una label e si possono attaccare label a tutti i blocchi e di conseguenza anche ai cicli

L'ho già detto io.

[toc] | [prev] | [next] | [standalone]


#9096

From"Alessandro Carraro (JUG Padova)" <carraro.alessandro@gmail.com>
Date2017-06-25 22:41 -0700
Message-ID<181553d7-80a2-48b2-9313-90dc5b62bb04@googlegroups.com>
In reply to#9095
Mi risulta differentemente. Tu hai scritto: 
>Non e` vero. Il goto ti da` modo di uscire istantaneamente da un ciclo annidato. Non puoi farlo con nessun altro costrutto

A tirare in ballo break + label sono stato io

[toc] | [prev] | [next] | [standalone]


#9097

From4ndre4 <a.laforgia@gmail.com>
Date2017-06-25 23:30 -0700
Message-ID<a9a2d73e-160c-488c-a084-645e0edf1ec1@googlegroups.com>
In reply to#9096
Ho scritto:

"Qualcosa di analogo al goto si può comunque fare con break/continue e labels ma è comunque un goto"

Leggi bene, prima di commentare.

Comunque break+label è solo un altro modo di scrivere un goto.

[toc] | [prev] | [standalone]


Back to top | Article view | it.comp.java


csiph-web