Keresés

Aktív témák

  • Miracle

    senior tag

    válasz Husky #12 üzenetére

    Nézd: Racionális érveket nem tudok mondani(nincs matematikailag levezetve, mert a hiba nem a GOTOval van, hanem a mi agyunkkal), csak a következőt:
    1968ig a progrramozásban megjent __MINDEN__ olyan technika, technológia, amit ma is használunk, leszámítva talán a generatív programozást. de generikus már volt. egyszerűen minden. Mi volt azóta a fejlsődés? 2 iránya volt:
    1: hatákonyság
    2: Megnehezíteni, hogy a programozó hibázzon
    és az utóbbi 20 évben az utóbbi messze hangsúlyosabbá vált, mint az előbbi.
    A tapasztalat azt mutatta, hogy ahogy a szoftverek nőnek(míly meglepő) a az adott hibák, amelyek akár tetszik akár nem, ugyan olyan arányban fordultak elő kisebb, és nagyobb szofverekben, azaz nagyobb szoftverekben többször, mint a kisebbekben, egyre nehezebben javíthatók, mert egyre több idő kell a hiba megkereséshez, és még több a jvításához. És a programozás úttörői igen hamar levágták, hogy a GOTO messze a legynagyobb hibaforrás. A programozó örült, hogy megtakarított 200 ASM műveletet egy GOTOval, és hazudik az a programozó, aki nem szeret hatékony algoritmust írni, még a JAVA programozók is odafigyelnek erre, pedig ott általában tényleg keveset számít, és egy rosszúl elhelyezett GOTO, vagy russzul kitalált, vagy nem emgfelflően implementált invariáns hasravágta az egész szoftot, és hihetetlenül sok idő telt bele, mire megtalálták, hogy mi nem jó, mert az algoritmusok hatékonyak voltak, de nem voltak megfelflően absztraktak, azaz a programozó nem tudta elsőre átlátni, hogy mit akart az a hülye munkatársa csinálni azzal az össze-vissza lépkedő 8 GOTOval, hacsak nem írt mellé egy 8 oldalas commentet, amivel már könnyen meg lehetett érteni, a kommentek írása még a mainál is silányabban ment, pedig most sem olyan jó a kommentelési morál, élő példa vagyok én, ha csak egy kis esély is van rá, hogy egy adott kódot nem kell bemutatnom, vagy nem tartozik szorosan a kiírrt feladathoz nem kommentelem be, mert megy vele az időm, de ha nem csinálom meg is meg tudom magyarázni. tehát lehet, hogy egy 8 oldalas kommenttel már egyből lejönne a másik programozónak is, hogy mit akart az előző azzal a 8 gotoval, és hogy milyen über-király-táps-hatékony algoritmust is alkotott, de ha van benne egy icipici hiba, akkor azt javítani szenvedés, és a továbbfejlesztés megintcsak komoly nehézségekbe ütközik. a programozás-technológia az elmúlt 30 évben az egyre magasabb absztrakció felé lépett el(nem számolva a power-appokat fejlesztők elhanyagolható hányadával, akik C-ben, különböző ASM nyelveken, illetve hasonlókon programoznak) . a GOTO meg az absztrakció ellentéte, a legjobb az lenne, ha eredendően ki lehetne irtani az előbb említett csoport agyán kívül mindenkijéből, mert amikor 10en dolgoztok egy projekten, akkor elöhetnek a deviáns gondolatok a fejedben, amikor 8 órája az egyik társad kódját böngészed, aki(már nem dolgozik ott/beteg/szarik a fejedre) hogy miért nem működik a programja, és a GOTO-k miatt nincs szép tiszta algoritmusa, amit fel tudsz fogni első ránézésre, hanem végig kell bogyrásznod. a GOTOt felejtsd el. és arra ne építs, hogy az utóbbi csoporba fogsz tartozni, neked akkor kell a GOTO, mert
    1: annak a valószínűsége kicsi
    2: rászokni nem kerül sokba, leszokni róla viszont igen kemény.

    értelmező késziszótár :: rekurzió --> lásd : rekurzió

Aktív témák