プログラミングを始めようと思ったら、多くの人は書店に行って初心者向けの教科書を買ってくると思う。最近はよく出来たネットの教材もあるけれど、体系的な知識は紙の本の方が効率よく学べる気がするんだよね。特に全く知らない知識をゼロから身に着けようとする場合、上手い検索ワードを思いつかないがためにネットだと学習効率が落ちる。
まぁ、紙の教科書にもデメリットはある。僕くらいの重症厨二病になると動物本ことオライリー、しかも英語で書かれた原書に挑戦して今まで何度玉砕したことか…。
そんなことはどうでもいいとして。
それで書店から帰宅して意気揚々とプログラミングの教科書を広げるものの、実際に手を動かしてコードを書き始めるに至らない。
なんというか…めんどくさいんだよね。
パソコンの前に物理的に移動するのがまずダルい。本屋近くのスタバで意識高そうに分厚い動物本を開いた日にゃそもそも手元にパソコンが無かったりする。それでサンプルコードはとりあえず家に帰ってから動かせばいいや…などと思い直して読み進めるんだけど、知識だけでわかったつもりになって結局1行もコードを書かぬままプログラミング学習熱が冷めていく…。
しかもとりあえずそこをクリアして重い腰を上げパソコンを開いたとしても、次の難関が実行環境の構築である。
理想としては映画マトリックスみたいにターミナルの黒画面を謎めいた緑色のコードでドババァァァと埋めたい。この世のプログラマの半分くらいはアレに憧れてコードを書き始めたと思ってるくらいだ。でも現実ってのは退屈なもんで、本題のコーディングに入る前に開発環境ってのを作らないといけない。そうしないとマインスイーパーとソリティアしかできない普通のパソコンに過ぎないのだから。
ところが初心者にとって環境構築って結構ムズいんだコレが。
よく、MacOSなら最初からPythonの実行環境が入っているからカンタンと言われるけど、最近の教科書は冒頭のおことわりページに「本書は3.6での動作を前提としており…」などと書かれていて、MacOSが最初から用意してくれている2.7だと動作要件さえ満たせずゲンナリ。実際にPython2.7じゃ、ド基礎であるHello Worldや四則演算のサンプルプログラムさえエラーになる可能性がある。
んでしゃーないから教科書に従ってコンパイラなどダウンロードしてインストールを試みるも、意図しない警告が英語でドバーッっと出てきて先に進まない。そもそもパソコンの管理者パスワードを忘れてインストールが出来ない。
あーあ、俺の人生っていつもこうだよな…。めんどくせ…。
こうしてせっかく買った分厚い動物本は積読山の地層となっていくのだ。
Pythonista 3
こんだけ話題になればプログラミングに挑戦してやろうと思っている人は相当いると思う。そしてその中には発達障害当事者も含まれるハズ。この両方を掛け合わせた僕にとって、仕事に使えるレベルにPythonを理解するのは苦労の連続だった。
僕はとにかく集中力がない。パソコンの前にジッと座れないと書けないってのがプログラミング最大のバグだと確信している。しかも飽きっぽいので1つのことに長いこと興味と努力を集中投下することができない。何年も、場合によっては生涯にわたって研鑽を続けないとあっという間に陳腐化するのもプログラミングのバグだ。
…とか言っときながら一方では四六時中Twitterを開いている僕がいる。プログラミングは面倒くさいのに何故Twitterはもう9年も飽きが来ないのか。それは手元に常にスマホがあって、いつでもどこでもワンタップでアクセス出来るからだろう。
ここに大きな気付きがあった。
わざわざパソコンの前に移動して、キーボードをクラッシュしたくなる衝動と戦いながら開発環境をこしらえなくてもプログラミングが出来るなら…。そしたらTwitterみたいなノリで空き時間にちょこまかコードを書くようになるのでは!?きっと集中力はあまり必要ない。そもそもPythonの初心者向けのサンプルコードなんて10行くらいのもんだ。小さなスマホの画面でもTwitterの140字のノリでポチポチ一瞬で書けるだろう。
というわけでこちらが神アプリ「Pythonista 3」でございます。
これ、なんとPythonの実行環境をアプリでまるごと提供してくれちゃうヤバいやつ。だからiTunes storeで指紋をピコッしてからしばし待ってるだけでマルっと開発環境ができちゃう。このアプリがどれくらいヤバいって、例えばiPhoneでiPhoneのアプリを作れてしまう。実際にiPhoneのトップ画面に自作アプリのアイコンを表示させてワンタップで起動することもできる。
え?まだアンドロイドで消耗してんの(=^・・^;=)
今すぐ林檎教に入信して銀座の神殿に10万円くらいお布施してきてください。
親指プログラミング
というわけで僕はすっかり親指プログラマーになってしまった。もちろん小さいスマホ画面でポチポチするより、パソコンの前でガッツリ集中したほうが効率が良いのは明らか。それでも集中してガッツリ取り組むのが苦手なら、どこでもプログラミングできる環境をポケットに忍ばせてTwitterをやる時間にちょっとでもコードを書いたほうが上達が早い。
そんなわけでとりあえず最後にPythonista 3の威力をシンプルに示すコードを書いてみよう。
まずはファイル一覧の左下の「+」を押してEmpty Scriptを選択する。これはJupyter Notebookで新しいセルを開いたような状態。numpyやmatplotlib、sqlite3のような代表的なライブラリはpipしなくてもimport可能。この時点でかなりヤバい。しかもStaShと呼ばれる「公式脱獄ツール」を組み込めばpipでコンポーネントを追加することも可能。
…とはいえ僕が試した限り、pip出来たからといってiOSのサンドボックス上で動作するかは別問題。自分でpipしたライブラリは一筋縄では動かないと考えておいたほうがいい。
次に下記6行をコピペして、画面右上の「▷」ボタンを押す。すると…渦巻き関数が描けてしまう(=^・・^=)!ヤバい!
import numpy as np import matplotlib.pyplot as plt theta = np.arange(0.0, 4 * 2 * np.pi, 0.01) r = 0.5 * theta plt.polar(theta, r) plt.show()
僕は「Hello World」とかじゃなく、こうやってビジュアルで実行結果を確認できるとタギる!しかも渦巻き関数!厨二病炸裂である。
…いかがでしたでしょうか。
今までのトピックとは一線を画すけど、今後はちょいちょいPythonista 3とiPhoneを使ってPythonで遊んでいこうと思う。次回はPythonista 3のマークダウンエディタに文字数カウンタ機能を追加してみるつもり。乞うご期待(=^・・^=)♬