V rámci prokrastinace ve zkouškovém období jsem si přečetl vcelku mladou knihu Think Python, která je určena pro začátečníky a jelikož o tomto jazyku jsem nikdy příliš moc neveděl, rozhodl jsem se, že to změním přečtením této knihy.
Předesílám, že předtím, než jsem přečetl tuto knihu, jsem žil v té představě, kdy jsem si o Pythonu myslel, že je to něco podobného k PHP, ale jen to má hnusnou syntaxi.:)) Ale zpět ke knize.
Jak už jsem řekl, kniha je určena pro začátečníky a představuje úvod do Pythonu. Na začátku se seznámíte se základními koncepty jazyka, přičemž autor důkladně na konci každé kapitoly vysvětluje, co každý výraz, který se v textu objeví, znamená. A že jich není málo. Klade také důraz na debugging, takže se snaží už od počátku pěstovat správné zásady při vývoji. A aby jste skutečně získali praxi a dokázali v tomto jazyce přemýšlet, v závěru kapitol je vždy řada cvičení, ke kterým jsou dostupná i online řešení.
Obsah knihy je dělen do těchto kapitol (ponecháno bez překladu):
- The Way of the Program Chapter
- Variables, Expressions, and Statements Chapter
- Functions Chapter
- Case Study: Interface Design Chapter
- Conditionals and Recursion Chapter
- Fruitful Functions Chapter
- Iteration Chapter
- Strings Chapter
- Case Study: Word Play Chapter
- Lists Chapter
- Dictionaries Chapter
- Tuples Chapter
- Case Study: Data Structure Selection Chapter
- Files Chapter
- Classes and Objects Chapter
- Classes and Functions Chapter
- Classes and Methods Chapter
- Inheritance Chapter
- Case Study: Tkinter Appendix
- Debugging Appendix
- Analysis of Algorithms Appendix
- Lumpy
Obsah je dělen tak, aby postupnš odkrýval aspekty jazyka čtenáří a přitom zachoval logickou kontinuitu.
Pochvalu si také zaslouží styl, jakým je kniha psána. Jedná se o srozumitelnou angličtinu a nejedná se o knihu, která by se v některých pasážích zbytečně “vykecávala”. Mám pocit (a to se u moc knih říci nedá), že autor přesně vystihl tu hranici, kdy napsal toho tolik, aby toho už nebylo příliš, ale akorát, a přitom to čtenář byl schopen stále pochopit.
A mimo to, že autor důsledně vysvětluje své kroky a důvody, proč postupuje v konkretní situaci právě tak či onak, mě velmi zaujaly i předposlední dvě kapitoly, kde se nejenže opět podrobně věnuje problematice debuggingu, ale dokonce řeší i analýzu algoritmů, kde se probírá jak časová, tak prostorová složitost, s tím, že se klade důraz na pochopení rozdílů ve vlastnostech základních datových struktur a kdy zvolit tu, či onu.
Zhodnocení
Pakliže o Pythonu nic nevíte a chtěli by jste si projít nějakým úvodem, pak tato kniha nebude určitě špatnou volbou. Jedná se o velmi kvalitní publikaci a je skutečně velká škoda, že kniha neobsahuje i pokročilejší problematiku, jelikož styl, jakým je napsána, autor perfektně zvládl.
A já už si nemyslím, že Python je jen jazyk s hnusnou syntaxí, ale řadím ho mezi rovnocenné jazyky s tím, že bych si i na tu syntaxi dokázal zvyknout. Takže tohle nebude určitě poslední kníha, kterou si v souvislosti s ním přečtu a těším se na nová poznání.
Web knihy: thinkpython.com
Kniha v PDF: Think Python in PDF