• ú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í
    ALMAD
    ALMAD --- ---
    XCHAOS: Ja bych rek, ze by ses mozna divil.

    Jako uvedom si, ze se bavime o viru, co kdyz potreboval exploitnout certifikaty, tak vymyslel novy, unikatni kryptograficky utok na porad-jednu-z-nejrozsirenejsich hashovacich funkci.

    Myslim ze v takovym pripade uz to ze ses pripojenej na internetu znamena, ze ses v prdeli ,)
    XCHAOS
    XCHAOS --- ---
    ANT_39: ano, otázka je, kolik existuje takovýchto "chytrých virů" pro linuxové webservery, které jsou napsané tak dobře, že o nich vůbec admini nevědí :-) zase unixoví admini jsou zvláštní kasta uživatelů počítačů, která si o sobě myslí opravdu hodně, takže by bylo fakt zábavné sledovat jejich reakci :-)
    XCHAOS
    XCHAOS --- ---
    REDGUY: no.... řekl bych, že "finta" na objektový polymorfismus v čistém C lze pokládat za přímé využití základních vlastností jazyka způsobem, který není ve většině učebnic popsán - a že ty si myslíš, že autoři s tímto nepočítali, protože si v nějaké své učebnici či projektu který studoval místo toho viděl obyčejné (max. tagované) struktury předáváné funkcím - to neznamená, že autoři C byli tak krátkozrací, jak si myslíš.

    naproti tomu u té dědičnosti tam vysloveně není podpora pro to, aby něco jako user->address->street stačilo zapsat jako user->street (což by bylo možné v objektovém jazyce, kde by třída "user" vznikla např. rozšířením třídy "address" ... takže prostě pro tu dědičnost není v C vůbec žádné zázemí a odkazování na již existující datové struktury v C není dědičnost.

    mainstreamové objektové jazyky jsou podle mě obecně vhodné pro top-down přístup k návrhu programů (tedy nadefinuješ si jako analytik třídy a jejich požadované metody... a pak nějakému námezdnému coderovi zadáš jejich implementaci) ... zatímco přístup v C mě přijde dobré pro bottom-up přístup (kdy naopak poskládáš nové věci z toho, co už máš - tedy ti jsi ten, kdo ví, co všechno už má, a zkouší, co všechno by z toho šlo poskládat, aniž by existovala analýza problému)
    REDGUY
    REDGUY --- ---
    XCHAOS: že čisté C samozřejmě také umí objekty (a to včetně plného polymorfismu [...] ale tím, že nijak nepodporuje dědičnost. - coz je zjevny nesmysl. C "umi" objekty uplne stejne jako "umi" dedicnost - tj. v jazyce na to neni zadna prima podpora neni a musis si to dobastlit sam. A dobastlit si muzes jak dedicnost, tak polymorfismus (viz treba GLib, ze).
    ANT_39
    ANT_39 --- ---
    XCHAOS: Pripada mi, ze zrovna pro tenhle druh viru ti Linux k nicemu neni. Kdyby na zajimavych Iranskych sajtach meli masivni instalace RHELu, tak by proste dotycny tym nasel RHELove exploity a napsal virus pro RHEL.
    XCHAOS
    XCHAOS --- ---
    DAVIDOWITCH: jsem nějak tušil, že něco takového existuje ale neřešil to... ale že je v tom napsaný nějaký špionážní ultravirus, to mě přijde jako dobrá reklama :-) jako mě viry nikdy moc nezajímaly.. vyřešil jsem je přechodem na Linux. (větší frajeřina mě přišlo psát soft, který "zaviruje" lidi, aby ho kopírovali než soft, který se kopíruje sám :-)
    DAVIDOWITCH
    DAVIDOWITCH --- ---
    eh, tos objevil Lua az ted, nebo jak to mame chapat?
    XCHAOS
    XCHAOS --- ---
    Offtopic/zábavné: Malware Flame byl prý částečně napsaný v jazyce Lua:
    Spy malware infecting Iranian networks is engineering marvel to behold | Ars Technica
    http://arstechnica.com/security/2012/05/spy-malware-infecting-iranian-networks-is-engineering-marvel-to-behold/
    Lua 5.2 readme
    http://www.lua.org/manual/5.2/readme.html
    Lua is a powerful, fast, lightweight, embeddable scripting language developed by a team at PUC-Rio, the Pontifical Catholic University of Rio de Janeiro in Brazil.

    ... chápete už, že moje C<<1 s jeho liberální garbage collection by zdaleka nebylo největší šíleností na daném poli? :-)
    XCHAOS
    XCHAOS --- ---
    PIGSTER: pozor - jedna z tezí tohoto klubu je, že čisté C samozřejmě také umí objekty (a to včetně plného polymorfismu - nejen holé datové struktury bez informace o tom, co s nimi jde dělat). od C++ se neliší tím, že by neumožňovalo objektově programovat - ale tím, že nijak nepodporuje dědičnost.

    ...a protože objektový zápis v čistém C je těžkopádný, tak jsem samozřejmě jeden čas uvažoval o tom, udělat nějaký pre-compiler, který by (pro člověka obtížně čitelný) objektový C zdroják generoval z něčeho, co by připomínalo běžný vyšší programovací jazyk... no ale diskuze o tomto tady už jednou proběhla ... a vlastně chybí motivace dělat to zrovna takto :-)
    DAVIDOWITCH
    DAVIDOWITCH --- ---
    PIGSTER: Nevim.
    Jediny co mne k tomu napada je, ze tenhle compiler: http://ispc.github.com/
    ma jeste nepublikovanou konkurenci (taky od intelu, taky z graficky skupiny), ktera prelozi do C++ s intrinsicama, aby do toho pak clovek mohl vlizt a pripadne rucne upravit, a zaroven necha optimalizace na ICC.
    PIGSTER
    PIGSTER --- ---
    DAVIDOWITCH: jo - uhm - dejme tomu - kompilovat do C jako do strojoveho kodu me nejak nenapdalo - necitelny to bude asi dost no, napada me jedinej duvod, proc to delat - pouzit to jako platformne nezavislej mezistupen .... vazne by to mohlo bejt k necemu realne uzitecny?
    DAVIDOWITCH
    DAVIDOWITCH --- ---
    Umeni triceti vterin :-)
    REDGUY
    REDGUY --- ---
    sakra, tricet vterin 8(
    REDGUY
    REDGUY --- ---
    PIGSTER: Ehm... jako treba objektove C++ do neobjektoveho strojaku? Objektovost nebo neobjektovost ciloveho jazyka nema se slozitosti kompilace zas tak moc spolecneho.
    DAVIDOWITCH
    DAVIDOWITCH --- ---
    PIGSTER: No pockej, tak nakonec to skonci v ciste neobjektovym strojovym kodu, takze ten skok muze udelat o neco driv.. akorat to nebude uplne citelny.. a dost mozna by si tam musel vykompilovat i kus JIT masinerie
    PIGSTER
    PIGSTER --- ---
    XCHAOS: objektovej jazyk se do bezobjektovyho kompiluje dost blbe - takze leda do nejaky objektovy nadstavby (jiny nez c++, ten to uz umi)
    XCHAOS
    XCHAOS --- ---
    až to půjde zkompilovat i do C, vzbuďte mě :-)
    Haxe - programovací jazyk kompilovatelný do JavaScriptu, C#, PHP a dalších - Zdroják
    http://www.zdrojak.cz/zpravicky/haxe-programovaci-jazyk-kompilovatelny-do-javascriptu-c-php-a-dalsich/
    XCHAOS
    XCHAOS --- ---
    JIKROCENTRISTA: mě to ale nebaví... pořád se se všema hádat. víc mě baví třeba srovnávat různé programátorské postupy (samozřejmě je slušná pravděpodobnost, že s přístupem "dělá se to takhle, dělají to tak všichni, dělalo se to tak vždycky a basta" budu mít tendenci polemizovat vždy :-)
    JIKROCENTRISTA
    JIKROCENTRISTA --- ---
    XCHAOS: Ja bych preferoval doposavadni smerovani klubu, tj. "XCHAOS vs. the World", to by neslo? :)
    XCHAOS
    XCHAOS --- ---

    Jaké si přejete další směrování klubu pro nejbližší cca měsíc?

    7 hlasy od 7 respondentů

      XCHAOS
      XCHAOS --- ---
      FRONEMA: jako já tě nechci odsouvat úplně off-klub, ale rád bych tě tady udržel aspoň mírně v mezích on-topic...
      Kliknutím sem můžete změnit nastavení reklam