• ú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í
    ANT_39
    ANT_39 --- ---
    XCHAOS: V tom pripade o tom ale nema smysl moc debatovat.

    XCHAOS: Tak basic mel nareci vic nez dost, ne? A treba takove G++ neimplementuje cele C++, zato k nemu pridava mrak rozsireni...
    XCHAOS
    XCHAOS --- ---
    ANT_39: víceméně, já ale od začátku zdůrazňuji svůj "umělecký záměr".

    a odpovědí mi neustále je: "ne, programování musí být k něčemu dobré, musí to být užitečné - není možné to dělat jen jako umění"

    ve skutečnosti - už když dosáhnu nějaké minimální funkčnosti, a SOUČASNĚ tam ještě bude ten "umělecký" level - tak co jako ? je to podle mě stejně dobré jako JAKÉKOLIV jiné programování (proč by mělo být ok bastlit stránky v PHP a ne zkoušet to, co dělám já ?)
    ANT_39
    ANT_39 --- ---
    XCHAOS: Ten clovek nicmene netvrdi, ze ty jazyky budou k necemu dobre, neni to asi cilem, a nazor ostatnich je mu, rekl bych, celkem sumak, protoze charakteristiky toho jazyka jsou podrizene jen _jeho_ _umeleckemu_ zameru. Nema to nic spolecneho s inzenyrstvim nebo designem.

    Ono kdyz predkladas inzenyrum a desigenrum RFC, nediv se, ze dostanes inzeryrske a designerske odpovedi.
    XCHAOS
    XCHAOS --- ---
    REDGUY: proboha, mrkni se znovu na toho týpka, na kterého odkazoval [ ANT_39 @ ANSI C/C99 (specifikace), GNU C (gcc, glibc), Tiny C (tcc) a POSIX - ne nutně C++,g++,libstdc++ nebo Win32 API ] - vymyslel asi 10 umělých jazyků, každý s jinou ortografií, jeden z těch jazyků má 57 pádů podstatných jmen. a ještě o tom (prý) učí na vysoký a tvrdí o sobě, že je Francouz.
    http://dedalvs.conlang.org/zhyler/main.html

    to je můj člověk. ty by si ale pravděpodobě řekl, že nemá ani trochu rozmyšlený, proč něco takovéhodělá :-)

    víceméně - vymýšlet umělé lidské jazyky vyžaduje hodně zvláštní osobnost, protože pravděpodobnost, že si s tebou v tom jazyce skutečně někdo popovídá, se limitně blíží nule (s čestnou vyjímkou Klingonštiny - leda bys to někomu zadal jako semestrální práci, jako asi tenhle týpek

    na druhou stranu, vymýšlet umělé počítačové jazyky je především normální, protože každý tento jazyk je, ehm... umělý. navíc si skvěle popovídáš s počítačem, což pořád ještě může být zábavnější, než co já vím - povídat si s lidmi na Facebooku ? prostě ty mě nutíš hledat důvody proč se pokouším o co se pokouším, ale to je podle mě zbytečné. Proč lést na Mt.Everest ? No prsotě proto, že tam ta hora je, sakra ! (Na co potřebuješ nějaký další důvod ve světě a v životě, který je jako celek absurdní a nesmyslný ?)

    Spíš tebe se ptám, zda jsou nějaké důvody, proč bych nový dialekt Céčka NEMĚL vymýšlet: jsou to důvody mravní a etické snad ? nějak tě urážím, asi jako Hájka uráží naolejované hýždě homosexuálů, nebo tak něco ? :-)
    REDGUY
    REDGUY --- ---
    XCHAOS: já ale nevím, jestli to bude výhodnější. jak to mám vědět, dokud to nemám (aspoň trochu) hotové - no, cekal bych ze nez neco takoveho zacnes delat, budes to mit aspon trochu rozmyslene a mit nejakou predstavu, proc by to co delas melo byt lepsi nez to co existuje. Zatim to vypada ze delas neco, nevis co, nevis jak a nevis proc (krome toho ze se nechces ucit C++) a doufas, ze to "nejak" bude lepsi nez existujici veci - ale netusis ani v cem to bude lepsi. To je opravdu velmi tezke pochopit.
    DAVIDOWITCH
    DAVIDOWITCH --- ---
    XCHAOS: Errr.. to byl priklad debaty, ktera vedla k tomu ze to nekdo muze vnimat jinak nez jak sem to nize popsal. Konkretni predmet debaty je offtopic a je mi uplne sumak (svoje uz sem k tomu rekl kdyz byla on topic)
    XCHAOS
    XCHAOS --- ---
    DAVIDOWITCH: šmarjá, to taky byl úplně offtopic flejm, tohleto...

    z jakékoliv C konstrukce nemůžeš vyskočit, pokud ručně ne-deinicializuješ všechno, co si tam inicializoval (myěleno všechno, kromě místa na stacku): musíš ručně pozavírat soubory, ručně dealokovat paměť, apod.

    pokud přijdu s několika dalšími konstrukcemi, ze kterých není bezpečné kdykoliv udělat return, nebude to z hlediska programování v C prsotě nic nového.
    XCHAOS
    XCHAOS --- ---
    REDGUY: já ale nevím, jestli to bude výhodnější. jak to mám vědět, dokud to nemám (aspoň trochu) hotové ?

    prostě něco zkouším, a až to bude hotové, tak má cenu hledat pro-příklady a proti-příklady a srovnávat. až bude aspoň nějaký pre-release. je to tak těžké pochopit ?

    mimochodem - k jakékoliv nové datové struktuře, kterou bych nedej bože vymyslel, by měla jít vymyslet deklarace v C++ ... stejně tak k jakémukoliv preprocesorovému makru, by mělo jít napsat čistší a efektivnější C++ template... takže kde je problém ? pokud někdo předvede, že stejnou cestou se dá jít i v C++ akorát tam všechno pak bude hezčí a bezpečnější a tak, tak mu držím palce.
    DAVIDOWITCH
    DAVIDOWITCH --- ---
    XCHAOS: Noo.. tak treba nejaky kontexty a nemoznost returnu ze smycky a forget/remember s tim co sem popsal nemaj (v mem svete) zadnou spojitost. Tak omluv zmateni.
    XCHAOS
    XCHAOS --- ---
    DAVIDOWITCH: v podstatě mě nikdy nenapadlo, že to co dělám, by někdo mohl vnímat nějak jinak
    DAVIDOWITCH
    DAVIDOWITCH --- ---
    XCHAOS: Ano, a vetsinou za tim jinym pristupem a jinou syntaxi stoji nejaky duvody.

    Takze chces Cckovy wrappery tehle typu, nejaky kolekce nad nima a iterator/for_each nad tim?
    REDGUY
    REDGUY --- ---
    XCHAOS: Ja ti uz fakt nevim. Polozim jednoduchou otazku, ktera je ovsem klicova jako motivace proc to vlastne delas. Primo napisu ze "bude to rychlejsi" neni spravna odpoved. A co odpovis? V podstate "Bude to rychlejsi (az na specialni pripady)". Ach jo. Tak znovu: proc bude _vyhodnejsi_ psat v tvem bastlu? Opravdu musim podrobne vysvetlovat ze rychlost behu vysledneho systemu neni zdaleka jedinou a dokonce ani nejdulezitejsi metrikou pro posuzovani nejakeho frameworku?
    XCHAOS
    XCHAOS --- ---
    DAVIDOWITCH: no tak pro začátek: existují sice rozumné systémové knihovny pro psaní webových aplikací - ale každá má úplně jiný přístup, jinou syntax...

    i kdybych v tom svém frameworku nakonec neudělal nic jiného, než to for_each() makro pro různé primitivní iterovatelné datové typy (SQL dotaz, soubor, CURL request, string, pole, apod.), tak je to obrovský krok dopředu. (a troufám si říct... zejména pro začátečníky...)
    XCHAOS
    XCHAOS --- ---
    REDGUY: tak rychlejší než čisté C budu určitě jen v hodně speciálních případech a k C++ se nemůžu vyjadřovat.

    Perl je docela optimalizovaný, jde o to, jak v něm kdo píše. Ale konkrétně PHP je to, co bych rád trumfnul, ano.
    DAVIDOWITCH
    DAVIDOWITCH --- ---
    XCHAOS: ja si myslim ze tim vic pokud jde o framework. Potrebujes si udelat jasno v tom jaky nedostatky jazyka resi, jestli se zcela zbytecne neperes s necim co dela uplne identickou vec (pokud ji to dela hur tak klidne vylepsuj, ale pokud uz neco dela tvuj vysneny idealni stav, sel bych vylepsovat neco jinyho).

    Ok, to zni rozumne. Zkusils prvni krok, vzit nejakou cilovou aplikaci a nakodovat v Ccku jako takovym?
    Jednak ti to da vyrazne predstavu jaky vlastne ficury budes potrebovat nez kdyz o tom budes meditovat od stolu. Muzes v klidu naprototypovat marusku linearnim seznamem, a kdyz uvidis ze na tom realne ztracis spoustu casu, tak vylepsit to co se schovava za interfacem.

    Druhak se muze stat ze zjistis ze to PHP tou pameti neplejtva az tak moc jak sis puvodne myslel, protoze proste to co je v nem napsany je pamet-zerouci svinstvo, nebo to musi delat mrak veci na ktery si puvodne nepomyslel.

    Mne prijde vzdycky dulezity, pro moje vlastni projekty (jiny vlastne nedelam) abych mel relativne jasny kde sem, kam se chci dostat a tudiz co je tak cca dalsi rozumnej krok. Nactrnout cestu nahrubo a pak vylepsovat kousky co se mi nelibej. Jinak se placam na miste a nikam se nedostanu. A to "kam se chci dostat" muze bejt uplne zhuleny, ale chci vedet ze se "snazim vyrobit nejakou variantu tohohle single-threaded algoritmu na GPUcko."
    REDGUY
    REDGUY --- ---
    XCHAOS: ale RFC v původním významu těch slov ja vim jak to myslis. Ptal jsem se, jestli tim RFC v puvodnim vyznamu tech slov myslis [ XCHAOS @ ANSI C/C99 (specifikace), GNU C (gcc, glibc), Tiny C (tcc) a POSIX - ne nutně C++,g++,libstdc++ nebo Win32 API ] , nebo jestli jsi psal jeste nejake jine RFC (v puvodnim vyznamu tech slov) nekam jinam, protoze v tom pripade by me fakt zajimalo co ti na to rekli jini 8)



    první aplikace toho frameworku bude fastcgi webová aplikace, schopná velmi rychle reagovat např. na Ajaxové HTTP requesty - a jako obvykle: proc by tvuj framework mel na to byt vhodnejsi nez ciste C nebo nejaka podmnozina C++? Proc bude vyhodnejsi psat v nem nez v Perlu/PHP? (hint: spravna odpoved _neni_ jen "protoze to bude rychlejsi", uz proto ze to zdaleka neni nutne automaticky pravda)
    XCHAOS
    XCHAOS --- ---
    REDGUY: myslím RFC ne jako hotové RFC dokumenty/specifikace, ale RFC v původním významu těch slov: mám nějaký nápad, a zeptám se co si myslí jiní. asi jsem se dozvěděl už fakt dost :-)

    DAVIDOWITCH: i pokud jde o framework ? typicky, framework je něco, co by mělo umožnit udělat více různých věcí...

    ale ano, v hrubých rysech jsem naznačil, že první aplikace toho frameworku bude fastcgi webová aplikace, schopná velmi rychle reagovat např. na Ajaxové HTTP requesty, a požadavek je, abych stihl obsluhovat na průměrném serveru více klientů současně, než třeba kdyby to bylo řešené tradičně v PHP.

    Spustit např. 100 paralelních kopí Apache není problém - pokud tyto Apache v sobě nemají mod_php, který naroste při každém načtení PHP frameworku třeba na 30+ MB. (30x100 už může na průměrném serveru být trochu problém). Tedy, jsou zhruba dvě cesty, jak umožnit paralení přístup více lidem: jednak snižování množství alokované paměti - ale především zkrácení času, který trvá vyřízení jednoho requestu. víceméně: mám po letech v oboru alespoň mlhavou představu o režii webových aplikací napsaných v PHP, Perlu a Pythonu. a chci zkusit něco jiného.

    stačí - nebo je to pořád málo ?
    DAVIDOWITCH
    DAVIDOWITCH --- ---
    XCHAOS: No, typicky nejdriv chces vedet co planujes udelat, alespon v hrubych rysech a az pak zacit bastlit kod...
    REDGUY
    REDGUY --- ---
    XCHAOS: jak mám někoho přesvědčovat, aby používal něco, co ještě není hotové ani v betaverzi ? Ach jo. Takze dalsi, jeste o neco explicitnejsi preformulovani: az bude tvuj bastl hotovy a bude umet to co si ted predstavujes ze ma umet, jak bys nalakal jine programatory aby ho zacali pouzivat? Cim cekas ze je nadchnes pro svuj bastl?

    Tim RFC myslis to co jsi psal tady?
    XCHAOS
    XCHAOS --- ---
    REDGUY: jak mám někoho přesvědčovat, aby používal něco, co ještě není hotové ani v betaverzi ? víceméně - vyslal jsem do světa jsem jakési "request for comments"... tyto komentáře dorazily, a nyní se tato etapa chýlí už víceméně ke konci.

    a kromě toho - není to samostatný jazyk, ale jen dialekt jazyka. (C++ naproti tomu není dialekt, ale samostatný, odlišný jazyk).
    XCHAOS
    XCHAOS --- ---
    ANT_39: ano, připouštím, že lepší komunikace mezi programátory může být mým cílem.

    cíle komunikace v komunitě open-source jsou podle mě aspoň částečně jiné, než cíle komunikace v komunitě zaměstnanců nějaké firmy: tam je cílem podle mě vytvoření nějaké funkční hierarchie, nastolení autority, efektivní organizace a dělba práce... nechci tady nějak dávat najevo, co z toho myslím pozitivně, nebo negativně... ale smyslem programování v zaměstnaneckém poměru je především udržet si to místo a brát mzdu, že.

    existují samozřejmě i programátoři placení za vývoj open source aplikací... ale svým způsobem, cílem mých hypotetických open source projektů by teoreticky mělo být, abych nadchnul ostatní, aby se na mém projektu podíleli zadarmo, a já bych se pak živil jen prodejem triček :-) to je ovšem právě záležitost komunikace mezi lidmi.
    Kliknutím sem můžete změnit nastavení reklam