• ú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: 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)
    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.
    _BENNY
    _BENNY --- ---
    XCHAOS: no ale ty stejne neprogramujes, ty zatim jen vymyslis zaklady programovaciho jazyka, pokud to dobre chapu. tak delas to teda jen pro sebe nebo i pro nekoho jineho? pro koho?
    XCHAOS
    XCHAOS --- ---
    REDGUY: dobře... ale ty víš o někom, kdo by se skutečně UČIL programovat podle manuálových stránek ? v jakém pořadí je pak podle tebe má studovat, nebo jak si to představuješ ?

    samozřejmě, že manuálové stránky jsou výborný zdroj pro toho, kdo aspoň trochu ví, co hledá... ale než víš, co hledáš, tak musíš mít nějaký počáteční záchytný bod... mezi hello world ! a jakýmkoliv použitelnějším programem je obrovský kus cesty.
    XCHAOS
    XCHAOS --- ---
    _BENNY: ...a musí mi o něco jít ? mají snad lidi, jejichž motivace není čistě racionální (nebo možná je, ale není to v daný moment zjevné pro ně, nebo pro někoho dalšího), zakázáno programovat ? :-)

    REDGUY: vycházím jen z toho, že jako pro začátečníky je "lepší než Ruby" prakticky cokoliv :-)

    ne fakt... někomu, kdo to myslí s programováním vážně, a současně je začátečník, bych asi doporučil Python. jenže kdo říká, že to všichni začátečníci musí myslet s programováním vážně ?

    Pokud si uvědomíte, kolik lidí začne a skončí s nějakým bastlením v PHP, tak sakra: co je tak špatného na mém bastlení ? (kromě toho, že jsem už 10 let nic v Céčku nereasnul, když nepočítám jeden obskurní úzce specializovaný bastl bez jakéhokoliv GUI ?)
    REDGUY
    REDGUY --- ---
    XCHAOS: kde je realloc() nějak hezky srozumitelně vysvětlený - wut? Co na nem potrebujes "hezky srozumitelne" vysvetlit?

         The realloc() function tries to change the size of the allocation pointed to by ptr to size,
         and returns ptr.  If there is not enough room to enlarge the memory allocation pointed to by
         ptr, realloc() creates a new allocation, copies as much of the old data pointed to by ptr as
         will fit to the new allocation, frees the old allocation, and returns a pointer to the allo-
         cated memory.  If ptr is NULL, realloc() is identical to a call to malloc() for size bytes.
         If size is zero and ptr is not NULL, a new, minimum sized object is allocated and the original
         object is freed.  When extending a region allocated with calloc(3), realloc(3) does not guar-
         antee that the additional memory is also zero-filled.


    A hotovo.
    REDGUY
    REDGUY --- ---
    XCHAOS: "kdo chce dobře placenou práci, tak šup pryč z tohohle klubu" - uplatenni se na trhu neni zdaleka jen o dobre placene praci. Je to o praci ktera te bavi, kde pracujes s prima lidma a tak dale - treba i na open source projektu. Existuji tisice FOSS projektu v C++. Kolik jich je v Cll1? Nula nebo jeden, pokud pocitam i verzi Cll1 kterou ty sam oznacujes za obsolete. Kde mam vetsi sanci ze najdu zajimavou praci? Slozite pocty 8)
    XCHAOS
    XCHAOS --- ---
    DAVIDOWITCH: u mě to mělo dost historický důvody, to jsme už rozebírali (ne na všech platformách je to efektivní nástroj... ). a kromě toho, všechny učebnice C se už v 90tých letech snažily co nejrychleji přejít od základů C k vysvětlování výhod C++

    fakt by mě zajímal příklad nějaké učebnice C, kde je realloc() nějak hezky srozumitelně vysvětlený... a vlastně by mě zajímalo, odkud se tady kdo to C vlastně učil, když jsme u toho.
    Kliknutím sem můžete změnit nastavení reklam