-
Path: news-archive.icm.edu.pl!news.gazeta.pl!newsfeed.pionier.net.pl!news.glorb.com!n
ews-in-01.newsfeed.easynews.com!easynews!core-easynews-01!easynews.com!en-nntp-
11.dc1.easynews.com.POSTED!not-for-mail
From: A.L. <l...@a...com>
Newsgroups: pl.comp.programming
Subject: Re: Java i goto
Message-ID: <b...@4...com>
References: <jsa652$98b$2@inews.gazeta.pl>
X-Newsreader: Forte Agent 4.2/32.1118
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-2
Content-Transfer-Encoding: 8bit
Lines: 79
X-Complaints-To: a...@e...com
Organization: Forte Inc. http://www.forteinc.com/apn/
X-Complaints-Info: Please be sure to forward a copy of ALL headers otherwise we will
be unable to process your complaint properly.
Date: Mon, 25 Jun 2012 12:28:21 -0500
X-Received-Bytes: 2739
Xref: news-archive.icm.edu.pl pl.comp.programming:198086
[ ukryj nagłówki ]On Mon, 25 Jun 2012 17:12:02 +0000 (UTC), Edek Pienkowski
<e...@g...com> wrote:
>"goto" w Javie jest słowem kluczowym, nieużywanym. Podobnie jak const.
>Bytekod JVM natomiast, co właśnie sprawdziłem, ma instrukcję goto,
>co biorąc pod uwagę to, że bytekod ma tylko trochę ponad 100 opcodes
>oznacza, że było potrzebne. Czyli z punktu widzenia implementacji
>nie byłoby problemu żadnego, gdyby Java miała goto.
>
>I teraz tak: ja wiem, że "goto" jest Złe i w ogóle, ale jakoś
>natknąłem się na coś co w Javie nieczęsto się tworzy, mianowicie
>dość skomplikowany algorytm, gdzie przydało by się goto. W mega
>uproszczonej wersji wygląda tak:
>
>for () {
> boolean someFlag
> for() {
> if (findSth()) {
> found = sth;
> someFlag = true;
> break;
> }
> }
>
> // można w tym uproszczonym przykładzie
> // pominąć if robiąc powyżej break outer_loop
> // ale to mega uproszczony przykład
> if (someFlag) {
> break;
> }
>}
>if (!someFlag) {
> throw new Failure();
>}
>
>Wolałbym tak:
>
>for()
> for() {
> if (findSth()) {
> found = sth;
> goto search_complete;
> }
> }
>}
>throw new Failure();
>search_complete:
>
>Mi ten drugi kod wygląda na prostszy i dużo bardziej zrozumiały,
>a prawdziwy kod jest dużo gorszy, bo niepodzielny na metody i
>długi na kilkaset linijek i szczerze mówiąc ten przykład nie oddaje
>problemu, prawdziwy ma tych someFlagów ze dwadzieścia, pętle
>bardziej skomplikowane itd.
>
>Dlaczego Java nie ma goto, czy dlatego żeby raczkujące berbecie
>się nie pocięły?
>
>Edek
Dlaczego nie ma goto?... Bog tak chcial...
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
A.L.
Następne wpisy z tego wątku
- 25.06.12 19:25 Maly troll
- 25.06.12 19:42 Edek Pienkowski
- 25.06.12 19:43 Edek Pienkowski
- 25.06.12 21:15 A.L.
- 25.06.12 21:16 Edek Pienkowski
- 25.06.12 21:33 Edek Pienkowski
- 25.06.12 21:43 AK
- 25.06.12 22:03 Edek Pienkowski
- 25.06.12 22:05 AK
- 25.06.12 22:09 Edek Pienkowski
- 25.06.12 22:14 AK
- 25.06.12 23:24 Edek Pienkowski
- 26.06.12 15:15 Roman W
- 26.06.12 15:18 Roman W
- 26.06.12 20:45 Tomasz Sowa
Najnowsze wątki z tej grupy
- 7. Raport Totaliztyczny: Sprawa Qt Group wer. 424
- TCL - problem z escape ostatniego \ w nawiasach {}
- Nauka i Praca Programisty C++ w III Rzeczy (pospolitej)
- testy-wyd-sort - Podsumowanie
- Tworzenie Programów Nieuprzywilejowanych Opartych Na Wtyczkach
- Do czego nadaje się QDockWidget z bibl. Qt?
- Bibl. Qt jest sztucznie ograniczona - jest nieprzydatna do celów komercyjnych
- Co sciaga kretynow
- AEiC 2024 - Ada-Europe conference - Deadlines Approaching
- Jakie są dobre zasady programowania programów opartych na wtyczkach?
- sprawdzanie słów kluczowych dot. zła
- Re: W czym sie teraz pisze programy??
- Re: (PDF) Surgical Pathology of Non-neoplastic Gastrointestinal Diseases by Lizhi Zhang
- CfC 28th Ada-Europe Int. Conf. Reliable Software Technologies
- Młodzi programiści i tajna policja
Najnowsze wątki
- 2024-11-27 Re: UseGalileo -- PRODUKTY I APLIKACJE UŻYWAJĄ JUŻ DZIŚ SYSTEMU GALILEO
- 2024-11-27 Re: UseGalileo -- PRODUKTY I APLIKACJE UŻYWAJĄ JUŻ DZIŚ SYSTEMU GALILEO
- 2024-11-28 droga laweta
- 2024-11-28 Co tam się odpierdala w tej Warszawie?
- 2024-11-28 skąd się biorą tacy debile?
- 2024-11-28 JDG i utylizacja sprzetu
- 2024-11-27 Identyfikacja układ SO8 w sterowniku migających światełek choinkowych
- 2024-11-28 Katowice => Technical Artist <=
- 2024-11-28 Katowice => Technical Artist <=
- 2024-11-28 Bydgoszcz => QA Engineer <=
- 2024-11-28 Zielona Góra => Spedytor międzynarodowy <=
- 2024-11-28 Kraków => DevOps Engineer (Junior or Regular level) <=
- 2024-11-27 Warszawa => Analityk Biznesowo-Systemowy <=
- 2024-11-27 Zielona Góra => Senior PHP Developer <=
- 2024-11-27 Warszawa => Senior Java Developer <=