• ú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: no ano, ale v tom potom nic nevyhledáš se složitostí logN.

    tak mi prostě dopřej nějakou malou neškodnou chiméru, nad kterou bych si mohl zbytek života lámat hlavu :-)
    DAVIDOWITCH
    DAVIDOWITCH --- ---
    XCHAOS: No, proto sem to chtel sepsat vsechny ty veci.
    Protoze na tohle nepotrebujes nic specialni, staci linked list.
    XCHAOS
    XCHAOS --- ---
    DAVIDOWITCH: ach jo, tak tady. popravdě, ty tady netřídíš pokaždé zcela náhodná data, ale přidáváš jeden prvek mezi již setříděná data. Toto je triviání a má to složitost N: typicky si představ třeba klasické jednoduché pole, které "sešoupneš" o jednu pozici od místa, kam vložíš zatřiďovaný prvek.
    DAVIDOWITCH
    DAVIDOWITCH --- ---
    XCHAOS: Tak to zkus tam, nebo to proste sepis jako 1ks prispevku. Podle toho co si matne pamatuju to vede na comparison-sort serazeni rychlejsi nez v NlogN.
    XCHAOS
    XCHAOS --- ---
    DAVIDOWITCH: já si myslím, že tenhle klub je spíš o céčku, než o mých datových strukturách. když už, tak je tu klub [ Algoritmy všeho druhu :: podělte se, pochlubte se, diskutujte etc... ]
    DAVIDOWITCH
    DAVIDOWITCH --- ---
    Ja se s tim presunu sem. Muzes nejak znova specifikovat pozadovany vlastnosti ty datovy struktury (a jelikoz si zacal bejt alergickej na Marusku, tak tomu rikejme treba XLIST, to skoro urcite neexistuje a nebude se nikomu s nicim omylem plest).
    XCHAOS
    XCHAOS --- ---
    DAVIDOWITCH: já jsem spíš textově, než matematicky orientovaný programátor. mě zaujala spíš nativní podpora unicode.
    DAVIDOWITCH
    DAVIDOWITCH --- ---
    XCHAOS: Err... ja tim chtel rict ze anonymni uniony uz dost mozna mas implementovany.
    A bez pretezovani operatoru ti vznikne... no, evidentne ma ted C nativni podporu komplexnich cisel. Enjoy. (V pristi verzi urcite nekdo vymysli nativni podporu matic a vektoru)
    XCHAOS
    XCHAOS --- ---
    DAVIDOWITCH: v podstatě, je možné, že nakonec skončím u toho "D", jestli to nějak Doladěj.

    Víceméně na C++ mi nevadí ani tak, že je objektové - ale vadí mi zmatek reference vs. pointery (tušil jsem, že mi to vadí, teď už mám i vysvětlené od někoho, že je to fakt co mi vadí), přetěžování operátorů, a takové různé věci. A třeba mi chybí i kontejnerová konstukce typu for_each() ... což je prostě abstrakce, která by v jazyce, který se tváří jako "vyšší" měla být normou. (a ne... tím, že se pro každý prvek kontejnerové třídy přetíží operátor ++ to z hlediska laika není nahrazené dostatečně :-) )
    DAVIDOWITCH
    DAVIDOWITCH --- ---
    XCHAOS: Ja jak nedelam v cistym C tak nevim, ale C++ tohle ma uz alespon 5 let (to sem to tak poprvy pouzil, rekl bych). Dost mozna i dyl.
    Jestli to je C++ vec nebo nejaka univerzalni extenze kterou maj vsichni a jen se ted dostala do standardu (jako secure fce), to ti nepovim.
    XCHAOS
    XCHAOS --- ---
    DAVIDOWITCH: mě popravdě zaujal nejvíc ten anonymní struct/union. to by mohlo vyřešit spoustu haluzí s přetypováním....
    DAVIDOWITCH
    DAVIDOWITCH --- ---
    XCHAOS: Tak zejo, treba C++ concepts nakonec z finalni verze zrusili mimo jine i proto, ze zadnej kompilator nemel funkcni verzi. Takze bych se vubec nedivil kdyby GCC/ICC mely pomerne hodne nakroceno k plny implementaci v momente finalizace C11 standardu.
    XCHAOS
    XCHAOS --- ---
    GCC already says: [gnu.org]

    A fourth version of the C standard, known as C11, was published in 2011 as ISO/IEC 9899:2011. GCC has limited incomplete support for parts of this standard, enabled with -std=c11 or -std=iso9899:2011. (While in development, drafts of this standard version were referred to as C1X.)
    XCHAOS
    XCHAOS --- ---
    nj. musím jít balit dárky, takže to musím odložit, ale jsem zvědav :-)
    C1X - Wikipedia, the free encyclopedia
    http://en.wikipedia.org/wiki/C1X

    specifikace je už venku dýl - dnes o tom psali akorát na slashdotu :-)
    XCHAOS
    XCHAOS --- ---
    Všichni Céčkaři dostali od ISO vánoční dárek, tak jsem zvědav, jestli není čas aktualizovat název klubu:
    http://developers.slashdot.org/story/11/12/24/0145238/iso-updates-c-standard
    http://www.h-online.com/open/news/item/ISO-updates-C-standard-1400814.html
    http://www.iso.org/iso/iso_catalogue/catalogue_tc/catalogue_detail.htm?csnumber=57853

    jsem zvědav, kdy začne GCC podporovat C1X. jinak tím pádem moje rozhodnutí přeorientovat se na čisté C99 a featury které podporuje bylo správné: teď je C99 jednoznačně "produkční", zatímco tohle je nová beta.
    XCHAOS
    XCHAOS --- ---
    DAVIDOWITCH: jako vidím výhodu kompilace u staticky typovaného jazyka - že zkontroluje, se funkcím nepředávají nekompatibilní parametry. kompilace u dynamicky typovaného jazyka (jako je PHP) sice asi zrychlí běh programu (o něco) - ale kód nebude o nic robustnější.
    DAVIDOWITCH
    DAVIDOWITCH --- ---
    XCHAOS: Ja to asi nechapu. Ja sem mel vzdycky dojem, ze VM je prave proto, ze se veci nekompilujou do nativniho kodu. Az on demand to pak resi ta VM (ktera ma jisty vyhody, jako treba ze v ramci JIT umi inlinovat i virtualni tridy, a jisty nevyhody, jako ze na loadu to chvili chrousta).

    Ale rozhodne zajimavy, pokud nekdo udela PHP frontend pro LLVM, tak to bude celkem fajn.
    XCHAOS
    XCHAOS --- ---
    sice C++ ale co... je to vzdáleně podobné téma jako to, na čem pracuju já:
    Facebook vyvíjí virtual machine pro PHP - Root.cz
    http://www.root.cz/zpravicky/facebook-vyviji-virtual-machine-pro-php/

    vtipné je, že s pre-kompilací do C++ končí, a místo toho budou vyvíjet (zřejmě JIT?) PHP compiler přímo do strojáku :-)
    XCHAOS
    XCHAOS --- ---
    TENCOKACISTROMY: hele, nejde :-) ani s přetypováním ne.

    (*((typ objektu *)(funkce_vracejici_objekt())->interface->metoda))(objekt, parametry)

    ... chápeš? prostě objektový model pro čisté C sice existuje, a je i docela elegantní (může být i strukturovaný, když nezahrnuje dědění) - ale prostě když ti funkce vrátí objekt, musíš pracovat s pointerem na něj - nemůžeš ten samý objekt jednoduše předat nějaké metodě (šlo by to, kdyby C mělo nějaké "self" nebo "this" - což ovšem nemá).

    C++ někomu sedne, někomu ne. Nemá to cenu řešit. Ti, kdo mají C++ rádi, si musí uvědomit, že používají jazyk, který je sice mocný, ale nesedne všem. Sedne to lidem s nadáním pro vyšší matematiku - ale je to už příliš vzdálené přirozenému jazyku či "kupeckým počtům". To je celé. Nerozjíždějme další flejm.
    TENCOKACISTROMY
    TENCOKACISTROMY --- ---
    XCHAOS: v čistém C nikdy nevymyslím objektovou syntaxi, která by umožnovala zavolat metodu u objektu vráceného nějakou funkcí.
    Tak ono by to slo ... otazkou ale je, jestli by pak precijen nebylo lepsi pouzit to C++ :)
    Kliknutím sem můžete změnit nastavení reklam