楽しくなきゃ、プログラミングじゃない!
プログラミングを学ぶとき、
言語の文法などを勉強するのは退屈なものです。何かつくりたいものがあり、
それを自分の手でつくることが
達成感となり、楽しさにつながります。本書でも一般的なプログラミングで
必要な要素がひと通り登場しますが、
簡単なゲームをつくりながら基本をおぼえます。そして、だんだん難しくなるパズル問題を通じて、
プログラマを育てる脳トレパズル 遊んでおぼえるPythonプログラミング&アルゴリズム(増井 敏克)|翔泳社の本
アルゴリズムを考慮した「使えるコード」が
身につくようになっています。
プログラミングで一番苦手なのは高速な、もしくは複雑な処理をするためのアルゴリズムを理解することです。たいていの単純なビジネスロジックであればがんばったら何とか読めるのですが、いわゆる頭のいい人が考え抜いて出来上がったアルゴリズムはいくら読んでもその意図するところすら分からなくて途中で脱落してしまいます。クイックソートとか二分探索程度ならいけるんですが、それより複雑になると誰かに開設してもらわないとまず理解できません。
この苦手意識を解消したくて以前本を買って読んだのですがさっぱり分からなくてすぐに読むのをやめちゃいました。
ニューメリカルレシピ・イン・シー 日本語版―C言語による数値計算のレシピ
- 作者:Press,William H.,Vetterling,William T.,Teukolsky,Saul A.,Flannery,Brian P.
- 発売日: 1993/06/01
- メディア: 単行本
そのとき以降もプログラムは書き続けていて何とかやれていますが、さいきんまたもやアルゴリズムに明るくなりたいと思うことが増えてきたので改めて本を買って読んでみました。
本書はタイトルに脳トレパズルとあるとおり、パズル的に問題を解きながらアルゴリズムが学べる一冊になっています。といってもいうほどアルゴリズムの話はなくてほんとうにただのパズル的に課題をプログラミングで解決するだけの内容です。序盤から中盤にかけては初歩的な内容で分かりやすかったので楽しかったのですが、中盤以降はパズルというよりも出てきたお題をプログラムで解いてみるみたいに感じられて前半ほどは楽しめませんでした。
そんなわけで途中からは流し読みになっちゃいましたが、サンプルを写経して動作を確認してから自分であれこれ改造することでアルゴリズムへの理解は深まったし、サンプルがPythonだったおかげでPythonも勉強できたしいい勉強になりました。残ったサンプルは暇なときに実装してみようと思います。