Zdravim ve spolek. Nevedeli byste o zahranicnich serverech, ktere se zabyvaji programovanim pro web (nejlepe v PHP, klidne i v Jave)? Ceske servery (a i mnohe zahranicni) mi uz nestaci se stejnymi a dokola se opakujicimi tutorialy. Par jich navstevuju, ale porad nic prinosnyho. Diky
Ja si stejne myslim, ze pro "zacinajici programatory" je daleko lepsi zacinat knizkou o programovani, a ne o programovacich jazycich. Napriklad jiz nekde vyse zminena knizka Pavla Topfera "Algorimy a programovaci techniky", a ji podobne.
Pokud se clovek nauci toto, pak ma na cem stavet pri uceni se konkretniho programovacicho jazyka. Pokud se rovnou zacne ucit programovaci jazyk, je to mozna trochu zbytecna zkratka.
Recenzovana knizka, a ji podobne, bude mit za nasledek, ze se po svete bude potulovat spousta programatoru, z nichz polovina bude tridit dvema cykly v sobe zanorenymi v O(n^2), a druha polovina jim to bude tise zavidet...zato vsichni budou perfektne vedet, co je ternarni vyraz v Cecku.
Vsechno samozrejme IMHO a mirne s nadsazkou ;)
"Algoritmy a programovaci techniky" je v postate sbirka algoritmu, tam vubec zadny vyklad programovani neni a nechapu jak by se z ni nekdo mohl naucit programovat
krome toho zacinat s necim takovym jako "Algorimy a programovaci techniky" je nejlepsi zpusob jak nekomu programovani znechutit jako neco sloziteho a plneho matematiky
taktez IMHO ale beznadsazky :-)
jinak ta kniha "Nebojte se programovat" je IMHO vyborna a pro zacatecniky primo napsana
> "Algoritmy a programovaci techniky" je v
> postate sbirka algoritmu, tam vubec zadny
> vyklad programovani neni a nechapu jak by se
> z ni nekdo mohl naucit programovat
Programovani je presne o tom, co je popsane v te knizce. Ovsem pokud pro Vas programovani znamena "schopnost spustit si editor a napsat v nem syntakticky spravny kod", pak se samozrejme takto "programovat" muzete naucit z cehokoliv, a jakekoliv algorimy absolutne nemusite znat. Ovsem ja bych si od Vas nic programovat nenechal.
> nejlepsi zpusob jak nekomu programovani
> znechutit jako neco sloziteho a plneho
> matematiky
Vsak take o tom programovani je. Pokud si programator neni schopen navrhnout efektivni datovou strukturu, pokud nevi co je hashovani, atd., pak je jako programator samozrejme k nicemu. Programovani se bez matematiky neobejde, tak proc to zacinajicim programatorum tajit. Navic konkretne v knizce Paval Topfera ta matematika neni veskera zadna...a pokud je tam ukazano, jak jsou napriklad ktere datove struktury k cemu vhodne, pak je to jedine dobre.
> Programovani je presne o tom, co je popsane v te
> knizce. Ovsem pokud pro Vas programovani znamena
> "schopnost spustit si editor a napsat v nem
> syntakticky spravny kod", pak se samozrejme takto
> "programovat" muzete naucit z cehokoliv, a
> jakekoliv algorimy absolutne nemusite znat. Ovsem
> ja bych si od Vas nic programovat nenechal.
Ne s timto nemohu absolutne souhlasit. Programovani vubec neni o tom co je popsane v AaPT. IMHO nejdulezitejsi cast programovani je analyza, schopnost rozebrat si dany problem, navrhnout vubec jakym zpusobem ho prevedu na neco cemu pocitac bude rozumet. Proste to, ze si prectu sbirku algoritmu me nenauci vlastnimu navrhu programu ani algoritmu. A o tom IMHO programovani primarne je.
> > nejlepsi zpusob jak nekomu programovani
> > znechutit jako neco sloziteho a plneho
> > matematiky
> Vsak take o tom programovani je
o matematice ? delate si srandu ? a co je na programovani proboha sloziteho ?
To asi nema cenu pokracovat. V prvni tride se take matematika nebuduje od zakladu ale uci se hned scitat odcitat atd. Chtel byste snad vysvetlovat prvnackum matematiku z Jarnika ? :))))) To je neco podobneho co tu tvrdite. Zacina se tedy ne od zacatku, ale od jednoducheho ke slozitejsimu ((c) J.A.Komensky).
Rikejte si tomu jak chcete, treba i arogance, ale nejak si nedovedu predstavit, co bych asi tak mohl chtit naprogramovat od programatora, ktery nepouziva algoritmy. U ridice z povolani se take predpoklada, ze bude vedet jak funguje motor a ne jenom ze kdyz slapne na plyn a pusti adekvatnim zpusobem spojku, tak se to nejak rozjede.
Ono je to taky o tom, ze obrovsky "rozmach webu" jaksi degradoval pojem "programator" na vyznam "clovek, ktery mi v tom PHPcku nejak ubastli ty SELECTy z mysql...jestli je to prasarna nevadi, stranky jsou maly, databaze je mala, to nikdo nepozna".
S prominutim, toto neni programovani, i kdyz je to pravdepodobne to, co si nekteri lide v teto debate pod timto pojmem bohuzel predstavuji.
1) ridic musi predevsim umet ridit. Jak funguje motor ho nemusi vubec zajmat. Sekretarka take nemusi vedet jak funguji udalosti ve Windows pri stisku klavesy aby mohla napsat dopis.
2) Schopnost algoritmy vytvaret a znalost beznych reseni nejakych uloh jsou 2 ruzne veci, tak si je neplette. Nejdrive se musi ten clovek naucit nejaky obecny problem formulovat, zpracovat a resit. A potom se teprve muze pidit po nejake teorii, ktera mu pomuze vyresit konkretni situace. Ty potom nalezne ve Vami navrhovanych knihach. Ale programovat se z nich jen tak nenauci.
3) Musite si uvedomit, ze kazdy ma sve moznosti. Pokud nekomu staci ubastlit par SELECTu v PHP, necht si to tak bastli, nevidim na tom nic spatneho. Clovek si voli pro nej efektivni reseni. Muzete snad rict, ze Vase programy by nikdo na svete nenaprogramoval lepe? Ja tedy rozhodne ne.
a ted konkretne:
staci se kouknout na vasi html stranku. V hlavicce mate ze je to XHTML 1.0 ale vesele pouzivate tag font <FONT> :)))) Po ridici chcete aby znal jak pracuje motor se kterym on nepracuje a Vy sam neznate normu podle ktere pisete stranku.
Pan Kosina to napsal naprosto trefně. Bohužel jsem to dřív nevěděl, takže jsem se učil "programovat" tím, že jsem učil nějaký jazyk. A když jsem se jazyk naučil a znal všechny jeho možné zápisy zjistil jsem že programovat neumím vůbec. Proč ? protože neumím algoritmy. Moderní aktivní a hlavně dobré programování je hlavně o algoritmech, vlastně jenom o algoritmech. Chtěl bych znát programátora co dokáže napsat jednoduchou funkci sort bez použití algoritmu.
Pokud to někdo dokáže a tím nemyslím, že použije list.sort(), tak algoritmy už umí :)
Fakt je to tak, chcete umět programovat ? Naučte se algoritmy jinak z Vás fakt dobrý programátor nikdy nebude.