Kogato si s ediniq krak v assembler-a, goto ne ti pravi vpechatlenie, ponezhe znaesh, che kompilatoryt bez drugo shte generira jump instrukciq. V ezicite ot nivoto nad assembler obache, goto silno zatrudnqva chetimostta za prostosmyrtnite.
Edinstveniqt sluchaj v C kogato goto e opravdan e ako iskash da izlezesh navednyzh ot poveche ot edin vlozheni cikli. Dori v tozi sluchaj puristite nastoqvat da si napravish otdelna funkciq, za da izbegnesh izpolzvaneto na goto. Funkciqta mozhe i da e inline, ako dyrzhish da spestish vikaneto. Toq problem e reshen mnogo elegantno v Perl (a veroqtno i v drugi ezici), kato e predvidena vyzmozhnostta za etiket na break (last) taka, che tochno da mozhesh da ukazhesh ot koj cikyl iskash da izlezesh. No da oprostqva koda - ne. Da go pravi po-malyk kato source ili binary - syshto ne. Kompilatorite ot godini veche sa dostatychno inteligentni, za da ne se nalaga da gi ulesnqvash s goto. Eto edna klasika ot 68-a godina (Dijkstra): http://www.acm.org/classics/oct95/ Prodylzhava da predizvikva polemiki :) Petko >Date: Thu, 11 Oct 2001 14:30:54 +0300 > Georgi Chorbadzhiyski <[EMAIL PROTECTED]> [EMAIL PROTECTED] Re: lug-bg: Kernel >2.4.11Reply-To: [EMAIL PROTECTED] > >Petko Boukov wrote: >> >> Tochno VM ponastoqshtem e qbylkata na razdora, ponezhe Linus dopusna >> generalni promeni syvsem kysno v stabilniq 2.4. Dokolkoto razbrah, >> v momenta dazhe na Linus i na Alan v klonovete ima razlichni >> implementacii na VM: ednata na Andrea Arcangely, a drugata - na Rik >> van Rijl (maj ne se pishat tochno taka, ama nqmam vreme da gi >> proverqvam). Vseki smqta, che negoviqt podhod e po-dobriqt i >> po-stabilniqt. >> >> A pyk po otnoshenie na koda, oshte ne moga da preodoleq shoka, sled >> kato vidqh Alan Cox kolko goto-ta izpolzva v tcp/ip stack-a i v >> ipc. > >goto e mnogo dobar operator kogato se izpolzva kakto triabva. Oprostiava >koda i go pravi po optimalen. Tova che v niakoi "ezici za programirane" >GOTO se izpolzva za shtialo i neshtialo izobshto ne namaliava poleznostta >na operatora :) Ako triabva byrzo da izlezesh ot niakakyv loop i da zavurshish >neshto po nai-logichniat nachin varshi chudesna rabota. ------------------------------------------------------------ --== Sent via Deja.com ==-- http://www.deja.com/ =========================================================================== A mail-list of Linux Users Group - Bulgaria (bulgarian linuxers) http://www.linux-bulgaria.org/ Hosted by Internet Group Ltd. - Stara Zagora
