eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programmingJava i goto
Ilość wypowiedzi w tym wątku: 48

  • 21. Data: 2012-06-26 22:54:02
    Temat: Re: Java i goto
    Od: Edek Pienkowski <e...@g...com>

    Dnia Tue, 26 Jun 2012 15:27:54 -0500, A.L. napisal:

    > On Tue, 26 Jun 2012 19:59:18 +0000 (UTC), Edek Pienkowski
    > <e...@g...com> wrote:
    >
    >>Dnia Tue, 26 Jun 2012 20:45:19 +0200, Tomasz Sowa napisal:
    >>
    >>> On 2012.06.26 15:15, Roman W wrote:
    >>>
    >>>> No ale to samo jest z rekurencja, ale rekurencja jest cacy, a goto
    >>>> jest be.
    >>>
    >>> To nie ma nic wspólnego z rekurencją.
    >>
    >>A z czym? Chodziło chyba o analizowanie kodu w sensie czytania,
    >>bo dla narzędzi while nie różni się od for ani nie różniłoby się od
    >>goto.
    >
    > A czy ty wiesz co to jest "rekurencja"?...

    Czy dałoby się to podchwytliwe pytanie wyrazić jaśniej? Bo pomimo
    najlepszych chęci nie rozumiem przesłania.

    Edek


  • 22. Data: 2012-06-27 01:47:53
    Temat: Re: Java i goto
    Od: Roman W <b...@g...pl>

    On Tuesday, June 26, 2012 7:45:19 PM UTC+1, Tomasz Sowa wrote:
    > On 2012.06.26 15:15, Roman W wrote:
    >
    > > No ale to samo jest z rekurencja, ale rekurencja jest cacy, a goto jest be.
    >
    > To nie ma nic wspólnego z rekurencją.

    A rekurencja tez nie zapetla grafu wywolan?

    RW


  • 23. Data: 2012-06-27 10:09:40
    Temat: Re: Java i goto
    Od: Andrzej Jarzabek <a...@g...com>

    On Jun 25, 6:28 pm, A.L. <l...@a...com> wrote:
    > On Mon, 25 Jun 2012 17:12:02 +0000 (UTC), Edek Pienkowski
    >
    > A co o takim rozwiazaniu?...
    >
    > search_complete:
    > { // begin of search_complete block
    >   for()
    >      for() {
    >         if (findSth()) {
    >            found = sth;
    >            break search_complete;
    >         }
    >       }
    >    }
    >  throw new Failure();
    >
    > } // end of search_complete block

    Czyste zło na patyku. Proponuję jednak:

    private boolean find()
    {
      for()
         for() {
            if (findSth()) {
               found = sth;
               return true;
            }
          }
       }
    return false;
    }


  • 24. Data: 2012-06-27 10:42:10
    Temat: Re: Java i goto
    Od: Edek Pienkowski <e...@g...com>

    Dnia Wed, 27 Jun 2012 01:09:40 -0700, Andrzej Jarzabek napisal:

    > On Jun 25, 6:28 pm, A.L. <l...@a...com> wrote:
    >> On Mon, 25 Jun 2012 17:12:02 +0000 (UTC), Edek Pienkowski
    >>
    >> A co o takim rozwiazaniu?...
    >>
    >> search_complete:
    >> { // begin of search_complete block
    >>   for()
    >>      for() {
    >>         if (findSth()) {
    >>            found = sth;
    >>            break search_complete;
    >>         }
    >>       }
    >>    }
    >>  throw new Failure();
    >>
    >> } // end of search_complete block
    >
    > Czyste zło na patyku. Proponuję jednak:
    >
    > private boolean find()
    > {
    >   for()
    >      for() {
    >         if (findSth()) {
    >            found = sth;
    >            return true;
    >         }
    >       }
    >    }
    > return false;
    > }

    Mało mnie to cieszy, ale jak widać niedostarczająco wyraźnie
    sformułowałem posty. BTW Czyte Drobro Na Patyku to podobno
    jedno "return".

    Edek


  • 25. Data: 2012-06-27 10:58:29
    Temat: Re: Java i goto
    Od: Andrzej Jarzabek <a...@g...com>

    On Jun 27, 9:42 am, Edek Pienkowski <e...@g...com> wrote:
    > Dnia Wed, 27 Jun 2012 01:09:40 -0700, Andrzej Jarzabek napisal:
    >
    >
    >
    >
    >
    >
    >
    >
    >
    > > On Jun 25, 6:28 pm, A.L. <l...@a...com> wrote:
    > >> On Mon, 25 Jun 2012 17:12:02 +0000 (UTC), Edek Pienkowski
    >
    > >> A co o takim rozwiazaniu?...
    >
    > >> search_complete:
    > >> { // begin of search_complete block
    > >>   for()
    > >>      for() {
    > >>         if (findSth()) {
    > >>            found = sth;
    > >>            break search_complete;
    > >>         }
    > >>       }
    > >>    }
    > >>  throw new Failure();
    >
    > >> } // end of search_complete block
    >
    > > Czyste zło na patyku. Proponuję jednak:
    >
    > > private boolean find()
    > > {
    > >   for()
    > >      for() {
    > >         if (findSth()) {
    > >            found = sth;
    > >            return true;
    > >         }
    > >       }
    > >    }
    > >  return false;
    > > }
    >
    > Mało mnie to cieszy, ale jak widać niedostarczająco wyraźnie
    > sformułowałem posty. BTW Czyte Drobro Na Patyku to podobno
    > jedno "return".

    Nie twierdzę, że moja propozycja to Czyste Dobro Na Patyku. Tylko
    tyle, że jest prostą i oczywistą poprawą kiszki z break i throw.
    Nawiasem mówiąc, nie uważam też, że early return jest zły - trzeba po
    prostu dostosować do niego styl - w Javie w praktyce i tak powinieneś
    to robić, bo masz również wyjątki.

    Do tego, o co pytałeś, odniosę się osobno.


  • 26. Data: 2012-06-27 12:14:46
    Temat: Re: Java i goto [OT] Java i Abstraction Penalty
    Od: Roman W <b...@g...pl>

    On Tuesday, June 26, 2012 9:52:01 PM UTC+1, Bogusław Szczepanowski wrote:
    > Dnia 26-06-2012 o 15:18:45 Roman W <b...@g...pl> napisał(a):
    >
    > > try {
    > > for (int i = 0; ; ++i) {
    > > arr[i];
    > > // do stuff
    > > }
    > > catch (ArrayOutofBoundsException)
    > >
    > > (dawno juz nie pisalem Javy, ale to chyba taki patent byl).
    >
    > Różnica w wydajności jest do 4% (z reguły na korzyść wyjątku), a Twój kod
    > jest okropny.

    Zgadzam sie, ze jest okropny. To tylko przyklad byl.

    RW


  • 27. Data: 2012-06-27 12:43:27
    Temat: Re: Java i goto
    Od: Andrzej Jarzabek <a...@g...com>

    On Jun 27, 9:58 am, Andrzej Jarzabek <a...@g...com>
    wrote:
    > On Jun 27, 9:42 am, Edek Pienkowski <e...@g...com> wrote:
    >
    > > > private boolean find()
    [...]
    >
    > > Mało mnie to cieszy, ale jak widać niedostarczająco wyraźnie
    > > sformułowałem posty.
    [...]
    >
    > Do tego, o co pytałeś, odniosę się osobno.

    A właściwie może nie. Więc: dlaczego widać, że niewystarczająco dobrze
    sformułowałes poglądy? Czy nie chodziło ci o to, że twój przykład
    wykazuje, że czasem goto jest najlepszym rozwiązaniem? No więc w czym
    moje rozwiązanie, bez goto a z dwoma returnami, jest gorsze od tego z
    goto?


  • 28. Data: 2012-06-27 13:09:46
    Temat: Re: Java i goto
    Od: Edek Pienkowski <e...@g...com>

    Dnia Wed, 27 Jun 2012 03:43:27 -0700, Andrzej Jarzabek napisal:

    > On Jun 27, 9:58 am, Andrzej Jarzabek <a...@g...com>
    > wrote:
    >> On Jun 27, 9:42 am, Edek Pienkowski <e...@g...com> wrote:
    >>
    >> > > private boolean find()
    > [...]
    >>
    >> > Mało mnie to cieszy, ale jak widać niedostarczająco wyraźnie
    >> > sformułowałem posty.
    > [...]
    >>
    >> Do tego, o co pytałeś, odniosę się osobno.
    >
    > A właściwie może nie. Więc: dlaczego widać, że niewystarczająco dobrze
    > sformułowałes poglądy? Czy nie chodziło ci o to, że twój przykład
    > wykazuje, że czasem goto jest najlepszym rozwiązaniem? No więc w czym
    > moje rozwiązanie, bez goto a z dwoma returnami, jest gorsze od tego z
    > goto?

    Nie jest rozwiązaniem w ogóle. Można by nim zastąpić taki kod:

    .... goto do_return;

    do_return:
    return;
    }; // end of method

    Szukanie daily wtf tam gdzie go nie ma jest znaną przypadłością.

    > Nie twierdzę, że moja propozycja to Czyste Dobro Na Patyku. Tylko tyle,
    > że jest prostą i oczywistą poprawą kiszki z break i throw.

    Na tego typu "uproszczenia" i "usunięcia kiszki" w kodzie istnieje tylko
    jedna metoda nazywana w SCMach "revert". Szybko się w ten sposób usuwa
    błędy, ale na tym zalety się kończą.

    Nie formułowałem poglądów [1], dostałem odpowiedź zupełnie sensowną na
    postawiony problem:
    label: {
    ...
    break label;
    ...
    };

    To całkiem niezły substytut goto, ograniczony, ale rozwiązujący tego
    typu problemy. Nie wiem, czy spotkam w praktyce przypadek, gdzie
    potrzebne byłoby goto a nie powyższe, chociaż znam takie. Czyli
    mój problem nie tylko został zauważony w ogóle, ale jest uwzględniony
    w konstrukcji języka Java, chociaż o tym nie wiedziałem, a dzięki
    temu wątkowi wiem.

    Edek

    [1] No może trochę poglądów sformułowałem w obu wątkach, ale
    zeszły na dalszy plan.


  • 29. Data: 2012-06-27 13:25:51
    Temat: Re: Java i goto
    Od: "AK" <n...@n...com>

    Użytkownik "Edek Pienkowski" <e...@g...com> napisał:

    > label: {
    > ...
    > break label;
    > ...
    > };
    >
    > To całkiem niezły substytut goto

    Jaki zas substytut. To _czyste goto_.
    Czytac nie umiesz /z dokladnoscia do lukru skladniowego oczywiscie/ ? :)

    AK


  • 30. Data: 2012-06-27 13:28:31
    Temat: Re: Java i goto
    Od: Edek Pienkowski <e...@g...com>

    Dnia Wed, 27 Jun 2012 13:25:51 +0200, AK napisal:

    > Użytkownik "Edek Pienkowski" <e...@g...com> napisał:
    >
    >> label: {
    >> ...
    >> break label;
    >> ...
    >> };
    >>
    >> To całkiem niezły substytut goto
    >
    > Jaki zas substytut. To _czyste goto_.
    > Czytac nie umiesz /z dokladnoscia do lukru skladniowego oczywiscie/ ? :)

    93% pure.

    Edek



strony : 1 . 2 . [ 3 ] . 4 . 5


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: