• ú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
    JANFROG
    JANFROG --- ---
    XCHAOS: No to je prave duvod, proc se dnes pro vetsinou pouzivaji jazyky s automatickou spravou pameti :-) Tenhle problem zadne pooly nevyresi...
    XCHAOS
    XCHAOS --- ---
    ... a připomínám - ta diskuze na Slashdotu byla k tomuto článku:
    What’s to love about C? « Musing Dragoman
    http://mortoray.com/2012/06/11/whats-to-love-about-c/
    XCHAOS
    XCHAOS --- ---
    REDGUY: ehm, dvě až tři mutace od každé základní funkčnosti? podle toho, jestli to má nebo nemá volat destruktor, apod? to ti nepřijde "vyčerpávající"?

    (já mám taky docela problém, s těmi svými iterátory, jestli mají např. uvolnovat průběžně pamět', nebo jí nechávat alokovanou... proto vymýšlím ty svoje pooly, apod.... ona většina těch věcí, o kterých tady píšu, má většinou nějaký svůj důvod...)
    REDGUY
    REDGUY --- ---
    XCHAOS: hmm... me by porad zajimalo co presne ti prijde vycerpavajici a co slozite.
    XCHAOS
    XCHAOS --- ---
    DAVIDOWITCH: eh, tak jistě.

    ano, koukal jsem na to API. víceméně, možná to někdy k něčemu použiju, stejně jako celou Glib. proč ne. inspiroval jsem se tam i co se týče těch memory poolů...
    DAVIDOWITCH
    DAVIDOWITCH --- ---
    XCHAOS: No, set(pole, "klic") to sice nema, protoze preci jen potrebujes set(pole, "key", value); A to uz to ma.
    Ono to koukam umi mit k jednomu klici vic hodnot, takze get() je o neco slozitejsi, ale pokud to explicitne zakazes (overenim pres contains) tak ho muzes zjednodusit na to co pozadujes ty.
    Koukals vubec na to API?
    XCHAOS
    XCHAOS --- ---
    REDGUY: nemám domyšlené úplně všechno... ale z toho co jsem zatím předvedl, se dá vytušit, že ted pracuju hlavně na čemsi jako "univerzální iterátor" (který bude iterovat pokud možno "cokoliv" uvnitř "čehokoliv"). ani s tím však nedosáhnu na něco tak elegantního, jako je asociativní pole.
    REDGUY
    REDGUY --- ---
    XCHAOS: Co pro tebe znamena "vycerpavajici" a "slozite"? A jak to chces udelat jinak (a zustat pritom v C)?
    XCHAOS
    XCHAOS --- ---
    REDGUY: interface ke GHashTable je úplně typické API k typické céčkové knihovně. je to vyčerpávající a složité. a neintuitivní. nevím, jaký bych k tomu měl mít komentář: jedna věc je knihovna, implementující korektně užitečný algoritmus - druhá je její uživatelská přítulnost.

    dobře víš, že bych rád posunul C vzhledem k větší přijatelnosti pro když ne "začátečníky", tak alespon pro "mírně pokročilé codery", kteří se chtějí posunout někam dál, ale neví kam (otázka je, jestli někdo takový vůbec je...)
    XCHAOS
    XCHAOS --- ---
    DAVIDOWITCH: tak dostatečný syntaktický cukr je, když máš funkci, která nemá víc jak dva parametry: to pole a klíč. nějaké to set(pole,"klíč") a get(pole,"klíč"). až takto elegantně to svými makry a spojovými seznamy nikdy nedokážu... a obávám se, že pokud chci cokoliv víc než asociativní stringy, tak to ani pomocí té GHashTable ...
    REDGUY
    REDGUY --- ---
    XCHAOS: Ja vim, racionalni mysleni, rozhodovani se na zaklade faktu a ne dojmu ci prani a nevymysleni si veci, to te mate, promin.

    No, ale fakt by me zajimalo co si myslis ze interface k GHashTable? Jak dobre nebo spatne vyhovuje tvoji definici intuitivity a proc?
    XCHAOS
    XCHAOS --- ---
    REDGUY: já ti to jen chtěl usnadnit, a ty na mě hned takhle...
    REDGUY
    REDGUY --- ---
    XCHAOS: chjo. Nemluve o tom, ze ohlede treti moznosti je tady zoufaly nedostatek informaci. I kdyz obecne o hashich jsi uz mluvil, o GHashTable konkretne ani slovo, cili pokud chces vyjadreni o tom, jestli si myslime ze tomu nerozumis, chces abysme varili z vody. Coz obvykle delas ty a nemam v planu te v tom nahrazovat 8)

    Co kdybys nam misto toho rekl, co si myslis o GHashTable? Prijde ti intuitivni nebo ne? Proc konkretne? V cem konkretne bude tvuj pristup (jaky pristup?) lepsi?
    XCHAOS
    XCHAOS --- ---
    REDGUY: dobře, ale chtěl jsem vyloučit, aby někdo hlasoval pro "ano" a "ne" současně... je mi líto :-)
    XCHAOS
    XCHAOS --- ---
    zajímavej flejm :-)
    What's To Love About C? - Slashdot
    http://developers.slashdot.org/story/12/07/02/1657206/whats-to-love-about-c
    REDGUY
    REDGUY --- ---
    XCHAOS: Sigh. Jeden hlas na osobu a moznosti, z nichz nektere se nevylucuji? Ty fakt neumis delat ankety...
    DAVIDOWITCH
    DAVIDOWITCH --- ---
    XCHAOS: Jasny. Ja jen ze kdybys chtel asociativni pole jako datovou strukturu, tak to je a dokonce to je glib.
    XCHAOS
    XCHAOS --- ---
    DAVIDOWITCH: můj přístup právě umožnuje jako klíč použít téměř cokoliv.. a holt se volá nějaký if() nad akutální hodnotou klíče

    (jiná věc je efektivní hledání, ale to jsme tu řešili snad dva roky.. .do toho bych nerad znovu zabředal)
    DAVIDOWITCH
    DAVIDOWITCH --- ---
    XCHAOS: Tak postav ten sytanktickej cukr nad timhle.
    Interface a datova struktura jsou dve separatni veci.
    GHashTable je univerzalni a za to se holt plati.
    Pokud chces jako klice jen stringy, pujde udelat wrapper co to dost zjednodusi.
    Kliknutím sem můžete změnit nastavení reklam