• ú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
    /* Toto je klub především pro lidi, pro které je programování jednou z mnoha massive multiplayer online počítačových her, které lze hrát.
        V tomto klubu hrozí sémantická hereze a nezdravě vysoký obsah syntaktického cukru. Nevhodné pro algoritmické diabetiky.
        Od účastníků debaty se předpokládá automaticky přístup k instalovanému GNU C: sudo apt-get install build-essential
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    C (programovací jazyk)#C99 Heslo na české Wikipedii
    Jazyk C - Základy praktického programování V Praze 2oo7 pro SSPŠ Tomáš Harvie Mudruňka a kolektiv - jak si programování v C představuje většina lidí
    http://stevenkobes.com/ctest.html C Programming Puzzlers - nepouštějte se do flamewars v tomhle klubu, pokud neuhodnete aspoň polovinu správně!
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    http://en.wikipedia.org/wiki/C99 C99 is a modern dialect of the C programming language.
    http://cprogramminglanguage.net/ C programming language
    http://cprogramminglanguage.net/c-programming-language-tutorial.aspx C programming language - úvod
    http://en.wikipedia.org/wiki/Criticism_of_the_C_programming_language C makes it easy to shoot yourself in the foot. (ještě že ne do hlavy...)
    http://en.wikipedia.org/wiki/C_preprocessor
    http://gcc.gnu.org/onlinedocs/gcc/Variadic-Macros.html C99 makra s proměnným počtem argumentů - __VA_ARGS__
    http://gcc.gnu.org/onlinedocs/gcc/ GNU C Compiler
    http://gcc.gnu.org/onlinedocs/gcc-4.2.2/gcc/Optimize-Options.html
    http://bellard.org/tcc/ Tiny C Compiler - prý C99 compliant (min. umí __VA_ARGS__) - vhodný pro skriptování v C - umí #!/usr/bin/tcc -run
    http://en.wikipedia.org/wiki/International_Obfuscated_C_Code_Contest - pokud jste neviděli tohle, tak jste ještě neviděli opravdu nečitelný C zdroják
    http://bellard.org/otcc/ Obfuscated Tiny C Compiler - z tohohle vtípku vznikl Tiny C compiler
    http://en.wikipedia.org/wiki/ANSI_C Jak se střelit do nohy standardizovaným způsobem.
    http://eli-project.sourceforge.net/c_html/c.html ANSI C Specification
    http://www.lysator.liu.se/c/ Různý ANSI C bordel
    http://www.cs.rit.edu/~ats/books/ooc.pdf Object Oriented Programming with ANSI-C - a pak že to nejde
    http://en.wikipedia.org/wiki/Longjmp co jsou to setjmp()/longjmp() knihovní funkce (pro všechny, podle kterých to bez C++ try { } catch() ... nejde)
    http://groups.google.com/group/comp.lang.c++.moderated/browse_thread/thread/dcdc710c27f47c72 C neumí správně počítat (?)
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    http://www.fastcgi.com/ FastCGI is simple because it is actually CGI with only a few extensions.
    http://www.metalshell.com/source_code/18/Mysql_Select.html How to do a simple connection and select with mysql
    http://xmlsoft.org/ The XML C parser and toolkit of Gnome
    http://curl.haxx.se/libcurl/ libcurl - the multiprotocol file transfer library
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    https://dev.arachne.cz/svn/cll1h SVN/Trac jazyka C<<1 (user-friendly nadstavba nad ANSI C99 - ve stylu JQuery vs. JavaScript)
    Benchmark iterace a serializace stringů v různých jazycích vs. v C
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
        moderátor se velice zhruba řídí zvyklostmi moderace, která kdysi platila v řadě konferencí sítě FidoNet ... C != 0xdead */
    rozbalit záhlaví
    ISTEVE
    ISTEVE --- ---
    XCHAOS: Chapu tudiz spravne, ze spis ctes papery nez koukas na prednaskovy videa?
    DAVIDOWITCH
    DAVIDOWITCH --- ---
    XCHAOS: Ehm.. videls to video?
    XCHAOS
    XCHAOS --- ---
    nechci tu rozjíždět obecný flejm proti českým ani americkým přednáškám u tabule - pokud bych ho vůbec rozjížděl, tak v již zmiňovaném klubu [ college drop-outs (kolikrát jste nedokončili vysokou školu ? jaký je rekord ?) ] - ale přeci jen: jsem fakt hodně "textově" (případně i obrazově, ale většinou musí jít o větší kvalitu grafiky, než křídou na tabuli - aspoň něco z OpenOffice Draw :-) ) orientovaný, a silně pochybuju, že by mě jakýkoliv videozáznam někoho mluvícího u tabule "předal nějakou intuici" (to už spíš věřím, že osobní účast na té přednášce - tam bych měl šanci sledovat, jak to funguje na ostatní, apod.)

    Sledování hýbajících se obrázků je pro mě v lepším případě zábava, v horším případě nuda. na videa na internetu se koukám jako na zábavu (a to i v případě, že jsou technická/informativní). především by šlo o to, že textový přepis naprosté většiny toho, co nějaká "mluvící hlava" říká na Internetu bych prolítl daleko rychleji, než kolik minut to video trvá. Psané slovo představuje jednu z nejstarších forem datové komprese (diskutabilní je, jestli je to komprese bezeztrátová) - život je příliš krátký, než abych ho trávil sledováním videí. Víceméně minimálně do té míry, do jaké nenávidím matematiku, mám rád psané slovo (s jedinou pozoruhodnou vyjímkou: dokumentace k softwaru, ať už jí mám sám psát, nebo jen číst :-) z toho vyplývá, že mým ideálem je samodokumentující software, srozumitelný stroji i člověku)
    DAVIDOWITCH
    DAVIDOWITCH --- ---
    XCHAOS: Americky prednasky maj s tema ceskejma celkem hodne malo spolecnyho.
    Muj oblibenej ilustracni priklad je: http://www.youtube.com/watch?v=__2YND93ofE&feature=player_detailpage#t=2549s
    (je to uz posunuty, je to asi 7 minut)
    SPIRALI
    SPIRALI --- ---
    XCHAOS: Tyto prednasky jsou trochu jineho charakteru nez obvykle definice/veta/dukaz, hlavni snaha je dat intuici jak to vlastne funguje bez reseni technickosti, ale chapu ze kazdy preferuje neco jineho.
    XCHAOS
    XCHAOS --- ---
    SPIRALI: popravdě - videa někoho stojícího u tabule popsané algebrou mě děsí snad nejvíc ze všeho... ještě víc, než přímá účast na přednášce :-) ne, skutečně jsem nikdy v životě nic zásadního nepochopil z přednášky a z tabule popsané křídou: vše podstatné v programování i v jiných oborech mám ze samostudia knih, skript, a samozřejmě materiálů na Internetu.

    flamewar o tomto bych radši směřoval sem, prosím: [ college drop-outs (kolikrát jste nedokončili vysokou školu ? jaký je rekord ?) ] ... ale každopádně, nevím jak matematika - ale programování je více než kterýkoliv jiný obor je podle mě nejlepší pochopit od klávesnice a monitoru (diskutabilně lze samozřejmě zdrojáky či diagramy vytisknout, nebo číst ve skriptech - samostudium z papírových materiálů je ok).

    každopádně zejména u počítačové grafiky a algebry očekávám, že k tomu budou nějaké srozumitelné nákresy, o co tam jde - fakt nehodlám hodiny sledovat, jak někdo něco píše na tabuli, to je prostě informační kanál, který jde mimo mě.
    DAVIDOWITCH
    DAVIDOWITCH --- ---
    Apropo, 3D grafika takovyho toho 3DS Max stylu je naopak plna mnoharozmernejch integralu a monte carlo integrace (a markov chains apod).
    DAVIDOWITCH
    DAVIDOWITCH --- ---
    Co se grafiky tyce, tak treba jeste Computer Graphics, principles and practice - Foley, van Dam, Feiner, Hughes.
    Je to starsiho data a neni to az tak programovaci, ale vysvetli to jak fungujou bspliny apod (coz je zalozeny na maticich), nurbsy apod.
    SPIRALI
    SPIRALI --- ---
    Jedna z moznosti jak proniknout hloubeji do toho co je (nejenom) za nasobenim matic: http://ocw.mit.edu/courses/mathematics/18-06-linear-algebra-spring-2010/video-lectures/
    XCHAOS
    XCHAOS --- ---
    REDGUY: což nedělám (resp. problém vznikne, pokud něco zmíním bez uvedení zdroje, a dvacet lidí se zeptá "a to si vzal kde?" a já musím zpětně hledat, kde to na té wiki bylo).
    REDGUY
    REDGUY --- ---
    XCHAOS: Ne, xchaosi. Kdyz jako "zdroj" napises ctyri pismena "wiki", bez nejakeho linku, jsi trouba. Stejne jako kdyz nedokazes vygooglit tutorial na pouzit matic 8)

    A btw, neni zac.
    XCHAOS
    XCHAOS --- ---
    XCHAOS: tedy dvě jediné abstrakce, chci říct :-)
    XCHAOS
    XCHAOS --- ---
    REDGUY: ... zato když jako zdroj uvedu wikipedii, tak jsem amatér, že :-)
    XCHAOS
    XCHAOS --- ---
    jako jo, s polem pointerů na objekty (indexem) se dají dělat téměř stejně pěkné věci, jako se spojovým seznam. myslím, že nejlepší protipříklad, který jsem uvedl, je vložení nového prvku poblíž začátku setříděného seznamu (a naopak u jednosměrného setříděného spojového seznamu má podobně brutální režii vložení prvku poblíž konce)

    odtud se dobereme k tomu, že vyšší jazyky typu Python, které nabídnou uživatelům jednu jedinou abstrakci dynamického kontejneru (pole proměnné délky a "slovník"), asi nebudou na některé věci úplně ideální: resp. bude dobré si u nich změřit, jak rychlé je přidávání prvku na začátek vs. na konec dlouhého pole, apod.

    a zejména zajímavé téma je otázka správy paměti pomocí reference counterů použitého u spojového seznamu objektů... z toho by mohl myslím být docela dobrý nový flejm :-)
    REDGUY
    REDGUY --- ---
    XCHAOS: ale nějak si mě pořád nepřesvědčil, že spojový seznam není výhodný nikdy, za žádných okolností. - to myslim uzce souvisi s tim, ze jsem se nikdy o nic podobneho nesnazil, protoze to je pitomost.

    typicky jsme opět u toho, že když víš kolik toho bude, tak je pole docela výhodná struktura. - uhm. To neni pravda. Ve spouste pripadu predem vim "kolik toho bude" a presto je pole spatna struktura a naopak, ve spouste pripadu nevim kolik toho bude a pole je dobra struktura.

    abstrakce kterou nabízí spojové seznamy může mít nezanedbatelné výhody - ano, muze.
    DAVIDOWITCH
    DAVIDOWITCH --- ---
    XCHAOS: Ja musim do prace, ale kdyz si vygooglis OpenGL transformations, tak urcite najdes pekny vysvetleni.
    Pripadne koukni do moderni pocitacove grafiky 2, tam je v zadu appendix o matice v grafice
    XCHAOS
    XCHAOS --- ---
    DAVIDOWITCH: naopak... když už si zmínil to vynásobení matic, tak bych právě hrozně rád viděl nějaký kus kódu/algoritmus, který to reálně používá a je k něčemu užitečný...
    XCHAOS
    XCHAOS --- ---
    REDGUY: typicky jsme opět u toho, že když víš kolik toho bude, tak je pole docela výhodná struktura. ale nějak si mě pořád nepřesvědčil, že spojový seznam není výhodný nikdy, za žádných okolností.

    většina algoritmů, se kterými pracuji, se točí kolem dvou hlavní požadavků na přístup k datům: 1) nalézt prvek splňující určitá kritéria 2) procházet všechny prvky. víceméně neuvažuju tak, že bych měl datové struktury navržené tak, že vyžaduju přístup k n-tému prvku: a pokud seznam obsahuje odkaz do jiného seznamu, tak zase spíš použiju přímo pointer na prvek seznamu než index (mj. mi to umožňuje udržet integritu dat i při setřídění kteréhokoliv z těch seznamů podle libovolných kritérií).

    Výkonnostní výhody polí v prostředí kdy CPU nabízí onchip cache chápu... ale současně trvám na tom, že abstrakce kterou nabízí spojové seznamy může mít nezanedbatelné výhody zvlášť pokud máme více složitějších, vzájemně provázaných datových struktur.
    DAVIDOWITCH
    DAVIDOWITCH --- ---
    XCHAOS: No, tak to asi ne. V tom pripade bych to pouzil jako jasnou ilustraci toho, ze to ze nejaka vec co te v matice ucej neni okamzite a jasne patrna jeste neznamena ze to za 2-3 roky nebude superdulezitej kus pocitacovejch ved. (disclaimer: jakozto hardwarar + grafik muzu mit na tohle nestandardni nazor)
    XCHAOS
    XCHAOS --- ---
    DAVIDOWITCH: kdybych tam vydržel hned po gymplu, psal by se rok 1994 (resp. 1995, kdybych býval opakoval první ročník, což se mi nechtělo ale možná bych to i dal, těžko říct). popravdě, myslíš že v roce 1994 by mě učili OpenGL? (možné to je, těžko říct)
    DAVIDOWITCH
    DAVIDOWITCH --- ---
    XCHAOS: No, kdybys treba na tom FELu vydrzel do ctvrtyho semestru, byl pomerne peknej predmet o OpenGL.
    Kliknutím sem můžete změnit nastavení reklam