• ú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: 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.
    REDGUY
    REDGUY --- ---
    XCHAOS: Budiz. Doufam ze se ale shodneme ze "Jsem tak liny (nebo, chces-li, linny) naucit se C++ nebo jeho cast, ze radsi udelam vlastni programovaci jazyk" je velmi specifickym druhem lenosti. Prima, preju ti ji. Psal jsi ale ze chces svuj jazyk pouzivat ve vetsich projektech. Jak bys presvedcil pripadne prispevatele, ze misto vseobecne rozsireneho a tim i uzitecneho C++ se maji ucit tvuj bastl?
    ANT_39
    ANT_39 --- ---
    Ja si osobne myslim, ze cll1 je proste _conlang_: http://dedalvs.conlang.org/notes/manifesto.php
    Conlangem se nazyvaji umele vytvorene "prirozene" jazyky. Jejich smyslem muze a nemusi byt komunikace mezi lidmi: pruzkum nejake gramaticke charakteristiky je stejne validnim cilem, stejne tak muze byt cilem proste jen tvorba toho jazyka. Je to zkratka umelecka zalezitost. Coz je fajn, ale musi se to rict, aby pak ostatni zmatene nerozhazovali rukama, ze dane reseni nedava smysl z toho, nebo onoho duvodu :)
    XCHAOS
    XCHAOS --- ---
    no ale neučit se C++ není ideologie... to je lennost. ovšem já pokládám lennost za svého druhu ctnost... spousta dobrých objevů, které lidstvo učinilo, vzešlo v podstatě z lennosti...
    REDGUY
    REDGUY --- ---
    XCHAOS: tak si neumím představit, že bych lidi hecoval k něčemu takovému pomocí plakátů ach boze. Nechci po tobe abys namaloval plakat. Snazim se te dotlacit k tomu, abys napsal jake skutecne, prakticke vyhody jazyka ktery se snazis navrhnout. Aniz bych se te ted snazil urazit, to co jsi zatim napsal zadne skutecne vyhody nejsou, to je jen ideologie nekoho, kdo se nechce ucit C++ ani jeho nejakou cast (a ani nedokaze rict proc) - a to proste neni duvod ktery muze vest k necemu rozumnemu. Ma to byt rychlejsi? Spolehlivejsi? Prehlednejsi? Snazsi na nauceni? Levnejsi? Jestli si nedokazes formulovat cile ani na takhle obecne urovni, tak proste nemuzes cekat prijatelny vysledek (pro vsechny definice slova 'prijatelny').


    XCHAOS: file=open(...) OR die(-1) je roztomile na prvni pohled a pro pouziti v bastlech. Ale v okamziku kdy zjistis ze pred tim die potrebujes udelat jeste neco jineho to stejne musis prepsat na normalni if.

    die(-1) IF NOT file=open(...) je zlo, protoze hlavni operaci (otevreni souboru) schovava nekam daleko doprava kde neni na prvni pohled videt a misto toho cpe do popredi osetreni vyjimecne situace. Pro citelnost kodu dost destruktivni.
    XCHAOS
    XCHAOS --- ---
    ještě k tomu vyhodnocování operátorů - vlastně spíš AND, než OR, pravda :-) ale zprava doleva jo.

    file=open(...) OR die(-1)

    die(-1) IF NOT file=open(...)

    to jsou oboje moc hezké zápisy. nevím, jestli jsou vhodné pro začátečník, mě se každopádně líbí. ale v C to napsat nejde (zvlášť to druhé... na to první by stačilo potlačit nějaké warningy)
    XCHAOS
    XCHAOS --- ---
    REDGUY: ne, asi neumím Ruby. ale nepokládám to ani za podstatné.

    mě se některé ty "úsporné" konstrukce líbí: třeba Perl mi kdysi zaujal konstrukcí:

    file=open(...) || die(-1).

    (tohle jde v C napsat taky, ale hodí to warning "value computed but not used", či tak něco...)

    a v Ruby se mi líbí, že IF je v podstatě ekvivalent operátoru OR, akorýt vyhodnocovaný zprava doleva. já neříkám, že se mi některé ty věci nelíbí, a že bych třeba jednou (v důchdou, pro vnoučata, pokud by je bavilo programovat ) nechtěl vymyslet vlastní vyšší programovací jazyk, u které by mi bylo jedno, že je to jenom hračka, a neřešil bych optimalizace a tak.

    dnes ale prostě ještě mám jiné cíle... a skutečně, nevidím žádnou "rudou mlhu".

    faktem je, že plakáty jsem dlouho nenavrhoval. sám jsem se neučil programovat na základě žádného plakátu :-) tak si neumím představit, že bych lidi hecoval k něčemu takovému pomocí plakátů. beru to tak, že dnes si hudbu taky vybírám podle jiného klíče, než jsem si jí vybíral třeba v 16ti... a obracím se tedy na své vrstevníky, kteří potenciálně hledají to co já, jen mají méně času... nevím.
    REDGUY
    REDGUY --- ---
    XCHAOS: Vis, jeden z tvych mnoha omylu je ze staci si precit "Ruby tutorial" a umis Ruby. Ne, neni to tak.

    Ale hele, vazne: zkus si setrit rudou mlhu z oci a napis plakat pro svuj projekt. Co bys napsal na poutac, ktery ma lidi nalakat naucit se tvuj bastl? Neverim ze myslis vazne ze jedine co bys tam dokazal napsat jenom "Jazyk pro lidi, kteri se nechteji ucit ani kousek z C++". Co by tam bylo?
    REDGUY
    REDGUY --- ---
    XCHAOS: bude mít jedinou výhodu, že se nebudeš muset učit C++ - jak uz jsem psal, neni problem naucit se pouze ty veci z C++ ktere se ti libi a ktere potrebujes a ignorovat zbytek (jako treba to pretezovani, co te tak trapi).

    Prosim, vysvetli mi, proc je vyhoda naucit se tvuj nekompatibilni bastl misto podmnoziny C++? Nekompatibilni bastl znamena ze nemuzu pouzivat existujici nastroje, ze znalosti nevyuziju v jinech projektech, ze nemuzu svoje znalosti case rozsirit o cele C++. V cem je vyhoda? (krome OMG WTF NEMAM RAD C++!!!!111ONE)

    btw, proc je tak tezke z tebe dostat nejakou skutecnou, praktickou vyhodu tveho bastlu? Proc misto abys napsal "bude to lepsi protoze xy bude snazsi/rychlelsi/prehlednejsi" porad jen utocis na jine jazyky a oponenty? Mel bych takovou teorii, ale nechci te jeste vic urazit 8)
    _BENNY
    _BENNY --- ---
    XCHAOS: protoze se mi taky libi efektivni a optimalni reseni problemu, nemam rad bloaty a tak nejak tusim jak se optimalizuje kod. a taky nemam rad vsechny ficury C++ a proto je nepouzivam a pouzivam jen ty, ktere se mi pri tvorbe rychlych a malych programu hodi. a vstavaji mi hruzou vlasy na hlave, kdyz si tady obcas od tebe nejaky ten navod na zrychleni SW prectu. delas to proste blbe. a jak mozna znas z jinych klubu, kdyz vidim blbost, nevaham se ozvat ;-)

    pritom by stacilo vzit z C++ to C uvnitr, vypujcit si nejake konkretni sikovnosti, ktere ti umozni tvuj napad zrealizovat a uz bys mel treba tu svou marusku davno hotovou. a maruska by byla v 99% cisty C kod bez C++ extenzi.
    XCHAOS
    XCHAOS --- ---
    REDGUY: dobře, jestli tě to potěší, tak změním definici: vyvíjím toolkit pro lidi, co s programováním už končí !

    spokojen ?
    XCHAOS
    XCHAOS --- ---
    REDGUY: 100.krát { mám_opakovat to, ti } nebo chcípni.
    XCHAOS
    XCHAOS --- ---
    REDGUY: můj nástroj (až bude hotový) bude mít jedinou výhodu, že se nebudeš muset učit C++ ... pokud to pro tebe není výhoda, tak se na to vykašli a ignoruj ho.
    XCHAOS
    XCHAOS --- ---
    _BENNY: no, víceméně, jakákoliv věc když se použije jinak, než je zamýšleno, tak nefunguje.

    _BENNY: já popravdě určitě nemám tak vysoké cíle, aby je v C nešlo realizovat. ale faktem, že určitě nejsem jediný programátor, kterému C++ přijde zbytečně komplexní: většina ostatních to ale obchází argumentací, že nepotřebují trávit život zbytečným optimalizováním a že ten který jednodušší nástroj, který si místo toho zvolili oni, jim bohatě stačí.

    opět nechápu, proč věnuješ tolik úsilí, abys mi vysvětlil, že se MUSÍM buď prodrat mezi C++ elitu - a nebo se smířit s tím, že budu patřit do davu těch, co používají jednodušší nástroje a jsou si jistí tím, že jejich záměrům bohatě dostačují. Já prostě mám rád různé třetí cesty.
    REDGUY
    REDGUY --- ---
    XCHAOS: kurňa, můj nástroj je něco jako paraglide, moped, elektrokolo, něco takového. vsechny ty veci co zminujes maji nejakou vyhodu proti zakladu. Paraglider je levnejsi nez vetron, moped uspornejsi nez motorka, na elektrokole nemusis slapat a tak dale. Jake vyhody ma podle tebe tvuj nastroj oproti C na strane jedne a C++ na strane druhe?
    REDGUY
    REDGUY --- ---
    XCHAOS: tam prakticky cokoliv se napíše v jakémkoliv pořadí, tak je to nějak validní. - vzdyt jsem psal ze vim ze ho neumis, nemusis to potvrzovat 8)


    XCHAOS: jestli je vhodné něco označovat za nástroj pro začátečníky - v tom pripade to nedelej. Psal jsi ze delas nastroj pro lidi co s programovanim zacinaji. Takze to uz neni pravda?

    takže obrátit se cíleně na DIY subkulturu a amatéry by mohlo mít možná význam - a jen tak pro kontrolu, proc myslis ze DIY subkultura a amateri by meli mit o tvuj vytvor zajem? To neni recnicka otazka. Co jim nabidne lepsiho, nez rekneme C++?

    10 reagovalo na sebemenší pitomost jenom proto, že je dané téma hluboce NEZAJÍMÁ. - ale fuj. To ze si o tom co navrhujes myslim ze je to pitomost neznamena ze me to nezajima nebo dokonce nebavi 8)
    _BENNY
    _BENNY --- ---
    prikladem budiz ty tvoje scopes. bez konstruktoru a destruktoru se neobejdes, C je neumi a umet nebude a i kdybys to tam sam doprasil, nebude to fungovat.
    Kliknutím sem můžete změnit nastavení reklam