Začátky programování
Zdravím
Chci se začít věnovat programování. Po prázdninách jdu do devítky, a po základce chci na elektro a nevím jestli na ZŠ nějaký programování bude tak bych se chtěl trochu předpřipravit. Vyhlídl jsem si knížku C++ bez předchozích znalostí od Jeffa Kenta.
http://www.kosmas.cz/knihy/147992/c-bez-predchozich-znalosti/
Prosím ohodnoťte tuto knihu i jazyk, případně poradtě pro začátečníka lepší.
Děkuji všem
Chci se začít věnovat programování. Po prázdninách jdu do devítky, a po základce chci na elektro a nevím jestli na ZŠ nějaký programování bude tak bych se chtěl trochu předpřipravit. Vyhlídl jsem si knížku C++ bez předchozích znalostí od Jeffa Kenta.
http://www.kosmas.cz/knihy/147992/c-bez-predchozich-znalosti/
Prosím ohodnoťte tuto knihu i jazyk, případně poradtě pro začátečníka lepší.
Děkuji všem
v C++ bych rozhodne nezacinal.
na zacatek si vem obycejny C, python nebo pascal
knihy na nauceni jazyka bych doporucil od herouta.
co se zacatku tyka, tak je ti na nic umet nejaky jazyk nebo 30 jazyku, to co je podstatne je naucit se algoritmizovat - o nic jineho nejde, pokud ti to nepujde do hlavy jsi ztracen a nema cenu pokracovat, pokud to zvladnes tak ti bude uplne jedno v jakem jazyku zrovna fungujes, je to jen o syntaxi
na zacatek si vem obycejny C, python nebo pascal
knihy na nauceni jazyka bych doporucil od herouta.
co se zacatku tyka, tak je ti na nic umet nejaky jazyk nebo 30 jazyku, to co je podstatne je naucit se algoritmizovat - o nic jineho nejde, pokud ti to nepujde do hlavy jsi ztracen a nema cenu pokracovat, pokud to zvladnes tak ti bude uplne jedno v jakem jazyku zrovna fungujes, je to jen o syntaxi
tou bych nezacinal uz vubec, imho na zacatek horsi nez C++
vsechno musis mit v package a tridach... na zacatek imho fakt nee...
EDIT: z tohoto pohledu je idealni python - umi vsechno a muzes delat jen to co zrovna potrebujes. do niceho te nenuti
"K význačným vlastnostem jazyka Python patří jeho jednoduchost z hlediska učení. Bývá dokonce považován za jeden z nejvhodnějších programovacích jazyků pro začátečníky."
http://cs.wikipedia.org/wiki/Python
vsechno musis mit v package a tridach... na zacatek imho fakt nee...
EDIT: z tohoto pohledu je idealni python - umi vsechno a muzes delat jen to co zrovna potrebujes. do niceho te nenuti
"K význačným vlastnostem jazyka Python patří jeho jednoduchost z hlediska učení. Bývá dokonce považován za jeden z nejvhodnějších programovacích jazyků pro začátečníky."
http://cs.wikipedia.org/wiki/Python
[quote=Belbas;274159]Aha ok a co říkáte na Javu, jaká je na začátky?[/quote]Java dnes narostla do obludných rozměrů a bez jasného cíle se v ní můžete lehce utopit. Spíš bych doporučoval Delphi, tj. PASCAL. Jinak knihy Herouta (Java) jsou velmi dobré na učení, i když kniha http://knihy.abz.cz/prodej/java-graficke-uzivatelske-prostredi-a-cestina-1 už je mimo mísu a kniha http://knihy.abz.cz/prodej/java-a-xml-pro-javu-5-i-6 je dobrý doplněk pro lidi co už o XML něco vědí.
Dopl.: http://knihy.abz.cz/obchod/autor-herout-pavel-herout Nejsem si, ale vědom toho, že by Herout publikoval jiné knihy než v C a Javě.
Dopl.: http://knihy.abz.cz/obchod/autor-herout-pavel-herout Nejsem si, ale vědom toho, že by Herout publikoval jiné knihy než v C a Javě.
[quote=xmarek;274163]Java dnes narostla do obludných rozměrů a bez jasného cíle se v ní můžete lehce utopit. Spíš bych doporučoval Delphi, tj. PASCAL. Jinak knihy Herouta (Java) jsou velmi dobré na učení, i když kniha http://knihy.abz.cz/prodej/java-graficke-uzivatelske-prostredi-a-cestina-1 už je mimo mísu a kniha http://knihy.abz.cz/prodej/java-a-xml-pro-javu-5-i-6 je dobrý doplněk pro lidi co už o XML něco vědí.[/quote]
OK děkuji takže Python nebo Pascal. Jen jsem se chtěl zeptat, zatím jsem od pana herouta viděl jen knihy o Javě pokud píše i o jiných jazycích, dali by jste sem prosím odkaz ?
OK děkuji takže Python nebo Pascal. Jen jsem se chtěl zeptat, zatím jsem od pana herouta viděl jen knihy o Javě pokud píše i o jiných jazycích, dali by jste sem prosím odkaz ?
No do loňského roku jsem měli blbou učitelku která nás nic nenaučila, ale tento rok jsem dostali lepší a angličtina mně začala docela bavit. Jinak se často dívám na filmy v angličtině s ČR titulkama, plynule ještě nemluvím...
Osobně si myslím, že pokud má nějaké základy tak technickou angličtinu, která je zapotřebí, se slovníkem hravě zvládne. ;)
[quote=xmarek;274175]Osobně si myslím, že pokud má nějaké základy tak technickou angličtinu, která je zapotřebí, se slovníkem hravě zvládne. ;)[/quote]
Tak co ještě nějaké návrhy na nějakou tu knížku ?
Tak co ještě nějaké návrhy na nějakou tu knížku ?
Pro čisté programování Javu, C++, C#. Pythonem bych asi nezačínal, Na začátku se musíš naučit konvence, pak algorimizovat (tj přemýšlet jak co udělat, tak abys to v daném jazyce "vysvětlil" počítači.
Tohle je můj názor.
Tohle je můj názor.
Tak jeden říká Javu, C ,C++ ne. Radši Python. Druhej přesnej opak tak co si potom má člověk vybrat ? :D
Pokud pouze jedno tak Javu. Jako vývojové prostředí eclipse a projít si javové tutorialy přímo na webu. (třeba přímo od sunu)
[quote=Belbas;274177]Tak co ještě nějaké návrhy na nějakou tu knížku ?[/quote]Odkaz na knihy od Herouta jsem již uvedl výše. Takže znovu: http://knihy.abz.cz/obchod/autor-herout-pavel-herout Už jsem taky uvedl, že si nejsem vědom toho, že by Herout napsal jinou knihu než v C a Javě. Jelikož ostatní jazyky (bohužel dělám v Javě :D) nedělám tak se v jiné literatuře neorientuji. Jinak o Javě existuje i na internetu obrovské množství knih (od Algoritmizace až po ty největší technologie (frameworky). např. http://java.sun.com/docs/books/tutorial/, ale dopředu Vás před čtením takové literatury varuji. :D
Dopl. Hlavně ne Eclipse. Ta doba, kdy bylo toto prostředí vhodné pro výuku je ta tam. To spíš Netbeans. Dostupné na http://www.netbeans.org/
Dopl. Hlavně ne Eclipse. Ta doba, kdy bylo toto prostředí vhodné pro výuku je ta tam. To spíš Netbeans. Dostupné na http://www.netbeans.org/
a ja bych dozacatku zase poradil neco bez IDE, pekne textak a kompilovat z command line. kdyz nekdo poprve spusti IDE a nema predstavu o programovani, tak je z toho vedle a pak je zvykly ze toho IDE udela spoustu za neho a je zmateny kdyz mu IDE chybi...
javou bych rozhodne nezacinal, je docela vysokourovnova uz v zakladu a ucit se v tom zacatky...
C# ma skvele IDE (M$ visual studio), ale je taky docela vysokourovnovy
python je imho vhodny proto, ze se v nem daji snadno delat uplne zaklady, stejne tak pozdej prejit na tridy a jmene prostory. je pravda ze dava programatorovi hodne volnosti, takze muze pochytit spatne zvyky... ostatne python ma co nejvic usnadnovat praci lineho programatora...
taky do zacatku nemusi byt spatny cisty C - s kompilatorem nastavenym na pedantic a wall
javou bych rozhodne nezacinal, je docela vysokourovnova uz v zakladu a ucit se v tom zacatky...
C# ma skvele IDE (M$ visual studio), ale je taky docela vysokourovnovy
python je imho vhodny proto, ze se v nem daji snadno delat uplne zaklady, stejne tak pozdej prejit na tridy a jmene prostory. je pravda ze dava programatorovi hodne volnosti, takze muze pochytit spatne zvyky... ostatne python ma co nejvic usnadnovat praci lineho programatora...
taky do zacatku nemusi byt spatny cisty C - s kompilatorem nastavenym na pedantic a wall
Abys to nemel tak jednoduche, tak ja rikam Pascal. Ten je primo urcenej k vyuce programovani, mel by te naucit "dobrym navykum", co se tyce psani kodu, a je to proceduralni jazyk, takze nema zadne objekty a jine veci, ktere v zacatcich nejsou potreba a jen matou. Prvni jazyk ma imho slouzit hlavne k tomu, aby jsi se naucil spravne algoritmizovat - tzn. ma byt jednoduchy a "hlidat te", aby jsi se mohl soustredit prave na tu algoritmizaci a nemusel porad resit, "proc to ku*va furt pada". To by se imho mel tykat i vyber vhodne literatury - znat syntaxi je potreba, to jiste, ale tu neni problem najit na Internetu. Kdyz uz kupovat knizku, tak nejakou, ktera te nauci zaklady programovani - co je to slozitost, vyhledavani, trideni, prohledavani (BFS, DFS), rekurze a tak.
Edit: Imho je porad dost pravdepodobne, ze na te stredni skole budou vyucovat programovani prave v Pascalu.
Edit: Imho je porad dost pravdepodobne, ze na te stredni skole budou vyucovat programovani prave v Pascalu.
chodím na gympl, už dva roky máme programování.. vyučuje se v pascalu, ale můžu říct, že za ty dva roky jsem si osvojil pouze pár příkazů, schopnost samostatného tvoření je na bodu mrazu... víceméně je to učitelem (všichni s tím mají problémy), takže radím nespoléhat na školu, pokud chce člověk umět programovat, tak se tomu musí věnovat samostatně
[quote=Belbas;274155]Zdravím
Chci se začít věnovat programování. Po prázdninách jdu do devítky, a po základce chci na elektro a nevím jestli na ZŠ nějaký programování bude tak bych se chtěl trochu předpřipravit. Vyhlídl jsem si knížku C++ bez předchozích znalostí od Jeffa Kenta.
http://www.kosmas.cz/knihy/147992/c-bez-predchozich-znalosti/
Prosím ohodnoťte tuto knihu i jazyk, případně poradtě pro začátečníka lepší.
Děkuji všem[/quote]
Jaké programy chceš psát ?
Nějaké "výpočtové" utility (např. http://strojarka.zde.cz) nebo hry, texťáky, ...
Chci se začít věnovat programování. Po prázdninách jdu do devítky, a po základce chci na elektro a nevím jestli na ZŠ nějaký programování bude tak bych se chtěl trochu předpřipravit. Vyhlídl jsem si knížku C++ bez předchozích znalostí od Jeffa Kenta.
http://www.kosmas.cz/knihy/147992/c-bez-predchozich-znalosti/
Prosím ohodnoťte tuto knihu i jazyk, případně poradtě pro začátečníka lepší.
Děkuji všem[/quote]
Jaké programy chceš psát ?
Nějaké "výpočtové" utility (např. http://strojarka.zde.cz) nebo hry, texťáky, ...
[quote=michal.kolesa;274231]Jaké programy chceš psát ?
Nějaké "výpočtové" utility (např. http://strojarka.zde.cz) nebo hry, texťáky, ...[/quote]
Vůbec nevím prostě bych se chtěl naučit nějaký základy, v případě až příjdu na školu ať nejsem jak uplná guma.
Nějaké "výpočtové" utility (např. http://strojarka.zde.cz) nebo hry, texťáky, ...[/quote]
Vůbec nevím prostě bych se chtěl naučit nějaký základy, v případě až příjdu na školu ať nejsem jak uplná guma.
Suhlasim s uzivatelom mech13:
[quote=mech13;274196]a ja bych dozacatku zase poradil neco bez IDE, pekne textak a kompilovat z command line. kdyz nekdo poprve spusti IDE a nema predstavu o programovani, tak je z toho vedle a pak je zvykly ze toho IDE udela spoustu za neho a je zmateny kdyz mu IDE chybi...[/quote]
a suhlasim tiez s uzivatelom optim:
[quote=optim;274201]... Prvni jazyk ma imho slouzit hlavne k tomu, aby jsi se naucil spravne algoritmizovat ...[/quote]
To ze sa naucis ako postupovat pri rieseni roznych (nie len) programatorskych uloh - ze sa naucis mysliet - ti bude imho na zaciatok (!) viac platne ako perfektna znalost nejakeho programovacieho jazyka, pretoze to vyuzijes aj inde, nie len v programovani.
Priklanam sa bud k Pascal-u alebo k C-cku.
Imho neskor by bolo mozno dobre keby si sa aspon minimalne a pasivne oboznamil (precital nieco na wikipedii a pod.) s jazykom assembler, aby si mal aspon zakladnu predstavu na com to vsetko stoji.
[quote=mech13;274196]a ja bych dozacatku zase poradil neco bez IDE, pekne textak a kompilovat z command line. kdyz nekdo poprve spusti IDE a nema predstavu o programovani, tak je z toho vedle a pak je zvykly ze toho IDE udela spoustu za neho a je zmateny kdyz mu IDE chybi...[/quote]
a suhlasim tiez s uzivatelom optim:
[quote=optim;274201]... Prvni jazyk ma imho slouzit hlavne k tomu, aby jsi se naucil spravne algoritmizovat ...[/quote]
To ze sa naucis ako postupovat pri rieseni roznych (nie len) programatorskych uloh - ze sa naucis mysliet - ti bude imho na zaciatok (!) viac platne ako perfektna znalost nejakeho programovacieho jazyka, pretoze to vyuzijes aj inde, nie len v programovani.
Priklanam sa bud k Pascal-u alebo k C-cku.
Imho neskor by bolo mozno dobre keby si sa aspon minimalne a pasivne oboznamil (precital nieco na wikipedii a pod.) s jazykom assembler, aby si mal aspon zakladnu predstavu na com to vsetko stoji.
Imho ma IDE do zacatku obrovskou vyhodu v podobe integrovaneho debuggeru (pripadne i syntax checkeru). Sice je navyk na krokovani kodu do jiste miry spatny, ale stejne bych krokovani kazdemu zacatecnikovi doporucil pouzivat, protoze velmi zjednodusuje hledani chyb v kratkych programech a poskytuje jisty imaginarni nahled do chodu programu. Nema smysl takoveho cloveka hned "trapit" prikazovou radkou (tedy pokud mu neni vlastni - pak obvykle zna a vyuziva jeji vyhody proti GUI/TUI/atd.), protoze i tak to bude boj a mohlo by se stat, ze ho to prestane bavit a da se treba na filosofii. ;-) (to plati i pro ten assembler)
Já jsem začal první s webem (PHP-Fusion), je to super na takové to první seznamování se s Pc jazykem.
PHP stoji tak trochu mimo klasicke programovaci jazyky, nevim jestli by bylo vhodnym reprezentativnim vzorkem...
Belbas: stahni si nejake live CD linuxu (treba kubuntu) nebo si to nainstaluj do virtualni masiny a muzes rovnou zacit programovat - vsechny potrebne nastroje jsou vetsinou obsazeny. pustis Kate (takovy lepsi notepad), napises zdrojak, ulozis ho a v command line to jen prelozis pomoci gcc a spustis
udelas si napr soubor muj_program.c
[code]# include
int main(void)
{
printf("Hello, World!\n");
return 0;
}[/code]
v bash se dostanes do stejneho adresare kde je soubor (prikazy dir a ls ti pomuzou) a naklepes tam
[code]gcc -std=c99 -Wall -pedantic muj_program.c -o muj_program[/code]
a pak to v bash spustis:
[code]./muj_program[/code]
tod vse. dal muzes pokracovat dle libosti. v linuxu nic vic potreba neni. pokud jsi hardcore muzes zdrojaky editovat ve vi nebo vim
imho mnohem lepsi nez se snazit rozejit prekladac na windows nebo se ucit s IDE... toto je vec, za kterou linux velmi chvalim. zacit v nem programovat je supersnadne a vic user friendly nez ve win
Belbas: stahni si nejake live CD linuxu (treba kubuntu) nebo si to nainstaluj do virtualni masiny a muzes rovnou zacit programovat - vsechny potrebne nastroje jsou vetsinou obsazeny. pustis Kate (takovy lepsi notepad), napises zdrojak, ulozis ho a v command line to jen prelozis pomoci gcc a spustis
udelas si napr soubor muj_program.c
[code]# include
int main(void)
{
printf("Hello, World!\n");
return 0;
}[/code]
v bash se dostanes do stejneho adresare kde je soubor (prikazy dir a ls ti pomuzou) a naklepes tam
[code]gcc -std=c99 -Wall -pedantic muj_program.c -o muj_program[/code]
a pak to v bash spustis:
[code]./muj_program[/code]
tod vse. dal muzes pokracovat dle libosti. v linuxu nic vic potreba neni. pokud jsi hardcore muzes zdrojaky editovat ve vi nebo vim
imho mnohem lepsi nez se snazit rozejit prekladac na windows nebo se ucit s IDE... toto je vec, za kterou linux velmi chvalim. zacit v nem programovat je supersnadne a vic user friendly nez ve win
Myslím si, že podobným způsobem může pohodlně používat ve Windows Javu. :D Stačí si nainstalovat JDK a programovat v Notepadu (osobně jsem tak s Javou začínal). Jinak nevím co je na tom pravdy, ale kluci mi říkali, že se na průmyslovkách přechází s Delphi na C. Takže by pro něj nemuselo být od věci začít s C-ečkem.
u javy je potreba si nastavit PATH k exacum tusim... jinak java nejvodnejsi na zacatek urcite nebude...
na VUT FIT se zacina Cckem
pak jeste muze prubnout assembler:) udelat v asm okeni aplikaci je docela sranda:D
//priloha - projekt do assembleru, cte informace z instrukce cpuid... zarucuju ze to nejsou breberky
na VUT FIT se zacina Cckem
pak jeste muze prubnout assembler:) udelat v asm okeni aplikaci je docela sranda:D
//priloha - projekt do assembleru, cte informace z instrukce cpuid... zarucuju ze to nejsou breberky
bash je takovy lepsi command line pouzivany v linuxu. nektere prikazy jsou stejne jako v MS-DOS nebo v prikazove radce ve windows, nektere se lisi, je jich spousta navic
GUI - graphic user interface - graficke rozhrani
TUI bych tipnul na textove rozhrani
path - je retezec ve windows, ktery obsahuje jmena adresaru, ve kterych ma hledat spustitelne programy. tj kdyz si pustis cmd a napises ping, tak to funguje at si na C:\ nebo na plose. ale kdyz napises putty.exe, tak to hodi neznamy nazev... pokud pridas do PATH adresar, ve kterem je putty.exe tak budes moct tento program spoustet odkudkoli. bez toho bys musel vzdy vypsat plnou cestu k tomu programu
napr
C:\users\xxx\plocha>putty.exe -> nejede
C:\users\xxx\plocha>C:\program files\firma\putty.exe -> jede
pridas C:\program files\firma\ do PATH
C:\users\xxx\plocha>putty.exe -> funguje
GUI - graphic user interface - graficke rozhrani
TUI bych tipnul na textove rozhrani
path - je retezec ve windows, ktery obsahuje jmena adresaru, ve kterych ma hledat spustitelne programy. tj kdyz si pustis cmd a napises ping, tak to funguje at si na C:\ nebo na plose. ale kdyz napises putty.exe, tak to hodi neznamy nazev... pokud pridas do PATH adresar, ve kterem je putty.exe tak budes moct tento program spoustet odkudkoli. bez toho bys musel vzdy vypsat plnou cestu k tomu programu
napr
C:\users\xxx\plocha>putty.exe -> nejede
C:\users\xxx\plocha>C:\program files\firma\putty.exe -> jede
pridas C:\program files\firma\ do PATH
C:\users\xxx\plocha>putty.exe -> funguje
C neni pro zacatecnika vhodne, ukazi na priklade..
[code]#define LEN 10
int main(int argc, char **argv)
{
int i, a[LEN];
for(i = 0; i <= LEN; ++i)
a[ i ] = 0;
return 0;
}[/code]
Preklad (copy&paste z Mechova tutorialu) bez varovani, proc by tam nejake melo byt, ze?
No a co to dela - skonci to, spadne to, zacykli se to?
Odpoved c) je spravne - promenny se alokujou na zasobniku a promenna i "bydli" za polem a, tedy zmenou a[LEN] menim i. (tedy v mem pripade, nehodlam ale kvuli tomu zjistovat, jak moc striktni je specifikace C, co se tyce poradi alokace statickych lokalnich promennych)
Takovejhle chyb udela zacatecnik mraky a najit kazdou z nich zabere nezanedbatelne mnozstvi casu.
Edit: Ano, TUI = text user interface
[code]#define LEN 10
int main(int argc, char **argv)
{
int i, a[LEN];
for(i = 0; i <= LEN; ++i)
a[ i ] = 0;
return 0;
}[/code]
Preklad (copy&paste z Mechova tutorialu) bez varovani, proc by tam nejake melo byt, ze?
No a co to dela - skonci to, spadne to, zacykli se to?
Odpoved c) je spravne - promenny se alokujou na zasobniku a promenna i "bydli" za polem a, tedy zmenou a[LEN] menim i. (tedy v mem pripade, nehodlam ale kvuli tomu zjistovat, jak moc striktni je specifikace C, co se tyce poradi alokace statickych lokalnich promennych)
Takovejhle chyb udela zacatecnik mraky a najit kazdou z nich zabere nezanedbatelne mnozstvi casu.
Edit: Ano, TUI = text user interface
[quote=mech13;274546]
Belbas: stahni si nejake live CD linuxu [/quote]
Myslím, že psát programy pod linux je nerentabilní, když linux má mizivé procento uživatelů, zbylých 95% má Windows.
Belbas: stahni si nejake live CD linuxu [/quote]
Myslím, že psát programy pod linux je nerentabilní, když linux má mizivé procento uživatelů, zbylých 95% má Windows.
michal.kolesa: pokud mu jde o zacatky, tak je jedno na cem to dela tezko bude zachazet za hranice std knihoven, takze kdykoli muze vzit zdrojak a prekompilovat ho na win.
ja dotaz pochopil tak, ze neumi vubec nic a chce se alespon dostat do obrazu, ne ze z neho hned zacnou litat ucetni systemy a systemovy utility ktery bude chtit prodavat. z tohoto pohledu je imho uplne jendo v cem to dela a linux mi na to prijde vhodnejsi (a to jsu zaryte windowsak, ktere na linux nadava kde muze... linux mi vzdy jel jen ve virtualni masine kvuli projektum do skoly a musim proste uznat, ze na toto je lepsi)
navic mame multiplatformni jazyky - java, php, python...
ja dotaz pochopil tak, ze neumi vubec nic a chce se alespon dostat do obrazu, ne ze z neho hned zacnou litat ucetni systemy a systemovy utility ktery bude chtit prodavat. z tohoto pohledu je imho uplne jendo v cem to dela a linux mi na to prijde vhodnejsi (a to jsu zaryte windowsak, ktere na linux nadava kde muze... linux mi vzdy jel jen ve virtualni masine kvuli projektum do skoly a musim proste uznat, ze na toto je lepsi)
navic mame multiplatformni jazyky - java, php, python...
Pro začátky bych doporučil oproti mechovi něco s IDE - pro dobrou algoritmizaci neni třeba hned znát jak funguje compiler, linker atd... a neznalost toho nevede ke špatnejm návykům.
Taky bych nedoporučil beztypovej jazyk - typovej jazyk vede k větší disciplíně při programování a člověk se nenaučí zhovadilosti typu trojnásobný konverze mezi typama sem a tam.
Nedoporučil bych ze začátku objektovej jazyk - pro jednoduchý věci je objektovost spíš na obtíž - objekt je v v jistym smyslu "zapouzdření" algoritmu (teď mě začnou objektový puristi mlátit po hlavě :-)) a nemá smysl stavět barák, když člověk ani neumí dát dvě cihly k sobě.
Z toho mi vyplývá, že nejlepším jazykem na naučení je zatracovanej pascal. Ovšem nesmí se u něj zůstat, ten použít jen na takový ty etudy typu napiš spoják, strom, .... Po zvládnutí tědle začátků pak imho vede cesta přes objektový jazyky (java, python), ale doplněný prostym Cčkem (popř. C++, ale ne takový to highlelev C++, kdy člověk používá jen objekty, hezky strcpy, malloc, klidně si např. implementovat vlastní string apod...), aby člověk trochu přičuch k hardwaru a zjistil, co je pro procesor jak drahý a jak se to vevnitř s těma bytama vlastně dělá. A zároveň se poučil trochu o tom linkeru, compileru atd - takže nejlíp v linuxu... (teď je ta správná chvíle :-))
No a pak časem ještě čuchnout k lispu, popř. aspoň javascriptu - ale zas ne k javascriptu pojímanýmu jako BASIC, ale k javascriptu s celou jeho výrazovou sílou (prostě funkcionální jazyky). Neřikam, že jsou the best, ale některý triky z nich se hodně hoděj i v klasickejch procedurálních/objektovejch jazycích a naučej myslet nad věcma "trochu jinak", což se dost hodí....
mech: C je taky multiplatformní :-), jen se musí znova přeložit.
Taky bych nedoporučil beztypovej jazyk - typovej jazyk vede k větší disciplíně při programování a člověk se nenaučí zhovadilosti typu trojnásobný konverze mezi typama sem a tam.
Nedoporučil bych ze začátku objektovej jazyk - pro jednoduchý věci je objektovost spíš na obtíž - objekt je v v jistym smyslu "zapouzdření" algoritmu (teď mě začnou objektový puristi mlátit po hlavě :-)) a nemá smysl stavět barák, když člověk ani neumí dát dvě cihly k sobě.
Z toho mi vyplývá, že nejlepším jazykem na naučení je zatracovanej pascal. Ovšem nesmí se u něj zůstat, ten použít jen na takový ty etudy typu napiš spoják, strom, .... Po zvládnutí tědle začátků pak imho vede cesta přes objektový jazyky (java, python), ale doplněný prostym Cčkem (popř. C++, ale ne takový to highlelev C++, kdy člověk používá jen objekty, hezky strcpy, malloc, klidně si např. implementovat vlastní string apod...), aby člověk trochu přičuch k hardwaru a zjistil, co je pro procesor jak drahý a jak se to vevnitř s těma bytama vlastně dělá. A zároveň se poučil trochu o tom linkeru, compileru atd - takže nejlíp v linuxu... (teď je ta správná chvíle :-))
No a pak časem ještě čuchnout k lispu, popř. aspoň javascriptu - ale zas ne k javascriptu pojímanýmu jako BASIC, ale k javascriptu s celou jeho výrazovou sílou (prostě funkcionální jazyky). Neřikam, že jsou the best, ale některý triky z nich se hodně hoděj i v klasickejch procedurálních/objektovejch jazycích a naučej myslet nad věcma "trochu jinak", což se dost hodí....
mech: C je taky multiplatformní :-), jen se musí znova přeložit.
[quote=Logout;274631]mech: C je taky multiplatformní :-), jen se musí znova přeložit.[/quote]
to jsem taky napsal;) "tezko bude zachazet za hranice std knihoven, takze kdykoli muze vzit zdrojak a prekompilovat ho na win"
mozna by bylo dobry zase pockat nez se ozve autor co od toho ceka, protoze mam takovy pocit, ze jsme ho odradili jeste nez zacal:D
btw na zkompilovani v gcc nepotrebuje znat jak funguje kompiler a linker... staci to jednou napsat a pak mackat sipku nahoru a entr
to jsem taky napsal;) "tezko bude zachazet za hranice std knihoven, takze kdykoli muze vzit zdrojak a prekompilovat ho na win"
mozna by bylo dobry zase pockat nez se ozve autor co od toho ceka, protoze mam takovy pocit, ze jsme ho odradili jeste nez zacal:D
btw na zkompilovani v gcc nepotrebuje znat jak funguje kompiler a linker... staci to jednou napsat a pak mackat sipku nahoru a entr
[quote=mech13;274636]to jsem taky napsal;) "tezko bude zachazet za hranice std knihoven, takze kdykoli muze vzit zdrojak a prekompilovat ho na win"
mozna by bylo dobry zase pockat nez se ozve autor co od toho ceka, protoze mam takovy pocit, ze jsme ho odradili jeste nez zacal:D
btw na zkompilovani v gcc nepotrebuje znat jak funguje kompiler a linker... staci to jednou napsat a pak mackat sipku nahoru a entr[/quote]
Hoši moc nerozumim tomu co mi to tady vykládáte, takže to vidim tak že zajdu do knihkupectví nejdu knížku programování v pascalu+nějaká algoritmy a začnu se šprtat...
mozna by bylo dobry zase pockat nez se ozve autor co od toho ceka, protoze mam takovy pocit, ze jsme ho odradili jeste nez zacal:D
btw na zkompilovani v gcc nepotrebuje znat jak funguje kompiler a linker... staci to jednou napsat a pak mackat sipku nahoru a entr[/quote]
Hoši moc nerozumim tomu co mi to tady vykládáte, takže to vidim tak že zajdu do knihkupectví nejdu knížku programování v pascalu+nějaká algoritmy a začnu se šprtat...
[quote=Belbas;274651]Hoši moc nerozumim tomu co mi to tady vykládáte, takže to vidim tak že zajdu do knihkupectví nejdu knížku programování v pascalu+nějaká algoritmy a začnu se šprtat...[/quote]Myslím si, že to bude asi nejrozumnější řešení. :thumb
Jojo - to je myslim nejlepší cesta.
Ještě ze zkušenosti - až překonáš úplný základy, nejlíp se naučíš na vlastnim projektu. Vymysli si nějakej program, klidně blbost (třeba obligátní hru hadi) a zkus to dotáhnout do konce. Na tom se ve výsledku naučíš nejvíc. Ale zas bez bez nějakýho pevnýho základu to taky nejde, takže nejdřív tu knížku :-).
[quote]
mech13: na zkompilovani v gcc nepotrebuje znat jak funguje kompiler a linker
[/quote]
Pak ale je na tom stejně, jako s ide, jen ne tak komfortně. Ale hlavní výhoda, obzvlášť pro začátečníka, je při použití IDE snadnej debugging. Přecejenom gdb bez nějaký grafický nadstavby je takový nepříliš přítulný (i když už sem s nim taky pár věcí odladil).
Ještě ze zkušenosti - až překonáš úplný základy, nejlíp se naučíš na vlastnim projektu. Vymysli si nějakej program, klidně blbost (třeba obligátní hru hadi) a zkus to dotáhnout do konce. Na tom se ve výsledku naučíš nejvíc. Ale zas bez bez nějakýho pevnýho základu to taky nejde, takže nejdřív tu knížku :-).
[quote]
mech13: na zkompilovani v gcc nepotrebuje znat jak funguje kompiler a linker
[/quote]
Pak ale je na tom stejně, jako s ide, jen ne tak komfortně. Ale hlavní výhoda, obzvlášť pro začátečníka, je při použití IDE snadnej debugging. Přecejenom gdb bez nějaký grafický nadstavby je takový nepříliš přítulný (i když už sem s nim taky pár věcí odladil).