• úvod
  • témata
  • události
  • tržiště
  • diskuze
  • nástěnka
  • přihlásit
    registrace
    ztracené heslo?
    XCHAOSANSI C/C99 (specifikace), GNU C (gcc, glibc), Tiny C (tcc) a POSIX - ne nutně C++,g++,libstdc++ nebo Win32 API
    XCHAOS
    XCHAOS --- ---
    DAVIDOWITCH: ...a on se tu např. REDGUY někdy snažil sdělit něco jiného, než "i přesto mám pravdu"? :-)
    XCHAOS
    XCHAOS --- ---
    TENCOKACISTROMY: bavíš se o C? tak to chci fakt vidět, ten typedef na pole známé délky :-)

    (jasně.. jestli myslíš, že budu pracovat s něčím jako pole->val[n] a pole->len ... ale to je pak právě tak "nativní" jako ty polymorfní objekty... a navíc je to ještě ošklivé)
    XCHAOS
    XCHAOS --- ---
    REDGUY: tak to musíš uznat i ty, že třeba proti Pythonu apod. se tím situace dost komplikuje. A v podstatě to lze chápat tak, že "C nemá nativní podporu pro pole předem známé délky" (když budu fakt přísný :-)

    a mj. většina prog. jazyků, které se snaží dál rozvíjet C (C++, D, apod.) se snaží k tomutu problému nějak postavit....
    DAVIDOWITCH
    DAVIDOWITCH --- ---
    ISTEVE: Nejez to...
    ISTEVE
    ISTEVE --- ---
    TENCOKACISTROMY: A tuhle myslenku bych mozna rozvedl dal... co kdyz podobnej problem ma vic lidi? nebylo by uzasny, kdyz by treba existovala standardni technologie kterej tenhle problem resi pro vic nez jen pro jeden projekt?

    ...ale to asi jen snim...
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    REDGUY: Jak by byl problem na to pouzit/si vytvorit patricny typ.
    REDGUY
    REDGUY --- ---
    ANT_39: XChaos ma zasadni problem s tim, ze u Cckoveho pole neni dostupna jeho delka, takze (napr.) kdyz si ho poruznu predavas po programu, musis ji predat jako extra parametr. A tim se vsechno strasne komplikuje, nebo tak neco.
    ANT_39
    ANT_39 --- ---
    XCHAOS: Co je to za druh pole, ze na nej for nestaci? Predstavuju si, ze nacpat do toho treba pruchod stromem by byla vyzva, ale pro pole a seznamy by to nemel byt problem, ne?
    DAVIDOWITCH
    DAVIDOWITCH --- ---
    XCHAOS: Ja sem naprosto nepochopil co se pokousis rict, krom obligatniho "i presto mam pravdu".
    ADAMJ
    ADAMJ --- ---
    REDGUY: Uz je to davno. V DOSu. On v nicem jinym neprogramoval. Az pak se naucil cecko.
    REDGUY
    REDGUY --- ---
    ADAMJ: Jako mentalni cviceni nebo z nutnosti? Na jaky platforme?
    ADAMJ
    ADAMJ --- ---
    TENCOKACISTROMY: GUI realizovany dle paradigmatu OOP, ale implementovany v assembleru.
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    ADAMJ: Co si mam predstavit pod "objektovy gui v assembleru" ?
    ADAMJ
    ADAMJ --- ---
    Talk about support. Muj kamarad napsal kompletni objektovy GUI v assembleru.
    REDGUY
    REDGUY --- ---
    A jeje, Xchaos opet opustil svet pricetnych lidi a pronikl hluboko do rise volneho blaboleni. No, dneska to slo extra rychle 8)
    XCHAOS
    XCHAOS --- ---
    DAVIDOWITCH: ne. je to jinak. C nepodporuje vůbec nic - ale některé věci podporuje ještě méně, než jiné. a několik jich zcela nemožných (aspoň ve většině původních specifikací)
    DAVIDOWITCH
    DAVIDOWITCH --- ---
    XCHAOS: Takze muzeme prohlasit obhajobu tvoji teze, ze narozdil od polymorfismu Ccko dedicnost "nepodporuje", za neuspesnou a zase dalsi zcela zbytecne retoricke cviceni?
    XCHAOS
    XCHAOS --- ---
    DAVIDOWITCH: ... a bude to dokonce ještě čistší a "nativnější", než většina dalších věcí, které v C ubastlíš, protože pro ně C nemá "nativní podporu" :-) viz předchozí :-)

    vlastně by bylo vtipné zkusit rozepsat, co všechnoiv C chybí: ono tam totiž chybí všechno. ten polymorfismus ani nevyžaduje externí hlavičkový soubor, zatímco jakákoliv volání standardní knihovny libc ano (printf počínaje) - co tedy je vlastně "nativní" a co ne?
    XCHAOS
    XCHAOS --- ---
    REDGUY: v C si ale obecně musíš všechno zařídit sám: třeba implementace for(;;) instrukce je natolik primitivní, že lze potom prohlásit, že C nemá podporu ani pro iteraci přes všechny prvky pole (a je to v podstatě pravda)

    troufám si říct, že v C je dokonce (po příslušném zaškolení) jednodušší a čistší implementovat objektový polymorfismus, než iteraci přes všechny prvky pole (leda by si můj objektový polymorfismus využil k implementaci vlastního kontejnerového objektu typu pole, což je jedna z věcí, se kterými si zamýšlím hrát... potom totiž můžeš nějaké funkci obsahující iteraci přes pole předat jen jediný pointer na objekt, zatímco pole musíš pořád předávat jako pointer + délku, což mi přijde jako ještě větší absence nativní podpory, než u toho polymorfismu :-)
    DAVIDOWITCH
    DAVIDOWITCH --- ---
    Ja nejak nechapu co mi v Ccku brani v tom napsat si RTTI a vtables rucne...

    A bude to tak cisty, jak jen pointery na fce muzou bejt.
    Kliknutím sem můžete změnit nastavení reklam