日本でハリウッドVFXを制作! 「経産省アイディアボックス」 結果:  
●まとめエントリはこちら ●FAQ ●お問い合わせは左のメールフォームから

2016年12月22日木曜日

Pythonスタートブック + Progate

ひさしぶりの投稿です。
Melの勉強は、もうほとんどしてないのでブログ・タイトルも変えました。
(*Melとは3DCGソフト「Maya」で使われるスクリプト言語Maya Embedded Languageの頭文字です。Mayaのメニューから操作できるコマンドはほとんどがMelで実装されており、製作作業の効率化やより複雑な処理をするためにアーティストやエンジニアによって使われます。
MayaにPythonが実装されてからは徐々にPythonが一般化しつつあります。)

プログラミング言語でいうと、Arduinoとか、Processingを触っていましたが、最近はPython一択となりました。

そのきっかけとなった本が「Pythonスタートブック」だったのですが、なかなかの良書だったので感想含めて、おすすめな理由などを書いておきたいと思います。


Pythonの入門書の定番というと「Pythonスタートブック」と「みんなのPython」です。
どちらを選べばよいか悩む人も多いと思います。
       

「みんなのPython」はAmazonの書評で見て誤字誤植の多さが指摘されているとともに無料公開されている「みんなのPython Webアプリ版」を少し読んでみたのですが、後述するように専門用語が多すぎる感じがしました。
(ちなみに最近、みんなのPython 第4版が出版されたようです。)
プログラミングをある程度経験している人でPythonをいじるなら「みんなのPython」でも問題ないと思います、むしろそのほうがまわりくどくないかもしれません。

ただ自分の場合はできるだけ小さなノイズは取り除いたものを理想としていました。
少し迷ったのですが、@spx808さんのおすすめもあり、「Pythonスタートブック」に決めました。
この本は自分が今まで読んだプログラミング言語入門書では一番良かったです。
その理由は以下の二点です。
1)専門用語をむやみに使わず、平易な言葉で書いてある
2)必要な専門用語は概念的理解ができるようにしている。

普通の入門書では説明がされなしで、専門用語が使われていたり、あっても数行でおわることがほとんどですが、専門用語は初心者には鬼門だと思っています。
専門用語がしっかりと把握できてないことで学習に大きな影を落とすことは少なくないです。

このことを理解してない入門書は意外と多いというか、ほとんどがそうだと言っても過言ではないかも。
読む側も、解説する側も、一冊ですべてを解説できるとも思ってないようですし、ほかのサイトや書籍でわからないことを補っていくという勉強は不可欠という暗黙の了解もあるような気がします。

解説する人はその業界で慣れているので、当たり前の前の前ぐらいの言葉なんでしょうけど、
初心者には、そうでないってことがわからなくなっている人も多いようで、温度差は感じます。

この本では複雑になりがちな解説を、要点を絞り、段階を踏んで解説してあるので、理解しやすいです。
自分はこの本のおかげで長年の謎であった「オブジェクト」について少し理解ができました。
「オブジェクト」を使いこなせるようになったわけではありませんが、しっぽはつかめた感じがします。


あと「たとえ話」がわかりやすかった。
読む側に伝わらない「たとえ」は、定義の揺らぎがあったりするのですが、何度読んでもつかみどころがない場合は、だいたいそこから読み進めることができなくなります。
この本では、そのあたりも注意深く「例」を選択している印象があります。


この本の前半は、初心者にも手取り足取り解説してくれます。
後半はやや加速しますがでてくる新しいコマンドをひとつひとつりかいしていけば9章までは理解しやすいと思います。
10章は数学的な知識が必要となる事例がでてくるので、そこはネットなどで調べる必要があるかもしれません。


<補助教材>
難点をいえば、説明が丁寧なのでその、理論的な部分の説明が多くなり実践的な部分は比較的弱い感じがします。
それを補うためにProgateというオンラインプログラミング学習サービスを利用しました。

似たようなオンラインサービスはたくさんあるのですがProgateを選んだのは
1)1つのステップの内容が簡単明瞭
2)スライド式
3)図解がわかりやすい

ステップをよく考慮して、一つ一つのステップで要点をしぼってあり、簡潔にまとめてあるのは
「スタートブック」と似ています。
ただ解説は必要最低限で、アプリを作る作業を通して学んでいくやり方でちょうど真逆で、お互いに足りないところを補ってくれます。
ダブっている部分もありますがそこは簡潔なので読むのは苦にならない程度なのもよいです。

順番としては「スタートブック」で勉強して「Progate」で復習というのが一番良いように思います。
逆もやってみましたが、自分の場合は理解が進むのは、まず「スタートブック」でした。

「スタートブック」でもコードを入力したりするのですが、本を読みながらやるのとみないでやってみなさいというのは大きな差があります。
カッコの使い方ひとつとっても、いざやるとなると細かなルールを覚えておらずエラーになったりします。
そのあたりを「Progate」で確認しながら学習することもできました。


ただループや分岐の解説がでてくるタイミングはやや異なります。
おおよその対応は以下のような感じです。
スタートブック1~3章 : Progate PythonI
スタートブック4~5章 : Progate PythonII
スタートブック6~9章 : Progate PythonIII
(ProgatePythonIVは2017年公開予定)

PythonII以降は有料になりますがプラス会員なら一ヶ月で980円と安いです。


Progate自体の利点は開発環境を気にすることなくいつでも始められる。
動画ではなくスライドなので、見たい場所へのアクセスが素早くできる。
スライド1ページあたりの情報量が1~2点にしぼってあり、理解しやすい。よみやすい
イラストがわかりやすい。

問題点としては例題の文字列を一文字打ち間違えただけで、答えあわせはエラーになってしまうことです。
Print文で表示するだけならその内容は何であれ構文があっていれば通常はエラーになりません。
Progateでは回答の文字列は厳密に一致してないと不正解になりますが、それが「エラー」という形で帰ってくるので、最初の内は間違いをさがすのに見当違いなところばかりを見ていて時間がかかりました。
エラーが出たら構文だけでなく、出題との文字列の違いも確認したほうが良いです。
運営サポートにも連絡をしましたがそこは認識されているようで、近々修正されるかもしれません。



以上のように「Pythonスタートブック」+「Progate」で勉強を進めましたが、個人的には非常に良かったです。
これでプログラムが、作れるようになったかというと、そんなことはありません。
まぁFor文やIf文をつかった10数行のものならできますが、きちんとしたものを作れるようになるには、まだまだいろいろな方面の勉強が必要です。
今は別の方法で、そのあたりを強化していっています。

「Pythonスタートブック」+「Progate」からの一番の成果は、これまで見てもよくわからなかった、Webや書籍にあるPythonに関する解説が理解できるようになったことでしょうか。
少しづつですが前に進むようになったという感じです。

そんなわけで、「Pythonスタートブック」おすすめです。

次回「Pythonスタートブックにたどり着くまで」は以前にやってきた(そして失敗した)「Python」の勉強履歴を公開します。

 
















0 件のコメント:

コメントを投稿