• ú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í
    FLEGMA
    FLEGMA --- ---
    _BENNY: Tak MS dokonce zezacatku javu podporoval a implementoval shitove JVM, ktere musel opustit kvuli soudnimu sporu se Sunem, ze... Nasledujici historii a pokus o neuspesny klon vsichni zname :-)
    FLEGMA
    FLEGMA --- ---
    _BENNY: No, muj skromnej nazor je, ze Linux je lepsi op. system z tisice a jednoho duvodu a widle si cesticku vyslapaly marketingem a tim, ze se zahackovaly (proprietarni ovladace, gamesky, softy pro grafiku, hudbu, business). Coz je doporucenihodna strategie, kterou jsem v praxi videl u velkejch firem - zacnes delat soft pro banku a pokud jsou s tebou spokojeni, za par let je z tebe velkododavatel reseni i outsorcingu. Ten podvod s DOSem stojici na pocatku uspechu Mrkvosoftu je znamej, dokonce zfilmovanej (Pirates from Silicon Valley), neni to ani ojedinelej jev - to samy udelal Zeleznej s Novou, kdyz slibil investorum program v dobe, kdy nemel nasmlouvany a nakoupeny zadny porady :-) Za Linux mluvi nasazeni na serverech - mission critical aplikace i supercomputing systemy - nic z toho nebezi na widlich, hadat se o tom nebudu, replikovat spousty starejch flejmu fakt ne.
    _BENNY
    _BENNY --- ---
    FLEGMA: na cem je postaveny uspech widli (ja to vidim ve vyvojovem ekosystemu), jestli slo o svindl (co vim, je to naprosto bezna praxe, ze nekomu slibim produkt [a NIC je z marketingoveho hlediska nic moc matros], jinemu slibim vyplatu a pak to drbu jak se to da, abych to rychle prodal a vsechny sliby dodrzel), pocatky C# (chteli Javu, Sun frflal, tak si MS udelal neco vlastniho a rozhodne neslo o nejaky slabsi odvar), a vubec tu souvislost ze spatny marketing ze strany XCHAOSe je to stejne jako dobry marketing ze strany MS :)
    FLEGMA
    FLEGMA --- ---
    _BENNY: A kterej vyrok bys rad rozporoval ?
    _BENNY
    _BENNY --- ---
    FLEGMA: brzo se te tady nekdo chopi, ja na to dneska nemam :D
    FLEGMA
    FLEGMA --- ---
    _BENNY: ok, ja to nestudoval, bylo to tak velkolepe prezentovano ;-) Ale o tom to je, widle jsou taky postaveny na marketingu a vsechno zaclo svindlem, kdy Gates s Ballnerem uzavreli s IBM smlouvu na op system, kterej v ty dobe nemeli napsanej :-D Vem si jak zacal C#, slaba kopie javy, uz se to sice zlepsilo, ale taky to zaclo podfukem.
    _BENNY
    _BENNY --- ---
    FLEGMA: vlastni programovaci jazyk = stare a cizi C s makrama navic
    FLEGMA
    FLEGMA --- ---
    XCHAOS: Nevidel bych to tak zle, jsi bezpochyby vizionar, pomerne chaotickej, ale s prokazatelnejma vysledkama (web prohlizec pro DOS, vlastni programovaci jazyk (respekt !!!) , indenpendent net provider) a s velmi metaforickym myslenim a spoustou napadu. Staci bejt trochu vic diplomat, o nekterejch napadech (xchaos solar letadlo) radsi nemluvit a bude to cajk. Akorat bych se tu nechlubil s tim, ze vlastne neumis debugovat (naprosto zakladni skill programatora), to ti muze jen poskodit renome.
    CHEVALIER
    CHEVALIER --- ---
    _BENNY: Já v Anjutě a Glade.
    XCHAOS
    XCHAOS --- ---
    _BENNY: mám talent si v libovolném okruhu diskutérů okamžitě obrátit veřejné mínění proti sobě. občas je to zábavné, ale v téhle kauze to především bylo zbytečné

    FLEGMA: něco takového tuším, že tam je, to jo... ale faktem je, že si dlouho nevzpomínám na projekt, který by třeba tuhnul tak záhadným způsobem, že bych se uchýlil k pouštění gdb na coredump... prostě pro mě je fakt vhodná taková ta cesta #ifdef DEBUG a vkládání ladících hlášek do kodu - a to hlavně proto, že právě i sítovou aplikaci můžu pustit z konzole a číst si ty debug hlášky na konzoli, zatímco GUI je třeba browser (či něco jako Gtk, ale já teda zatím nic pro Gtk nedělal...)

    Jinak možná by mohlo někoho zajímat, jak se vyvíjí moje snaha o try { } makro do céčka... zatím jsem dospěl k tomu, že výslovně neodchycené chyby se budou řetězit a na konci programu se všechny vypíší. a že chyby budou bud POSIXové (tam chybovou hlášku poskytne libc) a nebo uživatelské (definované právě textem popisujícím chybu - takže v podstatě velmi podobné jako $@ chybová hláška v Perlu, pokud Perl trochu chápu...). v podstatě půjde o to, že runtime bude moci evidovat více než jednu neodchycenou chybu - ale současně to nebude nějak hierarchicky strukturované jako v C++
    _BENNY
    _BENNY --- ---
    DAVIDOWITCH: ten naprosto zboznuju, bez nej uz dneska taky nevstanu z postele :D
    DAVIDOWITCH
    DAVIDOWITCH --- ---
    _BENNY: Pouzivas Visual Assisst X? Nebo obecne nejaky dalsi pluginy na usnadneni zivota?
    _BENNY
    _BENNY --- ---
    CHEVALIER: Microsoft Visual Studio, na linuxu je pry docela pouzitelny kdevelop
    CHEVALIER
    CHEVALIER --- ---
    _BENNY: V čem že to děláš?
    _BENNY
    _BENNY --- ---
    POTRAT: to snad ma smysl jen v pripade ze se ty cinnosti nejak opakuji. ale kdyz potrebujes kazdou chvili koukat na neco jineho, tak zase skoncis u psani (nehlede na to ze i ty makra se ani napoprve nenapisou samy), misto abys proste prisel, kouknul a hned videl. zdrzuje to.

    XCHAOS: mozna se jen blbe vyjadrujes ;)
    POTRAT
    POTRAT --- ---
    _BENNY: tak pokud se nechces upsat, tak si muzes nadefinovat makra prece, v tom je velky plus gdb
    XCHAOS
    XCHAOS --- ---
    _BENNY: v podstatě toto bylo celé jádro mojí kritiky gdb ... ale ty za to samé dostaneš palečky nahorů, zatímco já palečky dolů :-)
    FLEGMA
    FLEGMA --- ---
    _BENNY: jj, toto mam radsi taky orbis pictus. Ale vlakynka jsou nekdy hnus, obzvlast kdyz zakaznik nahlasi race condition, ktera se objevi jednou za tisic let a ne a ne ji nasimulovat, nejlip jeste zatuchlej kod po predchudci a bez logu a k tomu bug s critical prioritou, aby mel pan Murphy radost.
    _BENNY
    _BENNY --- ---
    FLEGMA: jasne ze gdb umi temer vse co je k debugovani potreba. ale problem je kdyz potrebujes dynamicky vytvaret a disablovat breakpointy a stepovat a koukat kde zrovna jses ve zdrojaku a prip. v assembleru a na aktualni stav registru a threadu a ke kazdymu callstack atd... to se proste upises nez neco uvidis. ale jak rikam, nekomu to nevadi, koneckoncu to muze byt jen projev me vlastni neschopnosti :)
    FLEGMA
    FLEGMA --- ---
    _BENNY: Na tohle jsou dobry conditional breakpointy a jestli me pamet nesali, tak to GDB umi.
    ISTEVE
    ISTEVE --- ---
    jako anecdotal evidence muzu uvest ze mi to nikdy problemy nedelalo, a jako statistiku to, ze gdb je stale pomerne popularni nastroj... ale treba jsem jen jeden z bandy nerdu:]

    ...tak ci onak je to ale v podstate jedno, at uz clovek voli klikaci UI nebo textovy, oboji jsou to porad dost silny nastroje ktery maj ultimatne pomoct developerovi. A je picovina se jim vyhejbat, pac trivialni printf debugging to v zadnym pripade ani omylem nenahradi.
    _BENNY
    _BENNY --- ---
    s terminalem nemam problem pokud mi jde o to vypsat kontext, z nej neco vycist a pokracovat dal. ale stepovat uvnitr vicero multithreadovych procesu na terminalu a sledovat vsechno deni rucnim psanim kazde blbiny, to je fakt honirna, kterou delat odmitam. nicmene si dovedu predstavit nerda, kteremu je presne tento zpusob prace prirozeny :D ja si docela potrpim na uhledne visualno.
    Kliknutím sem můžete změnit nastavení reklam