Kezdőoldal » Számítástechnika » Programozás » Mennyire "ronda", "szentségtör...

Mennyire "ronda", "szentségtörés" GoTo-t használni manapság?

Figyelt kérdés
Tanárom mondta, hogy pl. C#-ban szentségtörés használni, mi erről az általános vélemény? Mennyire használják a gyakorlatban?
2014. márc. 28. 15:55
1 2
 1/11 anonim ***** válasza:
Semennyire nem használják. Van olyan nyelv, amiben már nincs is. Ki lehet váltani átgondolt tervezéssel. És illik is.
2014. márc. 28. 16:04
Hasznos számodra ez a válasz?
 2/11 anonim ***** válasza:

C#-ban valóban az! De láttam már olyat, amit azzal volt a legegyszerűbb megoldani (más programnyelvekben).

c# esetén teljesen fölösleges goto-t használni... minden megoldható nélküle és áttekinthetőbb a kód

2014. márc. 28. 16:05
Hasznos számodra ez a válasz?
 3/11 A kérdező kommentje:
Igazából csak lustaságból szoktam nagyritkán vagy ideiglenes megoldásnak... Akkor inkább nélkülözöm, csak érdekelt erről a kollektív véleményt, köszönöm a válaszokat!
2014. márc. 28. 16:07
 4/11 anonim ***** válasza:

A "Goto" utasítás igazi aranykora akkor volt, amikor még fénykorukat élték a Commodore gépek, vagyis 1980-as évek. Akkor ugyanis nem volt még 10 000 000 különböző programozási nyelv, hanem volt a BASIC, a kezdőknek és az ASSEMBLY a haladóknak... ...arra ne térjünk ki, hogy többfajta PET számítógép is volt és egyesek (Pl. Amiga) képes volt Pascal-t is forídtani...


Pl.: Egy BASIC program

10 SCNCLR

20 PRINT"HELLO WORLD!"

30 GOTO 20


A Pascal ugyanis már struktúrált programozási nyelv, amely nem tartalmaz a programsorok azonosítására szolgáló sorszámokat.


Pl.: Egy Pascal program

Program HelloWorld;

Uses Crt;

Begin

ClrScr;

While (true) Do WriteLn('Hello World!');

End.


Ha összehasonlítjuk a kettőt, tulajdonképpen a másodikra mondják azt, hogy egyszerű, holott látszik, hogy ez nem igaz.


Pl. Egy C# program

using System;

namespace HelloWorld

{

class Program

{

public static void Main(string[] args)

{

while (true) Console.WriteLine("Hello World!");

}

}

}


Hasonlítsátok össze a 3 variációt, elvileg egyszerűsödött.

Hááát... ...és még nem beszéltünk a Java-ról és az Android-ról.


Összegezve tehát a strukturált programozási nyelv azért jobb, mert ha utólag még be akarsz szúrni egy plussz sort, azt könnyeben megteheted, mint BASIC-ben, ott előre kellett gondolkozni, manapság már nem muszáj... :-)


Nem ragozom! :-)

2014. márc. 28. 17:36
Hasznos számodra ez a válasz?
 5/11 anonim ***** válasza:
Mélyen beágyazott ciklusból ki szabad vele lépni, illetve a végső optimalizáláshoz használják, de ez utóbbira nincs szükség a nyelv tanulása közben. Majd ha nagyobb programokat fejlesztesz, akkor ott gondolkozhatsz azon, hogy jobb lenne gotoval.
2014. márc. 28. 19:11
Hasznos számodra ez a válasz?
 6/11 anonim ***** válasza:

Meg tudjátok mondani, hogy mely időszak fontosabb programozási nyelveit ábrázolja a kép?

[link]

Az 1980-as években még előszeretettel használtak az iparban FORTRAN-t. A nyelvet, amit akkoriban hiába próbáltak strukturált programok írására képesíteni.

2014. márc. 28. 19:16
Hasznos számodra ez a válasz?
 7/11 anonim ***** válasza:
A goto, break, continue ezek egy kalap alatt véve hasznosak gyorsíthatják az algoritmusokat. Egy ciklusból való kilépésre használom Perl, C, PHP nyelveken.
2014. márc. 28. 20:41
Hasznos számodra ez a válasz?
 8/11 anonim ***** válasza:

Semennyire nem az, alacsony szintű megoldásnak kiváló.


Viszont alacsony szintű megoldást idiotizmus használni akkor, ha nem tudod pontosan és teljes meggyőződéssel ezt megindokolni.


Vagyis neked tanulóként nem nagyon lesz goto-ra szükséged.

2014. márc. 28. 22:43
Hasznos számodra ez a válasz?
 9/11 anonim ***** válasza:

ha c#ba beleírsz egy gotot, akkor dobbhatod a szemétbe az egész nyelvet, és írjál inkább assemblyt


nem azért van a sok paradigma meg egyéb marhaságok, hogy szívassanak vele, de majd rájössz

2014. márc. 30. 20:40
Hasznos számodra ez a válasz?
 10/11 Srapnel ***** válasza:

A goto annak a felfogásnak az eleme, ahol a program egy utasításhalmaz egy lineáris térben (tárban), ahol valamilyen módon a tér egyes elemei azonosítottak. BASIC-ben ezek sorszámok, nem sorszámozott nyelvekben pedig címék. A program vezérlése pedig ebben a lineáris, szerkezet nélküli térben való ugrálás formájában valósul meg.


A modern, strukturált nyelvek segítségével megfogalmazott programok alapvetően hierarchikusak (fa struktúrájúak), ahol a vezérlés a fa egyes csúcsaiba való be és kilépés formájában realizálódik (tehát nem ugorhatunk a fa tetszőleges részére) és a fordító készít végül goto-kat (pontosabban JUMP utasításokat). Ez az utóbbi világ egy olyan absztrakció, amely segít könnyebben érthető és megírható programok elkészítésében.

2014. márc. 31. 22:19
Hasznos számodra ez a válasz?
1 2

Kapcsolódó kérdések:




Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!