Új hozzászólás Aktív témák
-
jattila48
aktív tag
válasz
pmonitor
#6213
üzenetére
A #6179 példa valóban jó, de dabadab kritikájában is van azért igazság, annál is inkább, hogy ennél az egyszerű szerkezetű példánál sokszor bonyolultabb a vezérlésszerkezet, amit nem lehet ilyen szépen struktúrálttá alakítani.
Egyébként nem tudom mit nem értesz meg, senki nem mondta, hogy ha lehet és ésszerű, akkor ne struktúrált szerkezetet használj. Csak arról írtunk, hogy nem mindig célszerű erőltetni a dolgot. Van ahol igenis helyénvaló a goto használata (C hibakezelés), a mindenáron történő struktúrált kikerülése pedig kifejezetten antipattern. A késsel is megvághatod magad, mégis használod pl. kenyérszeletelésre, ellenben fogpiszkálónak valóban nem a legalkalmasabb. Csak erről beszéltünk. Hogy mit írt Dijkstra több mint 50 évvel ezelőtt, az csak egy dolog. Akkor még nem volt eseményvezérelt és objektumorintált programozás, nem léteztek grafikus UI-k, stb. Az akkori környezetben teljesen helyénvaló volt a szigorú struktúrált programozási elv, ami egyébként az assembly/Fortran nyelvek kényszerű használatából adódó programozási krízis megoldására született. Az általa leírt struktúrált programozási elveket/szerkezeteket automatikusan (sémaszerűen) meg lehetett valósítani assembly és fortran nyelveken természetesen goto-k használatával. Azonban a probléma ott volt, hogy (mivel a nyelvekben nem voltak struktúrált szerkezetek beépítve), sokszor elég ötletszerűen (túl intuitívan) alkalmazták a goto-t. Másrészt a memóriával is spórolni kellett, úgyhogy ha volt egy már egyszer megírt programrészlet, egyszerűen goto oda, majd vissza... Na ennek a helyzetnek a kezelésére született Dijkstra (aki egyébként kiváló tudós volt) struktúrált programozás javaslata. Azóta a helyzet sokat változott. Részben születtek struktúrált szerkezeteket támogató programozási nyelvek, részben pedig ahogy írtam, az objektumorintáltság és eseményvezéreltség is előtérbe került (ezeket nem igazán lehet tankönyvszerűen struktúrált módon kezelni). A Dijkstra féle megközelítést most is érdemes szem előtt tartani, de eszetlenül erőltetni (goto kategórikus tiltása), szerintem butaság.
Végezetül engedj meg egy személyes megjegyzést, amit egyáltalán nem bántásnak szánok. A hozzászólásaidból az jön le, hogy kezdő vagy a programozásban (ez persze egyáltalán nem baj), és nem írtál még igazán nagyobb programot. Ragaszkodsz bizonyos (túlságosan is megkövesedett) elvekhez, amit a tanáraidtól tanultál, csak a gyakorlat sajnos más, mint a tankönyvi példák. Ha majd windows (Linux) rendszeren kell nagyobb programokat írnod, rájössz, hogy szépek az elvek, de időnként érdemes testreszabni őket.
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Formula-1
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- Óriási ugrás: teszten az ASUS Zenbook A16 és a Snapdragon X2
- Kötelező frissítésnek számít a Microsoft legújabb csomagja a Windows 11-hez
- Mibe tegyem a megtakarításaimat?
- Milyen légkondit a lakásba?
- VR topik
- Yettel topik
- Path of Exile (ARPG)
- Poco X8 Pro Max - nem kell ide sem bank, sem akkubank
- További aktív témák...
- PS5 Slim Digital (CFI-2016) Karcmentes, 1 kontroller
- ASUS ROG Zephyrus G14 Ryzen 9 / RTX 4070 / 32GB / 1 TB SSD 2K 165Hz PRÉMIUM
- Dobozod ÚJ Lenovo LOQ i7 / RTX 4050 / 144Hz / GARANCIA 2027.03.
- Ultra Rampage Mobile Gamer Csomag: Lenovo Legion Duel 2 + egyedi kiegészítők! 512GB EU verziós!
- Asus TUF RX 6900 XT
- Lenovo Legion Slim 5 Ryzen 7 7840HS 16GB 1000GB RTX 4060 OLED 120Hz 1év garancia
- Azonnali készpénzes Sony Playstation 4 Slim / PS4 Pro felvásárlás személyesen/csomagküldéssel
- AKCIÓ! ASUS B365M i5 9600KF 16GB DDR4 512GB SSD RX 5600XT 6GB Zalman S2 TG GAMDIAS 650W
- Lenovo LOQ GAMING Laptop! Ryzen 7 250 / RTX 5060 / 16GB DDR5 / 1TB
- iPhone 11 Pro 64GB 100% (3hónap Garancia) - AKCIÓ
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

