• ú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í
    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 --- ---
    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.
    _BENNY
    _BENNY --- ---
    XCHAOS: ale ty tvoje napady v normalnim C proste realizovat nejdou. smir se s tim. bude to porad dokola, prijdes s nejakym napadem a mistni publikum ti v nem okamzite najde mozne diry koncepcniho razu, ty se budes stavet na zadni, abys po 100+ nakonec uznal, ze to takhle nepujde a opet jsi redefinoval svoje cile, aby ses na to C++ nahodou nemusel koukat. a znova a znova. paraglidem ocean nepreletis. a ne a ne.
    XCHAOS
    XCHAOS --- ---
    _BENNY: dobře, ale já nikomu C++ neberu. to je sakra C++ něco jako Islám, že když k němu jednou někdo konvertuje, tak už by odpadlictví pak bylo smrtelný hřích ?

    kurňa, můj nástroj je něco jako paraglide, moped, elektrokolo, něco takového. nikomu neberu, že chce tryskáč nebo auto - proč ale tolik lidí tráví čas vysvětlováním, že je můj paraglide nebo moped ROZHODNĚ nezajímají ?
    XCHAOS
    XCHAOS --- ---
    REDGUY: nemyslím si, že v Ruby jde neumět...tam prakticky cokoliv se napíše v jakémkoliv pořadí, tak je to nějak validní. otázka je, jestli je začátečníky dobré to učit... nevím :-)

    nevím skutečně, jestli je vhodné něco označovat za nástroj pro začátečníky - možná se skutečně zaměřím spíš na to zdůrazňování toho amatérismu. profesionálně se tvářících nástrojů a toolkitů je totiž už na trhu (i na "free trhu") strašné množství, takže obrátit se cíleně na DIY subkulturu a amatéry by mohlo mít možná význam.

    k ostatnímu se tu asi nemá cenu vyjadřovat. ale opravdu neznám jiný klub na NYXu, který by 50 lidí sledovalo a 10 reagovalo na sebemenší pitomost jenom proto, že je dané téma hluboce NEZAJÍMÁ. skutečně... lidi mají hodně zvláštní zájmy...
    _BENNY
    _BENNY --- ---
    XCHAOS: nevyresi. problem urcite neni v tom, ze C++ podporuje pretezovani operatoru (ktere ti k tvemu bastleni chybi, ale pouzivat proto par jeho ficur stejne nezacnes).
    XCHAOS
    XCHAOS --- ---
    DAVIDOWITCH: no dobře, no :)

    _BENNY: nevím... pozoruju, zkoumám, učím se. (aspoň se necpu do těch splepých uliček, ve kterých už je tlačenice, že jo... :-)
    _BENNY
    _BENNY --- ---
    XCHAOS: no ale k takovemu psani potrebujes naprosto presne znat vnitrnosti systemu, abys vedel co a jak kde optimalizovat. nebo si myslis, ze prechod od libovolneho jazyka k jazyku C s tvou nadstavbou vsechny problemy s rozezranosti aplikaci vyresi?
    REDGUY
    REDGUY --- ---
    XCHAOS: že jako pro začátečníky je "lepší než Ruby" prakticky cokoliv - vzhledem k tomu ze predpokladam ze Ruby neumis, budu tohle ignorovat jako pouhe trolovani, vid? 8)

    jenže kdo říká, že to všichni začátečníci musí myslet s programováním vážně ? A? To ze neco nemyslim vazne znamena, ze je ok to delat blbe? "Ja to s tou truhlarinou nemyslim vazne, jen si tak bastlim, takze je zcela ok ze srouby zatloukam kladivem".

    Na amaterstvi neni nic spatneho, naopak, je super. Kdyz ho ale nekdo pouziva jako omluvu a vymluvu k podprumernosti a nekvalite a jeste se tim chlubi... bah.

    co je tak špatného na mém bastlení No, pokud to svoje bastleni vydavas za nastroj pro zacatecniky, tak na tom je samozrejme spatne to, ze v lepsim pripade budou plytvat casem, v horsim se nauci pitomosti.


    XCHAOS: ale ty víš o někom, kdo by se skutečně UČIL programovat podle manuálových stránek ? - wut? No a? Cekas ze si prectes ucebnici a umis vsechno? Hahaha.
    XCHAOS
    XCHAOS --- ---
    _BENNY: hele, to je složitý... v současný fázi to dělám asi hlavně pro sebe.

    to máš tak: kdysi jsem měl jakýsi vlastní framework, který jsem používal asi 5 let, a opravdu do něj byl (ke konci životního cyklu) schopen přidávat docela vychytané věci, které recyklovaly maximum toho, co už jsem měl hotové.

    srovnej si třeba jen desktopová prostředí pro linux. takové GNOME nebo KDE vs. LXDE (je pravda, že lxrandr neumí zatím nastavit plochu přes víc monitorů :) ale jinak je LXDE geniální). LXDE zabírá rezidentně v RAM asi 8 MB, window manager Openbox k tomu navíc asi 4 MB.

    námatkou teď jsem v Gnome (kvůli externímu monitoru na netbooku): nautilus 19M gnome-panel 12 M clock-applet 10m (sic! LXDE prostě má u hodin konfigurovatelný parametr, kterým je formátovací string pro strftime... a nepotřebuje na to žádný aplet). evolution-alarm zabírá 7 MB a to jsem si vůbec instalaci balíku evolution nevyžádal, a nikdy ho nepustil. update-notifier 10 MB gweather-applet 15 MB (když to vidím, tak tu předpověď počasí v Praze na Ruzyni asi oželím :)

    Ale čert vem linuxový desktop... ten peníze nevydělává, a geekové si ho občas neuroticky zoptimalizují, a pak zase z nudy pustí kde co. O to nejde. Já mám ale určité tušení - např. z pozorování toho, kolik paměti zabírají jednotlivé procesy Apache, pokud se v nich aktivuje mod_php a v něm nějaký běžně dodávaný opensource CMS (či jiný bast) - že by šlo webové aplikace psát třeba o řád efektivněji, než dnes.
    DAVIDOWITCH
    DAVIDOWITCH --- ---
    XCHAOS: Ja nevim, jakakoliv referencni knizka k Ccku co mne napada ma u "malloc" poznamku "see: free, realloc". Tak sem asi poslusne seeoval. Vim o reallocu pres 15 let, takze bohuzel presnejc tezko reknu odkud.
    Kliknutím sem můžete změnit nastavení reklam