• ú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 --- ---
    _BENNY: popravdě... na C se mi líbí fakt dost věcí (čehož důkazem je i tenhle klub), samozřejmě je tam i poměrně dost omezení - daných možná i tím, že v době vzniku tohoto jazyka se předpokládalo, že programátoři budou používat omezené zdroje tehdejších mini a mikropočítačů určitým tehdy nevyhnutelným způsobem (např. práce s pamětí, apod.)

    v podstatě jádro kontroverze co tady proběhla, bylo, zda jediný možný vývoj od C směruje k C++ ... myslím nejsem jediný, kdo o tom pochybuje - viz např. jazyk D, ale ostatně třeba i Pythonisti si zjevně nemyslí, že všechny zdrojáky musí vypadat jako C++/Java, že ano..
    _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.
    ISTEVE
    ISTEVE --- ---
    Mas pravdu, chtelo by to svitivej 3d interface a mavani rukama, pac to je efektivnejsi... ;]

    ...nicmene flamebait stranou, debugovani v terminalu je stale lower latency a higher bandwidth nez jakykoliv klikaci UI, coz klikaci UI vynahrazuje daleko min steep learning curve. Vidim to jako tradeoff, jako spousta dalsich veci. Nevidim to jako vec "minulosti" a "co se slusi a patri v roce 2012".
    FLEGMA
    FLEGMA --- ---
    DAVIDOWITCH: tjn, ale debugovat v roce 2012 v terminalu mi prijde stejnej sadomasochismus jako psat kod ve vimu.
    FLEGMA
    FLEGMA --- ---
    DAVIDOWITCH: Pisa je nejvic linux a C guru, kteryho znam, POSIX a kernel zna snad nazpamet, vzdycky mi dokazal odpovedet. Je to renesancni clovek, se podivej na jeho stranky, multioborovej vyvojar. Taky nam daval vtipny ukoly, treba grabnout jeho jmeno ze zdrojaku GCC nebo hacknout zabezpeceni debianovy site. Logicky je to fanousek open source...
    DAVIDOWITCH
    DAVIDOWITCH --- ---
    FLEGMA: Ten eclipse frontend mel teda jeste loni pomerne dost much. Kdykoliv sem tim tahal nejaky slozitejsi veci s templatama, tak spadl/ukazoval kraviny. Takze sem skoncil u gdb v terminalu. (Ani nevim ze to ma vlastni debugger, takze nemuzu soudit).

    A Pisa je vtipnej typek, kdyz sem mel prednasku o tom jak se dela VFX do filmu, tak se mne pak ptal na pouzivanej software, byl prekvapenej ze tam neni nic open source a vesmes mne zacal presvedcovat ze proprietalni software je neudrzitelnej a melo by se prejit na open source. Coz mi u softu kterej ma hrozne slozitej vyvoj a velmi omezeny pouziti prislo vtipny :-)
    Kliknutím sem můžete změnit nastavení reklam