Keresés

Aktív témák

  • dabadab

    titán

    válasz Husky #18 üzenetére

    ''Arra celoztam, hogy a szoftverprojektek nagy resze modulokban irodik meg, egy programozo megir egy modult, ojjektumot, akarmit, abba mas nem nez bele.''

    Ez azert nem nagyon mukodik evtizedekig futo projekteknel, de mar egy ev alatt is eleg jelentos szemelyi valtozasok lehetnek.

    ''es mivel a programozok nagy resze goto nelkul is nehezen olvashato kodot gyart, eleg surun egyszerubb ujrairni mint idegenkent megerteni, debuggolni, fejleszteni''

    Szerintem azert a legtobb programozo inkabb nem irna ujra par ezer sor mukodo programot, csak azert, hogy kijavitson egy bugot (es persze a fonokei is ennek megfeleloen osztjak a budzset).

    ''Legalabbis en utalok mas fejevel gondolkodni, par honap szunet utan a sajat kodomat is nehezen latom mar at.''

    Ugye, ugye, a GOTO-k ;]

  • dabadab

    titán

    válasz Husky #14 üzenetére

    ''Mivel a forráskódok 98%-át nem azért írják, hogy azt később valaki megtanulja mint a verset, az áttekinthetőség imho feláldozható lenne a hatékonyság oltárán....''

    Nekem az a dolgom, hogy par tiz megas forrasokban turkaljak (mokas dolog a '80-as evekben irt szubrutinokkal osszefutni :) ). Ha vki ezzel a felvetessel jonne, hogy az attekinthetoseg nem fontos, akkor... akkor nem ertenek vele teljesen egyet :)

    A mikrokontrollerek nemileg elutnek a ''mainstream'' programozastol a HW korlatok miatt (es ezek a korlatok azert jotekony hatassal vannak a bonyolultsagra is), de egy ''igazi'' szamitogepen futo programnal maskepp neznek ki a dolgok.

    ''a nyolcvanas évek végén hátra kellett volna dőlni, hogy most már nyugi van, és hagyni, hogy a programozó hatékonyan végezze munkáját. Szabadon.''

    Sut rolad a mikrokontrolleres hatter :) Egyebkent meg Dijkstra a ''Go To Statement Considered Harmful'' c. szosszenetet '68-ban tette kozze ([L]http://www.acm.org/classics/oct95/[/L]), szoval egyaltalan nem uj talalmany a dolog, es en a magam reszerol lelkesen tamogatom azon elkepzeleset, hogy Assemblynel magasabb szintu nyelveken az ember ne hasznaljon gotot.

  • Miracle

    senior tag

    válasz Husky #14 üzenetére

    ''Hajjaj, ezek szerint pl. 10 év sima assembly és 5 év mikrovezérlő programozgatás után az ember ''
    akkor te abba a minimális százalékba tartozol, akinek a GOTO tényleg fontos, de azt be kell látnod, hogy a programozók nagyrésze valamilyen magasszintű nyelven, nem-hatékony szoftvereket fog írni, ott meg sokkal jobb a GOTOk nélkül.

    ''melldöngetve, akik még nem láttak pl. mikrovezérlőben FFT-t (na jó, egy F-et lehagyhatun''
    szerintem lehet, hogy láttak, de észreverrék azt is, hogy a programozóknak nagyságrendileg kisebb hányada foglalkozik ilyenekkel, mint magyasabb szintű nyelveken való absztrakt programozással, így mondjuk egy teljesen alapsz szintű, bemelegító tárgyban, mint amilyen a ''programozási környezet'' állnéven emlegetett BASH(+DCL) scripting tárgy inkább a mainstream-felé kellene húzni, aki meg nem akar ide tartozni, az majd akkor döntse el, amikor már látja, hogy mizújs a nagyvilágban, és tudja, hogy ő meghal ha nem ultra-hatékony C programokat ír majd. a többség nem ilyen.

    ''Mivel a forráskódok 98%-át nem azért írják, hogy azt
    később valaki megtanulja mint a verset, az áttekinthetőség imho feláldozható lenne a hatékonyság ''
    gondolod, hogy a szoftverek 98%át sosem fejlesztik tovább? szerintem inkább fordítva...

    ''nnomindegy, ez amúgy is flame-téma, és amúgy is a gyakorlati és elméleti programozók közti bulinak számít... én meg egyik csoportba sem tartozom.''
    még én sem, de hajlok az absztraktabb programozást támogatni. amúgy télleg flame, meg off, sorry akir zavar.
    szerk : esetleg megérne egy témát a got vs no-goto?

    [Szerkesztve]

  • 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.

Aktív témák

Hirdetés