• ú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í
    XCHAOS
    XCHAOS --- ---
    REDGUY: s urážením tady fakt začal někdo jiný.
    REDGUY
    REDGUY --- ---
    XCHAOS: chápu, že očekávat od tebe takovou míru dovtipnosti by bylo moc: Hele, ja rozumim ze mi za kazdou cenu musis odporovat a snazit se me urazet, ale tocit se na takove nepodstatnosti jako tohle? Notabene takove ktera nijak nesouvisi s predmetem debaty a dokonce neni ani mirena proti tobe? ROFL, ty to fakt beres dost osobne 8)

    btw, co [ REDGUY @ ANSI C/C99 (specifikace), GNU C (gcc, glibc), Tiny C (tcc) a POSIX - ne nutně C++,g++,libstdc++ nebo Win32 API ] ? Bude nejaka odpoved nebo to radsi tak nejak zamluvime? 8)
    XCHAOS
    XCHAOS --- ---
    SKIM: heh: "The Java version was probably the simplest to implement, but the hardest to analyze for performance. Specifically the effects around garbage collection were complicated and very hard to tune. Since Scala runs on the JVM, it has the same issues."

    tenhle článek jako kdybych psal já ! ještě se divíte, že chci vyvíjet remeber {} a forget {} makra ? :-)
    XCHAOS
    XCHAOS --- ---
    SKIM: no mě programátoři v C++ právě nepřipadají jako extra geniálnější, než právě třeba (dobří) codeři v C. Některé konkrétní algoritmy určitě vyžadují genialitu, aby je někdo vymslel, to je bez diskuze... ale spíš bych programátory v C++ klasifikoval třeba jako letecké dispečery: ti také dělají něco, v čem se točí velké peníze, a jsou tedy dobře placení - protože když to udělají špatně, tak mohou způsobit spoustu škody. a společné mají i ty noční přesčasy a tak.
    SKIM
    SKIM --- ---
    XCHAOS: Mě se líbí tento titulek
    Google pits C++ against Java, Scala, and Go: C++ wins. If you're a genius
    Google pits C++ against Java, Scala, and Go • The Register
    http://www.theregister.co.uk/2011/06/03/google_paper_on_cplusplus_java_scala_go/
    XCHAOS
    XCHAOS --- ---
    REDGUY: cituji to z odkazu, pod kterým jsme napsal "cituji:" - ale chápu, že očekávat od tebe takovou míru dovtipnosti by bylo moc ...
    REDGUY
    REDGUY --- ---
    XCHAOS: C is closest to ASM and thus can be (theoretically) optimized best - nevim odkud to citujes, ale je to nesmysl. Jak obecne (to ze je jazyk blizky ASM ani nahodou neimplikuje ze by mel byt nejlepe optimalizovatelny), tak konkretne (nektere vlastnosti C komplikuji optimalizaci ve srovnani s jinymi jazyky).
    XCHAOS
    XCHAOS --- ---
    ANT_39: momentálně v trunku nic použitelného nemám.

    byly předchozí dva "releasy", z čehož ten 0.6 byl inspirovaný spíše mým chatrným povědomím jak vypadá Perl, a už dávno mě bylo jasné, že je to slepá ulička.

    verze 0.7 je v repository taky - ale i když už jsem tam zamířil výrazně lepším směrem, tak jsem pod vlivem setkání s Pythonem usoudil, že je to příliš košaté a neystémové.

    v současnosti chci začít od začátku, vtípky s then buddhismem nechám až na konec (nějaký aprílový release, nebo tak něco), a chci to postavit na for_each() {} , try { fail() } except() {} a liberálním garbage collection v rámci celých scope pomocí remember{} a forget{}

    pokud se mi podaří omezit pro začátek počet nově zabraných klíčových slov tak třeba na 20, tak budu opravdu spokojený. předchozí verze byla moc košatá, to nebylo v duchu C.
    XCHAOS
    XCHAOS --- ---
    C++ the Clear Winner In Google's Language Performance Tests - Slashdot
    http://developers.slashdot.org/story/11/06/15/0242237/C-the-Clear-Winner-In-Googles-Language-Performance-Tests
    C++ clear winner in Google language tests - 06 Jun 2011 - Computing News
    http://www.computing.co.uk/ctg/news/2076322/-winner-google-language-tests

    ... safra safra, to bych se na to podíval tedy... to by mě zajímalo, jaké použil benchmarky (no ok, ten můj byl taky trochu trapný...).

    cituji C is closest to ASM and thus can be (theoretically) optimized best but it's a pain in cross-platform world then. - a o to se právě snažím já - chtěl bych nad C udělat něco takového, jako je JQuery nad Javascriptem
    XCHAOS
    XCHAOS --- ---
    ANT_39: ok, i tohle tam asi nebude. jako že jo... mě nejdřív inspiroval ten obfuscated code contens.

    ale teď mě zajímají spíš iterační makra a memory management. lidé se s časem mění :)
    XCHAOS
    XCHAOS --- ---
    _BENNY: no z těhle pozic jsem už trochu ustoupil... bude to o něčem trochu jiném :)
    _BENNY
    _BENNY --- ---
    ten then-buddhismus me zaujal

    TečkaCZ - Věci se nedějí spolu
    http://teckacz.cz/517

    Každopádně v souvislosti s pohledem na nesnesitelně elegantní odsazení v ukázkových fragmentech zdrojového kódu v Pythonu jsem pocítil silnou nostalgii po jednoduchém a krásném If - Then - Else - Endif, který nabízel Basic. A následně jsem došel osvícení, a založil učení, které nyní nazývám pracovně "then-buddhismus". Do souboru cll1.h jsem přidal tento řádek:

    #define then
    A to je vážení přátelé, podstata učení zvaného then-buddhismus. Škoda, že pointu pochopí jen dlouholetí uživatelé jazkya C... ale takový už je život. Céčkaři ho jistě neměli lehký, tak tohle mají za odměnu. Proč definovat then ? No čistě jen proto, že díky tomu pak můžete klidně v Cll1 klidně psát if - then úplně stejně jako v Basicu :-) Čirá nostalgie po 8bitových domácích počítačích... :-)
    if (1+1==2) then
    {  
     printf("Funguje to.");     
    }


    (Jediný rozdíl je samozřejmě ten, že vám u Cll1 nikdo nevynadá, když na ten then zapomenete :-) Ať žije svoboda :-)
    ANT_39
    ANT_39 --- ---
    XCHAOS: No, tak jsem crl1 vyzkousel.

    V dokumentaci "advanced" nemas popsany vyjimky, zato je tam nesmyslna stat o then-buddhismu. Vubec nechapu, proc to tam je. Stejne tak mi unika uzitecnost veci jako MAYBE a WHOKNOWS. Jestli s tim mas seriozni zamery, tak bych tyhle filozoficky picoviny vyhazel, a soustredil se na technickou stranku veci.

    Stran pouziti, prazdny soubor s #include "clr1.h" dostane v gcc -pedantic nejaky warningy a selze linkovani, protoze coalesce neni definovano. Rikam si, urcite neco delam blbe, kouknu do tech demos, jak to ma byt. Tam samozrejme nic neni. Samozrejme jsem si to nakonec cut'n'pastnul z manualu, ale aspon takovy detaily by bylo dobry vychytat.

    Taky tam mas dost globalnich promennych, takze v crl1 nejde psat modularni programy.
    ANT_39
    ANT_39 --- ---
    XCHAOS: Z dětí, které uspokojí takováhle odpověď, se stávají objektoví programátoři. Ovšem z dětí, které se zeptají "dobře, ale jak funguje to magnetické pole ?" vyrostou programátoři v Céčku.

    Ony i vyssi a uhlazenejsi jazyky maji svou vnitni slozitost. Umet do detailu a dobre Python je podobne netrivialni, jako umet do detailu dobre C, akorat ta slozitost je v necem jinym.

    Jinak by me celkem zajimalo, z jake katerogie deti rostou tihleti then buddhisti a Hinayana oriented programmers. (/me si ze zvedavosti brouzda po strance o C<<1.)
    REDGUY
    REDGUY --- ---
    XCHAOS: kuš už - to neni moc silny argument. Mam to chapat tak ze zacnes zase brzo rozdavat bany za pokracovany debaty, kterou jsi ty sam zacal?

    C++ je kategorie sama pro sebe... já myslel spíše takové ty "konzumnější" objektově orientované jazyky - v tom pripade jsi se velmi spatne vyjadril a neni divu ze ti neni rozumnet. Mluvil jsi o "objektovem programovani", bez nejakych privlastku a doufam ze se shodneme na tom, ze C++ je typickym a dost mozna nejznamejsim prikladem objektoveho jazyka. Nicmene budiz, kdyz ted (opet) menis to co jsi rikal, preformuluji otazku:

    Kdyz si zkusim zkompilovat neco objektoveho, rekneme Objective-C/Javu/Python(pouzivany objektove) nebo treba OCaml(opet, pouzivany objektove), tak to neni projev "zvídavého analytického přístupu"?

    A doplnim - je ten "zvidavy analyticky pristup" vazany na kompilaci? Co kdyz se budeme bavit o interpretovanych jazycich? Kdyz misto "Zkusim si zkompilovat zdrojak C" bude "Zkusim si pustit perlovy script", meni to neco?
    XCHAOS
    XCHAOS --- ---
    REDGUY: kuš už. C++ je kategorie sama pro sebe... já myslel spíše takové ty "konzumnější" objektově orientované jazyky :-)

    sice offtopic, ale současně důkaz, že slovo kreativita nepoužívám nijak pejorativně, ba právě naopak:
    http://teckacz.cz/1119

    (v Brmlabu někdy chystám lightning talk o C<<1, až bude venku aspoň první release :-)
    REDGUY
    REDGUY --- ---
    XCHAOS: A kdyz si zkusim zkompilovat neco objektoveho, rekneme C++, tak to neni projev "zvídavého analytického přístupu"?
    XCHAOS
    XCHAOS --- ---
    (já třeba při skriptování pro webové browsery používám prefabrikované JQuery objekty a je mi blaze - ale to je v tomhle klubu offtopic, jak jsem už psal...)
    XCHAOS
    XCHAOS --- ---
    REDGUY: éééé... projev "zvídavého analytického přístupu" je to, že vůbec zkusíš zkompilovat nějaký C zdroják na svém Linuxu. Jestli použiješ nebo nepoužiješ něco z LibC, to je jiná věc - ale budeš vědět, že když budeš zkoumat, jak je to v té libc implementované, tak na to potřebuješ znalost Céčka - a to je v první řadě ten důvod, proč ses něco pokusil kompilovat v Céčku.

    Pokud něco poslepuješ z prefabrikovaných objektů, tak je to může a nemusí být kreativní přístup k programování :-) taky ti za to mohl někdo prostě zaplatit, a ty si šel cestou nejmenšího odporu, a jenom bod za bodem implementuješ nějaká zadání, že.. to pak moc kreativní není.
    REDGUY
    REDGUY --- ---
    XCHAOS: To bych se s dovolenim ohradil, necist zpravy druhych je tvoje diskusni metoda, ne moje, to si pletes (a nejen diskusni, ale i banovaci 8) ). Cetl jsem, proste to nedava smysl. Tak schvalne: pokud v C pouziju neco z LibC, tak je to projev "zvedave analyticnosti"? A pokud v C++ pouziji knihovnu s objektovym rozhranim, je to projev "kreativnosti"? Je to tak? Nebo jsi to myslel jinak?
    XCHAOS
    XCHAOS --- ---
    REDGUY: spousta písmenek, co. kdo to má po těch ostatních číst...
    Kliknutím sem můžete změnit nastavení reklam