• ú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
    REDGUY
    REDGUY --- ---
    WILD_A: Tohle je popravde receno uplne nejlepsi mozna odpoved. Protoze (a) splni co to chces, naucis se C na praktickym prikladu, a zaroven (b) naucis se LISP, cili uplne jinej pohled na programovani nez zatim mas (podle toho cos napsal ze umis).
    XCHAOS
    XCHAOS --- ---
    KILLUA: pod Linuxem se na programování her snad měla používat knihovna SDL. přiznám se, že moc zkušeností s tím nemá, čistě céčkové API ale rozhodne nabízí, viz např.
    Linux Game Programming Tutorial 1: Introduction / First SDL - Game Programming Tutorials | Dream.In.Code
    http://www.dreamincode.net/...topic/290187-linux-game-programming-tutorial-1-introduction-first-sdl/
    WILD_A
    WILD_A --- ---
    Za mne je tohle nejlepsi tutorial, nauci C a zaroven Lisp .... http://www.buildyourownlisp.com/
    KILLUA
    KILLUA --- ---
    Zdravím, zvládám PHP, Javascript a rozhodl sem se začít učit i něco jiného po dlouhém vybírání sem se rozhodl pro čisté C s tím, že budu pracovat a kompilovat v C++ prostředí, abych případně mohl použít C++ když by mi v C něco chybělo.

    Nejlépe se vždycky učím na nějakém praktickém příkladu a proto vlastně píšu sem, chci se zeptat jestli nevíte o nějakých dobrých tutorialech např. o vývoji nějakých primitivních her. Něco sem si už našel na googlu, ale neuškodí se zeptat. I z toho PHP vím, že nějaké jakoby triviální věci co strašně usnadní programování "objeví" člověk i za rok dva... když ho někdo neupozorní.
    GIOMIKY
    GIOMIKY --- ---
    Mam pocit, ze cecko neni uplne spatny pro konstrukci kompileru
    Ted koukam na tohle:
    University of Salzburg - Introduction to Compiler Construction
    http://vimeopro.com/user12798068/university-of-salzburg-introduction-to-compiler-construction
    A je to celkem zajimavy
    REDGUY
    REDGUY --- ---
    XCHAOS: Jen skoda, ze zrovna ten prvni link je obecne o programovani, bez dogmatickyho trvani na cistym C. Takze uz se tady smi mluvit i o jinejch jazycich? 8)
    GIOMIKY
    GIOMIKY --- ---
    XCHAOS: Seda je teorie, ale zeleny strom zivota. :)
    XCHAOS
    XCHAOS --- ---
    jak bych si třeba představoval debaty v tomhle klubu...
    Should We Really Try To Teach Everyone To Code? - Slashdot
    http://developers.slashdot.org/...ry/15/02/14/1845253/should-we-really-try-to-teach-everyone-to-code
    nebo třeba i :-)
    Empirical Study On How C Devs Use Goto In Practice Says "Not Harmful" - Slashdot
    http://developers.slashdot.org/...mpirical-study-on-how-c-devs-use-goto-in-practice-says-not-harmful
    :-)
    XCHAOS
    XCHAOS --- ---
    FLEGMA: koukám
    Self (programming language) - Wikipedia, the free encyclopedia
    http://en.wikipedia.org/wiki/Self_%28programming_language%29
    Instead of having an "instance" of an object that is based on some "class", in Self one makes a copy of an existing object, and changes it.

    ...což přesně dělá i JavaScript. teoreticky zajímavou výhodou by bylo, kdybych nepotřebnou položku mohl z prototypu po naklonování odstranit. třeba mám objekt, jeho součástí je nějaký binární blob, a mě se ten objekt hodí v případě, že pracuju s mnoha tisíci kopiemi, ale zrovna tenhle blob tam nepotřebuju a jen zbytečně zabírá paměť. u špatně navržené nadřazené třídy jsem bez šance...

    každopádně v C na protyping dosáhneme stěží... to už spíš použijeme API k nějakému externímu databázovému repositáři, kde bude uložena nejbližší aproximace toho, čemu se jinde říká objekty... (samozřejmě, chybějící asociativní pole situaci moc neusnadňují...)
    WILD_A
    WILD_A --- ---
    REDGUY: Ja reagoval na to ze si napsal, ze to je to v zasade vyjmecna vec potrebovat vykon, ja si to nemyslim, to je cely. Mozna proto, protoze se temahle vecma zabejvam castejs nez vetsina a tenhle problem mne pali vic nez ostatni.
    WILD_A
    WILD_A --- ---
    FLEGMA: Spatnej algoritmus ani surovej vykon nezachrani :) .... a bruteforce je posledni instance.
    FLEGMA
    FLEGMA --- ---
    JANFROG: No ty jsi me zas donutil se zamyslet nad Selfem do te miry, ze jsem si precetl specifikace, takze win win situace :-)
    KEYMASTER
    KEYMASTER --- ---
    XCHAOS: Ne. O tom ten vtip nebyl. To se jen snažíš přetočit debatu na něco úplně jinýho, protože z nějakýho neznámýho důvodu máš potřebu si spolu s několika místníma xchaos-someliérama dokazovat, kdo máte větší e-kládu.
    JANFROG
    JANFROG --- ---
    FLEGMA: Hmm...dobry komentar! Asi se nad tim budu muset znovu zamyslet.
    XCHAOS
    XCHAOS --- ---
    UETOYO: teoreticky, nějaké aritmetické problémy při míchání různých typů čísel nastat můžou, to jo... a spousta lidí píše v C "slabě typovaně" prostě tak, že se hodně používají void * pointery, přetypovává se.. to je věc stylu. podstatné ale je, že ve staticky typovaném jazyce by třeba funkce proměnnou neočekávaného typu ani dostat neměla (jiná věc je, že C je benevolentní k případu, že se to stane, to ano... ale pokud se nezneužijí určité možnosti jazyka, tak by to měl ohlídat už kompiler...)

    chtěl jsem tuhle debatu několikrát strhnout směrem k debatě "co pokládáte za příklad robustního C kódu" - víceméně jeden z aspektů robustnosti je "nevím, kolik toho bude" - tedy, buď si hlídám indexy polí, nebo použiju jiný kontejnerový typ, než pole, dtto stringy - alokuju je podle potřeby a ne fixně. většina autorů interpreterů skriptovacích jazyků se s tímto typem problému tak jako tak nějak musela vypořádat, takže prostě cílím na lidi, které zajímá jak...

    fakt nevím, proč zabíjet debatu neustálými výtkami, že to nemá smysl, apod. - ano, asi nemá, nezaručí vám to dobře placené pracovní místo (zatímco nějaká praxe v C++ asi ani). diskuze je nicméně "poloodborná" a není myšlená tak, že by nutně měla být pro lidi, kteří hledají znalosti, které by šlo uplatnit komerčně. je to prostě jen klub pro lidi, které některé věci zajímají (případně je někdy už zkusili, z nějakého konce se k nim přiblížili, apod.)
    REDGUY
    REDGUY --- ---
    WILD_A: Tak si prosim jeste jednou precti co jsem psal. Nikde nepopiram, ze C ma svoje misto, naopak, explicitne to zminuju. Jen rikam, ze to misto neni nejak extra velky, i s ohledem na to, ze C++ nabizi bohatsi vyjadrovaci schopnost za nulovou nebo velmi nizkou cenu (podle toho jakej subset se rozhodnu pouzivat). A to uz vubec nemluvim o jazycich, ktery mi poskytnou moznosti, o kterejm se C/C++ ani nezda, i kdyz me to treba stoji nejakou cast vykonu (ale nekdy ani to ne).
    WILD_A
    WILD_A --- ---
    REDGUY: Nevim kolik jich to vi a kolik nevi a kolik jich to resi. Vzal jsem to jako priklad. Priznam se, ze ani netusim co vetsina programatoru resi za problemy. Jen rikam, ze C ma furt svoje vyznamny misto, protoze je fura situaci, kde te vykon velmi zajima a napr. moznost ovlnit jak je co ulozeny v pameti hraje roli. Navic je C lingua franca a ma ohromnou code base, z ktery lze cerpat. Jak uz jsem tu jednou psal ja vetsinu veci co delam delam v kombinaci C + Python nebo aktualne pouzivam jeste Go, hracky a experimenty v lispu nepocitam. V obou pripadech mam moznost prejit lehce do C abych mohl ty kriticky casti resit v detailech.
    XCHAOS
    XCHAOS --- ---
    REDGUY: myslím se dostáváme k otázce, co to znamená v dnešní době "programátor". (a o tom byl i ten vtip s operátory a dynamickým typováním v javascriptu...)
    REDGUY
    REDGUY --- ---
    WILD_A: Kolik procent programatoru pravidelne programuje TSP o 10000 bodech a o rad vejs a pridava k tomu dalsi podminky? Nebo i kolik programatoru vi (bez googlovani) jak to efektivne resit? Heh, kolik programatoru vubec hned z hlavy vi co ta zkratka znamena?

    Samozrejme ze najdes specialni pripady kdy ten vykon potrebujes, o tom zadna. Ale pro naprostou vetsinu situaci a naprostou vetsinu programatoru je hrubej vykon sekundarni, primarni je jak snadno se pisou a udrzujou slozite programy. A pokud se bavime o uceni se, jak spravne programovat, tak je lepsi si TSP implementovat v jazyce, kterej ti umozni soustredit se na algoritmus i za cenu o neco nizsiho vykonu. Ostatne, viz [ FLEGMA @ ANSI C/C99 (specifikace), GNU C (gcc, glibc), Tiny C (tcc) a POSIX - ne nutně C++,g++,libstdc++ nebo Win32 API ] .
    FLEGMA
    FLEGMA --- ---
    WILD_A: S tim algoritmem pro grafy jsi mi pripomel, jak jsem cetl knizku Struktury dat od Berztisse, docela obsolete - rok 1979 a u algoritmu pro hledani cyklu v orientovanem grafu bylo doporuceni, at se nepousti pro graf s prilis velkym poctem uzlu kvuli vypocetni narocnosti a to cislo bylo uplne smesne - ted si nepamatuju jestli 20 nebo 50 :-) V praci jsem tentyz problem resil lepsim algoritmem (vytuneny Tarjan) a na modernim hw, grafy do 1000 uzlu a vysledky v radu milisekund. Kolega prede mnou resil ulohu bruteforcem a u mensich grafu se cekalo na vysledek minuty, u vetsich padalo na pamet, tam by nepomohl ani lepsi hw :-)
    Kliknutím sem můžete změnit nastavení reklam