40代から始めるプログラミング⑤~虹色の大蛇

 プログラミングの勉強を始めて、二週間ほど経過しました。その間、長期休暇を挟んだものの、イベントが多々ありあんまり手が付けられずにいました。では、平日はどうかというと、会社が四月から電車通勤に戻ったので、往復の一時間ほどは専念できるようにはなりました。集中し過ぎてうっかり乗り遅れることが一回あるほどで車通勤の頃よりも優れた効率性と言えます。
 ただ、普通の資格の勉強なら、この痛烈インプット可能な読書時間は非常に良いのですが、プログラミングはアウトプットが非常に重要で、実際にタイプし実行しないと理解が浮ついているように感じます。
 これを補う形では、休日のPCを利用した実践による学習が必要なようです。IPAの試験では、インプットとアウトプットを等分に持っていく、具体的には、論述なら小論文一本と同じ時間午後1の復習にあてることで効率的な学習ができることは体感で理解していました。
 しかし、未知のジャンルのプログラミングでは培ったノウハウがありません。この為、「スキル:IPAの試験対策」の解像度を少し下げ、というよりかはもう少し俯瞰的に捉えて「スキル:効率的な学習法」として再編成する必要がありそうです。
 なので、プログラミング学習における、休日しか取れないアウトプットをどのように平日に采配するか、を検討します。
 電車の中は基本的に、パーソナルスペースがごく限られているのでノートパソコンを持つ訳にもいきません。舌打ち待ったなしの満員電車クソ邪魔中年になるのは簡便なので、必要なのは、タブレットやノートといったガジェットではなく、省スペースなデバイスです。広義のダウンサイジングと言えます。
 スマートにスマートフォンの利用を思いつきました。ここですぐに思いつかず、本という前時代の学習教材にこだわるのは、私が基本的にガラケーユーザーだからです。IPhoneも持ってはいるけど音楽プレイヤーのIPodが時代に淘汰されていなくなった為、代替利用の私にとってはIPhoneはIPod(仮)という認識です。
 あったあった。「Python Editor」。
 これで電車の中でも入力可能! あれ、フリック入力、’’や()がすぐ出ねえ。ダル。まあ、ないよりマシか……。
 そんな訳で、インプット、アウトプットの両立が可能な学習環境になりました。
 現状では、二週間の継続の結果、「引数」や「戻り値」といったプログラミング用語にも慣れました。また、構文中のインデックスの位置から、動作や仕組みがなんとなくは分かるようになってきました。説明の補助があれば、コードもぼんやりと理解は可能です。準備段階の初心者は越えて、初学者にランクアップしたような気がします。
 このぼんやりさ加減とそれが少しずつ晴れていく様子は、近年はほぼすべてのことが慣れで仕事が完了できる自分には逆に新鮮な体験でした。新卒はこんな不安なんだなあ、という仮想体験にもなり、興味深い知見と言えます。
 さて、今回の目標はPython 3 エンジニア認定基礎試験を06/01に取得です。この合格を100とした時に、私の立ち位置は現状10,15ほどでしょうか。このままでは、キャパシティ計画において変更を余儀なくされることでしょう。というか、受験料11000円は高すぎる。私の会社は合格すれば受験料建て替えのシステムなので、実費は非常に不味い。安全マージンは十分に取らねばなりません。
とりあえず、『独学プログラマー』を読み終わったので二周目に入りました。このループではテキストの参考なしで、そらでコードが書けることが抜ける条件なので、あと四回は必要でしょうか?
 さて、初学者の私から初心者のあなたへ。
 参考書では「idle」と入力し、対話型シェルと呼ばれる一つのコードに対し一つの実行結果を示すモードでの操作を促されますが、お気をつけ下さい。
例えば、
x=10
while x > 0:
print("{}".format(x))
x -= 1
print("Happy New Year!")
のように、変数xが10から始まってループ一回につき1づつ下げていき、0までの間その数字を表示し、0になったらHappy New Year!と表示するコードです。
これは一問一答の対話型シェルでは、構文エラーになります。whileの方で一問、Happy New Year!で一問扱いになる為です。
 このことにずいぶん悩まされましたが、これはメモ帳かなんかにこのコードを書いて実行させるスクリプトモードでないと実行できないようです。
 知るか!
 独学ではエラーの詳細が分からないため、エラーの詳細を指導してくれるメンターが必要なようです。めげそう。


この記事が気に入ったらサポートをしてみませんか?