Zaciatok programovania

Sekcia: Programovanie 12.01.2006 | 12:21
Avatar majo984 Debian,Knoppix,Mandriva  Používateľ
Zdravim vsetkych xcel by som sa naucit programovat v C a xcem sa spytat ci je nejaka dostupna literatura a s cim vlastne a ako zacat?
    • Re: Zaciatok programovania 10.01.2006 | 20:26
      Avatar Tomáš Srnka Barz čo, už asi všetko  Administrátor
      Na linuxsoft.cz bezi serial o C.
      Dlho som robil linuxos.sk, neskôr založil vpsFree.cz, posledných pár rokov ako tech. riaditeľ vo Websupporte
      • Re: Re: Zaciatok programovania 10.01.2006 | 21:02
        meno   Návštevník
        hej, a mozes skusit advanced linux programming, vygugli si to...
    • Re: Zaciatok programovania 10.01.2006 | 21:41
      Avatar Nathan <!--  Používateľ
      Ak si úplný začiatočník nezačínaj programovať v C ale napr. v Pythone. Je celkom prívetivý a dá sa naučiť rýchlo. Ak sa chceš naučiť C, existuje veľa publikácií, stačí zájsť do obľúbeného kníhkupectva.
      <!--
      • Re: Re: Zaciatok programovania 10.01.2006 | 22:03
        puco   Návštevník
        Ak sa chcete naucit C, tak urcite na to nechodte cez Python. Python je objetovo orientovany a vlastne vam moc nepomoze pochopit neskor C. IMO kazdy jazyk sa da naucit rychlo, ved ide len o syntax. Vzdy je pointa naucit sa rozmyslat v tej paradigme, aku vyuziva dany jazyk (proceduralne, objektovo-orientovane, funckionalne).
        • Re: Re: Re: Zaciatok programovania 10.01.2006 | 22:41
          Avatar Nathan <!--  Používateľ
          Python je OO ako C++ a ďalšie jazyky. Písal som "ak si úplný začiatočník" lebo python je jednoduchý, dobre dokumentovaný a taktiež to nie je len hračka, preto je vhodný na výuku. Ak človek ovláda jeden jazyk, naučiť sa iný nie je problém, programovanie je v podstate len vymýšľanie postupov a tie sa narozdiel od syntaxe a kľučových slov nemenia.
          <!--
          • Re: Re: Re: Re: Zaciatok programovania 10.01.2006 | 22:50
            puco   Návštevník
            Ak človek ovláda jeden jazyk, naučiť sa iný nie je problém, programovanie je v podstate len vymýšľanie postupov a tie sa narozdiel od syntaxe a kľučových slov nemenia. To nie je pravda, vid napr. proceduralne a funkcionalne programovanie. Tie pristupy su ine, takze nejde len bezhlavo prepisovat algoritmy. Treba pochopit to myslenie.
            • Re: Re: Re: Re: Re: Zaciatok programovania 10.01.2006 | 23:03
              Avatar Nathan <!--  Používateľ
              Ospravedlňujem sa za nevedomosť, ale celkom nechápem pojmy procedurálne a funkcionálne programovanie. Mohli by ste mi prosím v stručnosti objasnit princípy a rozdiely?
              <!--
              • Re: Re: Re: Re: Re: Re: Zaciatok programovania 11.01.2006 | 00:12
                puco   Návštevník
                No v podstate nikde nie je napisane, co presne je funk. programovanie. Ale da sa to povedat, ze je to styl programovania, pri ktorom sa rozmysla viac nad vyhodnotenim vyrazu ako na vykonavanie instrukcii. Teda skor zapisete co chcete a nestarate sa o to ako sa to vykona. Azda najlepsi bude priklad, je to quicksort v haskell-y: qsort [] = [] qsort (x:xs) = qsort ls ++ [x] ++ qsort rs where ls = [y | y <- xs, y < x] rs = [y | y <- xs, y >= x] Ako vidno, je zapisana pointa quicksortu, ale v proc. jazyku by to vyzeralo inak (kto ma rad matematicke zapisy, tak sa mu to urcite paci). Iny priklad funkc. jazyku moze byt SQl, kde len napisete co chcete a nestarate sa, ci DB server zvoli hash join alebo nested loop join a podobne. Odporucam si to pozriet, vo funkc. jazyku sa zvycajne vyvija ovela rychlejsie, lebo sa zaoberate podstatnim a nie blbostami, ktore vlastne s riesenim problemu ani moc nesuvisia. Nie je to samozrejme vseliek na vsetko. Uspechy funkc. programovania su vidno napr. v ICFP progr. sutaziach (staci pogooglit a pozret ake jazyky zvycajne pouzivaju vitazne timy - samozrejme cest vynimkam). Viac napr. na http://www.cs.nott.ac.uk/~gmh/faq.html alebo na http://www.haskell.org
                • Re: Re: Re: Re: Re: Re: Re: Zaciatok programovania 11.01.2006 | 16:57
                  Avatar Nathan <!--  Používateľ
                  Vďaka.. Teraz teda, beriem späť syntax :) Za ostatným vrátane Pythonu si naďalej stojím..
                  <!--
              • Re: Re: Re: Re: Re: Re: Zaciatok programovania 11.01.2006 | 02:25
                qb   Návštevník
                Procedurálne programovanie sa občas zvykne nazývať aj imperatívne programovanie - zapisuje sa postupnosť príkazov, inštrukcií, výpočtových krokov. Naproti tomu na funkcionálne programovanie sa nazerá viac z matematického hľadiska a operuje sa výrazmi nad vstupnými dátami. Môj obľúbený silne zjednodušený príklad je asi to, že vo funkcionálnom programovacom jazyku je možné dátam povedať \"zotrieďte sa\" - celkom dobre to vidno na vyššie uvedenom príklade s quicksortom. Dobrý začiatok pre ďalšie štúdium môžu byť materiály wikipedie: Procedural Programming Functional programming
                • Re: Re: Re: Re: Re: Re: Re: Zaciatok programovania 11.01.2006 | 10:33
                  puco   Návštevník
                  No aby sme boli uplne presny, da sa to roztriedit na imperativne a deklarativne. Proceduralne je podmnozina imperativneho (prisiel s tym ak sa nemylim Floyd alebo Dijkstra). Deklarativne sa da este rozdelit na funkcionalne (napr. uz spominany Haskell) a logicke programovanie (vid. napr. Prolog).
                  • Re: Re: Re: Re: Re: Re: Re: Re: Zaciatok programov 11.01.2006 | 18:45
                    Majo984   Návštevník
                    Takk sa mi zda ze sa tu zacala pisat nejaka prirucka, :o) v podstate by som sa xcel naucit programovat, ano som uplny, mozno nie tak celkom ale radsej uplny zaciatocnik :o) jednoducho sa xcem naucit programovat, mozno najlepsie by bolo zacat s Pascalom? a to C by som bral ako nieco k comu sa xcem dopracovat ale dam si poradit od vas
                  • Re: Re: Re: Re: Re: Re: Re: Re: Zaciatok programov 11.01.2006 | 19:09
                    qb   Návštevník
                    Áno, toto je lepšie upresnenie. Súhlas.
                    • Re: Re: Re: Re: Re: Re: Re: Re: Re: Zaciatok progr 11.01.2006 | 19:46
                      Avatar majo984 Debian,Knoppix,Mandriva  Používateľ
                      vdaka
                      • .... 11.01.2006 | 22:25
                        Avatar chembro   Používateľ
                        zopar dobrych webov :) Treba kombinovat a vsetko pojde hravo . http://www.faqs.org/docs/learnc/index.html http://www.builder.cz/art/cpp/clanek1666892044.html
                      • Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Zaciatok p 12.01.2006 | 12:21
                        svist   Návštevník
                        Ak chcete pisať program (driver) pre ovládanie nejakej periférie cez porty PC, je vhodné použiť céčko, ak chcete tvoriť program pre účtovníctvo (práca s dátami) s užívateľsky požadovanými oknami a klikaním, tak je vhodné použiť c++, pre začiatočníkov možno ľahší bude Lazarus (www.lazarus.freepascal.org)