• ú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 --- ---
    REDGUY: makrojazyk není hotový :-)

    faktem je, že když nad tím přemýšlím, tak mi štve jednoduché kontejnerové typy (asociativní pole, slovníky, apod.) nahrazovat složitýma deklaracema, ať už si to hodlám zjednodušit jakkoliv. ale pořád mám šanci tím šokovat, i když to třeba nebude použitelné...
    REDGUY
    REDGUY --- ---
    Hele, XChaosi, at se bavime trochu konkretne: muzes nam ukazat pro srovnani nejaky ekvivalentni kod v normalnim C, v tvem makrojazyce a rekneme v Pythonu? A vysvetlit, proc je ten tvuj jazyk tak super?
    REDGUY
    REDGUY --- ---
    XCHAOS: už vidím, jak to vysvětluju kolegům ve firmě - aha. Takze ty rikas, ze je tezke najit vyvojare v LISPU, takze chces vyvinout vlastni programovaci jazyk, ktery na rozdil od LISPU neumi VUBEC nikdo?

    Ok, v tve alternativny realite to urcite dava smysl 8)


    XCHAOS: ještě datum: April 2001, rev. April 2003 - no a? Co to meni na faktu, ze LISP jim naprosto perfektne fungoval jako nastroj pro vyvoj webu? Coz je tak v trochu v kontrastu s tvym tvrzenim, ze se na web nehodi?

    kdy v podstatě celý svět matlá objektově nějaké to orientované PHPko - HAHAHAHAHAHA. No urcite 8)))
    REDGUY
    REDGUY --- ---
    XCHAOS: To je vtip nebo argument?
    XCHAOS
    XCHAOS --- ---
    REDGUY: ještě datum: April 2001, rev. April 2003
    tak jasně, v dot-com bublině bylo možné všechno: webové browsery pro DOS, i webservery v LISPu :-) otázka je, co zbývá v roce 2016, kdy v podstatě celý svět matlá objektově nějaké to orientované PHPko...
    XCHAOS
    XCHAOS --- ---
    na tomhle je krásně vidět to snížení nákladů na vývojáře nasazením LISPu:
    99 Bottles of Beer | Language LISP
    http://www.99-bottles-of-beer.net/language-lisp-361.html

    už vidím, jak to vysvětluju kolegům ve firmě, kterří protestují i proti plaintextovému konfiguráku s velmi volnou rozšiřitelnou syntaxí a radši by nějakou klikací pomstu...
    XCHAOS
    XCHAOS --- ---
    REDGUY: and because Lisp was so high-level, we wouldn't need a big development team, so our costs would be lower.

    ... snížili ceny, protože americké univerzity stále ještě produkují tolik absolventů, co ovládají LISP, že tržní cena této práce je nižší, než cena východoasijských coderů v PHPku? :-)
    REDGUY
    REDGUY --- ---
    XCHAOS: Mimochodem, co rika o Lispu na webovym serveru Paul Graham?

    So you could say that using Lisp was an experiment. Our hypothesis was that if we wrote our software in Lisp, we'd be able to get features done faster than our competitors, and also to do things in our software that they couldn't do. And because Lisp was so high-level, we wouldn't need a big development team, so our costs would be lower. If this were so, we could offer a better product for less money, and still make a profit. We would end up getting all the users, and our competitors would get none, and eventually go out of business. That was what we hoped would happen, anyway.

    What were the results of this experiment? Somewhat surprisingly, it worked. We eventually had many competitors, on the order of twenty to thirty of them, but none of their software could compete with ours. We had a wysiwyg online store builder that ran on the server and yet felt like a desktop application. Our competitors had cgi scripts. And we were always far ahead of them in features. Sometimes, in desperation, competitors would try to introduce features that we didn't have. But with Lisp our development cycle was so fast that we could sometimes duplicate a new feature within a day or two of a competitor announcing it in a press release. By the time journalists covering the press release got round to calling us, we would have the new feature too.


    Ale co ten o tom muze vedet. Jenom na Lispu postavil webovej produkt, kterej pak prodal za padesat mega dolaru. Kdyz XChaos rika, ze Lisp se na webovy programovani nehodi, tak to musi bejt pravda 8)
    REDGUY
    REDGUY --- ---
    XCHAOS: funkcionální jazyky jsou celkově určené k něčemu úplně jinému, než co potřebuju já - Coz vubec nesouvisi s tim, co jsem rikal. Nerikam "nauc se funkcionalni jazyky a pouzivej je", ale "nauc se je, abys videl novy veci a poucil se z nich". A radsi nebudeme mluvit o tom, ze tvuj vlastni link na stackoverflow ukazuje rady prikladu toho, jak se funkcionalni jazyky na web dost hodej. Cili jsme zase u toho, ze sice funkcionalni jazyky neznas, presto ale nejak magicky vis, ze se nehodi na to, co potrebujes... jako obvykle 8))

    když si prohlédneš typickou webovou aplikaci, tak zjistíš, že tak 1% strojového času spotřebuje (vysoce optimalizovaný) databázový engine, a 99% neefektivní PHPka - HAHAHAHA. No tak jo 8)
    XCHAOS
    XCHAOS --- ---
    (if dotaz je 7 let starý kolik webu za tu dobu bylo přepsáno do funkcionálních jazyků)
    Is functional programming relevant to web development? - Stack Overflow
    http://stackoverflow.com/questions/292033/is-functional-programming-relevant-to-web-development
    XCHAOS
    XCHAOS --- ---
    REDGUY: funkcionální jazyky jsou celkově určené k něčemu úplně jinému, než co potřebuju já. já nemám moc jiné ambinace, než původní Perl.. akorát že dnes většina dat, které je potřeba zpracovat, už dávno není v parsovatelných textových souborech, ale je potřeba se napojovat na nejrůznější zdroje.

    jak jsem psal dříve: když si prohlédneš typickou webovou aplikaci, tak zjistíš, že tak 1% strojového času spotřebuje (vysoce optimalizovaný) databázový engine, a 99% neefektivní PHPka, kde se primitivně naplňují výsledky dotazů neefektivní datové struktury a s nimi se dělají různá kouzla. I po dalších cca 10 letech, co se tímhle zabývám, pořád web existuje, jen prostředí se ještě víc zkomplikovalo a nedá se už čekat, že jednoduchá slátaná dynamická stránka uspokojí všechny typu interfaců k aplikaci.

    problém je, že tohle moje jaksi "celoživotní téma" (zdá se) prostě nijak zvlášť nevede k funkcionálním jazykům. lazy evaluation je pro lidi, kteří uměj zařídit, aby vlastně překladač tak nějak sestavil algoritmus za ně, když se dostatečně rafinovaně zeptají. tohle není můj případ: já budu mít v paměti vždycky nějaká data, načtená odněkud, a budu nad nima dělat nějaké kupecké počty. je to hloupé, ale prostě zatím většina toho, čím se zabývám, směřuje přesně k tomuto. (akorát jednou to má webové rozhraní, jednou se to volá z cronu, tzn. "skript" bez GUI... a potřetí by se mi třeba hodilo tomu dát rozhraní, na které se zase napojí úplně jiný skript na jiném serveru....). prostě prostor mezi židlí/monitorem a databází dnes nabízí obrovské množství příležitostí, protože prostě lidi se nenaučili SQL, ale klikat a po cestě jsou ještě dráty/packety... a od toho se toho odvíjí celkem dost...

    a kdykoliv něco zmiňuju "dialekt basicu", tak si dělám srandu hned z několika věcí současně - jednak se tím dotčení většinou urazí, ale fakticky jde i o to, že Basic měl nakonec tolik (nekompatibilních) dialektů, že by se dnes každý dávno pokládal za zcela odlišný jazyk...
    REDGUY
    REDGUY --- ---
    XCHAOS: Co je to syntakticky cukr vim. A bohuzel vim i to, jak vypada tvuj "makrojazyk" a ver mi, "hnedym trtinovym cukrem" bych ho nenazval 8) Schvalne jestli te napadne nejaka jina hneda vec ke ktere by se dal prirovnat 8)

    jenom, že pro mě nejsou - a to je prave problem, ta neochota ucit se nove veci. Podivej se, ruzny jazyky maji ruzny cile, kterejch se snazi dosahnout ruznejma prostredkama. Naucit se jaky cile a jaky prostredky to jsou, porovnat je a zhodnotit podle vlastnich meritek je ta nejlepsi mozna priprava na design vlastniho jazyka. Ale klidne na to kasli a zustan u povrchniho placnani typu "pouziva to "let", takze je to dialekt basicu" 8)))

    jaké cesty existují v imperativních jazycích, to se ode mě asi časem dozvíš - aha, takze stejna story jako s poznavamim coderskeho kodu a dalsima xchaosovinama, coz? "Casem uvidis" 8))) Ok 8)
    XCHAOS
    XCHAOS --- ---
    myslím, že ta vandalizace wiki už fakt přesahuje všechny meze...
    Syntactic sugar - Wikipedia, the free encyclopedia
    https://en.wikipedia.org/wiki/Syntactic_sugar#Syntactic_saccharin
    XCHAOS
    XCHAOS --- ---
    REDGUY: syntaktický cukr je definován zde: https://en.wikipedia.org/wiki/Syntactic_sugar
    (např. jsem si zkusil nadefinovat then (které by nedělalo absolutně nic), protože mi to připomínalo starý dobrý Basic, jenže pak jsem byl líný to psát.. takže syntaktický cukr, který jsem líný používat i sám, asi proškrtám :-)

    neřekl jsem, že funkcionální jazyky jsou zbytečnost - jenom, že pro mě nejsou. (btw v poměrně raném věku jsem se setkal s Prologem, který ovlivnil můj přístup k seznamům...)

    a jaké cesty existují v imperativních jazycích, to se ode mě asi časem dozvíš :-)) (ale mám na mysli i věci, které do C bez spolupráce s compilerem fakt propašovat nepůjdou...)
    REDGUY
    REDGUY --- ---
    XCHAOS: nevíš, co bys k tomu dodal, ale nedá ti to, abys nemlčel, co - no ja ti nevim. Kdyz ty pises "něco jiného by potřeba být mohlo" aniz bys ukazal nejakej konkretni priklad, tak to je neco zasadne jineho? Jen tak pro kontrolu 8)))

    ůj (léta) chystaný makrojazyk bude hnědým třtinovým cukrem mezi syntaktickými cukry - no, hnedy to urcite bude. Jestli cukr... no, co se pamatuju, tak spis ne 8))

    Ty funkcionální pro mě moc nejsou, to je marné. - ach jo. Jo, jasne, proc se ucit novy veci, takova zbytecnost...

    v těch procedurálních/imperativních existují cesty, kterými se moc nechodí - bojim se zeptat, ale neda mi to... co tim prosim myslis?
    XCHAOS
    XCHAOS --- ---
    hmm, implicitní return v Rustu.. to je teda hodně dietní jazyk... příliš málo syntaktického cukru :-)
    XCHAOS
    XCHAOS --- ---
    DANIELSOFT: no koukám na to.. "for něco in něco se mi líbí", to je ostatně moje hlavní motivace rozšiřovat c, ale to znám už z pythonu :-) že používají "let" je takové.. hmm, dialekt Basicu :-) mrknu jaké mají kontejnery
    DANIELSOFT
    DANIELSOFT --- ---
    XCHAOS: na Rust jsem zběžně koukal a celkem se mi líbil. Go se asi budu muset naučit, protože v týmu co jsem v práci v něm začínají vznikat projekty...
    XCHAOS
    XCHAOS --- ---
    REDGUY: no ty vlastně nevíš, co bys k tomu dodal, ale nedá ti to, abys nemlčel, co :) přitom volání metody k literálu je prostě syntaktický cukr, ovšem ty víš, že já syntaktický cukr rád, umělá sladidla nerad :-) a můj (léta) chystaný makrojazyk bude hnědým třtinovým cukrem mezi syntaktickými cukry :-)

    "pár dalších jazyků", hmm. Ty funkcionální pro mě moc nejsou, to je marné. v těch procedurálních/imperativních existují cesty, kterými se moc nechodí. Zbývá snad Go a Rust.
    DANIELSOFT
    DANIELSOFT --- ---
    ad "vyšší jazyk, který se překládá do C": narazil jsem na jazyk Vala https://wiki.gnome.org/Projects/Vala/Tutorial - ale zas tak moc jsem ho nezkoumal: v linuxovém světě se sem tam používá na nějaké GUI aplikace
    REDGUY
    REDGUY --- ---
    XCHAOS: něco jiného by potřeba být mohlo 8))

    tyhle debaty jsou ztráta času. - ano, mas pravdu. Pokud argumentace skonci u toho "nejake jine pouziti urcite existuje, ktere teda nevim, ale urcite existuje a sice je to bastl, ale urcite by se to hodilo", tak to je ztrata casu 8)

    Hele, nauc se par dalsich jazyku. Go, Swift, ObjC, Rust, zkusi i vyrazne odlisny jako Lisp/Clojure, Scala, Haskell... neco si o nich poradne precti, zkus si v nich neco napsat, at mas predstavu, jak to delal chytry lidi. A jestli si i pak budes myslet, ze to zvladnes lip, s chuti do toho...
    Kliknutím sem můžete změnit nastavení reklam