Bude to boj, to nerikam, ale alespon z nej nebude blbec (a prosim zadny flame). Co se tyka toho uceni, tak sem hodim jenom tento odkaz http://mj.ucw.cz/papers/proglang.html (sice se to tyka vyuky...). Ja jsem osobne taky zacinal (samouk) s C (K&R kniha ;-)) a byl to boj, ale dalo mi to mnoho.
Bude to boj. A proč pro něj chcete boj, když se může třeba v Pythonu dostat v programování dost daleko bez boje?
Články v odkazu jsem už před lety zběžně pročetl - a pokud tam někdo vyzdvihuje C jako jazyk pro prvotní výuku programování, tak hlavní důvody jsou vždy to, že:
- Je to to těžké, takže lidé, kteří nemají na to, aby získali titul v computer science, odpadnou hned.
- Člověk, který má titul z computer science, musí ovládat nízkoúrovňový přístup.
Fakt máte pocit, že některý z těch argumentů je relevantní pro toho našeho začátečníka a SAMOUKA (!!!)? Takže vy osobně jste se dokázal jako začátečník a samouk prokousat K&R? Tak to jste fakt dobrý, bez ironie. Ale myslíte, že ostatní budou taky tak dobří? A myslíte, že není dneska lepší cesta? Že vám to hrozně pomohlo? No to nepochybně - když někdo napoprvé zaběhne celý marathon, tak pak hravě zvládá ostatní tratě. Ale doporučovat to ostatním - to snad fakt ne :-)
K C a assembleru jako vyuce programovani se v dnesni dobe vraceji take univerzity a vedi proc. Programator neni jen clovek, co dokaze volat nejake funkce ci metody a pouzivat frameworky. Ale musi taky vedet, jak jeho toustovac funguje, jak nastavit 15 bit v promenne X apod, jak vypada datovy typ float v pameti (ptam se vas, vite to?). Svete div se, ze pak napriklad programatori nenapisou kousek procedularniho kodu, protoze umi jen OOP.
O tom, že by nějaká významná univerzita učila úvodní kurz programování v ASM tedy nevím, můžete uvést konkrétní příklad?
Jenže to je váš ideál programátora, že ví jak funguje jeho toastovač a umí nastavit bit v proměnné a ví jak vypadá float v paměti.
Člověk může napsat opravdu hodně kódu, který dělá, to co chce - a tohle všechno nevědět.
Mohli bych se tu bavit o tom, jestli je správné, že se takoví lidé progamováním i živí, ale to je úplně jedno.
Tenhle člověk se chce naučit programovat. Jestli začne v C, tak z něj možná jednou bude kvalitní a všestranný programátor - ale nejspíš se nenaučí nic a nenaprogramuje nic. Jestli začne v něčem vysokoúrovňovém, tak se relativně snadno dostane na hobby úroveň, kdy si pro sebe naprogramuje, co bude chtít. A fakt mu nebude chybět, že neví nic o tom, kolik bitů zabírá mantisa a kolik exponent. A možná se časem dostane i na tu profi úroveň - rozhodně s větší pravděpodobností, než když začne s C.
Jak vypadá float v paměti se vždy raději podívám do dokumentace. Nejčastěji totiž programuji v assemblerových jazycích na různých ne-x86 platformách a není to na každé stejné. Pokud si píši nějakou utilitku pro sebe, tak ji většinou píši v pythonu. A jak je tam nakládáno s čísly se mi moc líbí - ale mám skvělý pocit z toho, že je mi to může být úplně ukradeno.
Vůbec ale nechápu, jak je tohle relevantní v diskuzi, čím by měl zdejší začátečník začít.