33歳、プログラミング始めてます

やろうと思った時が始め時だと思うので 34歳、今日からプログラミングを始めます : 941::Tech

同じように思い立ってから一年ほど、プログラミングの勉強をしている。時間の割に進捗がしょんぼり、かつ寄り道回り道しまくり。

とはいえ、最近はようやっとやりたいことがみつかり方向性が定まってきたので、

  1. Vagrant入門 (全13回) - プログラミングならドットインストールを参考に Linux な開発環境を Windows な ThinkPad 上に作り、
  2. Sinatra入門 (全17回) - プログラミングならドットインストールを参考に Ruby と Sinatra で Web アプリを作り、
  3. それを改変して体重記録用 Web アプリを作って Git でバージョン管理し、
  4. できたアプリを Heroku にデプロイした。
  5. コピペばかりじゃイカンッ!とパーフェクトRuby (PERFECT SERIES 6)を購入するも、
  6. 手を動かさないと寝てしまうzzz なので、「15章 コマンドラインアプリケーション開発」「16章 Webアプリケーション開発」を写経し、 ← イマココ!!

というところまで来ている。これが終わったら、次は写経中に浮かんだ疑問を潰していくつもり。

進捗の情けなさにめげないために

一児の父として、

  • いつの間にか五十音をひらがな・カタカナ双方で読めるようになり、
  • 「難しいっ!」と諦めていた自分の名前の書き取りが、誰でも読めるレベルにまで上手になっていたり、
  • 「時計の長い針が1になったら出かけるよ…」などと説明していたら、ある日突然「1は5分でしょ」と自慢げに教えてくれたり、

な4歳の息子を見ていると、自分のヨチヨチ歩きっぷりにしょんぼりすること日常茶飯事。それでも、独学でやってる初学な自分が諦めずに続けられたのは、

試して壊してまたやり直して…

が、何の遠慮もなくできたからだと思う。どんなに開発環境がぐちゃぐちゃになっても、vagrant destroy して vagrant up すれば綺麗サッパリ元通り。

どんなにコードがぐちゃぐちゃになっても、Git でやらかしても、rm -rf して git clone すれば綺麗サッパリ元通り。

とりあえずやってみよー、な出たとこ勝負にかかるコストの異常なまでの低さに、だんだん失敗がつらくなくなってくる。また、

Web アプリをインターネット上にのせる

のがすごーく簡単なので、拙くとも努力の成果を日々享受できるようになり、やる気がじわじわ出てくる。これも大きい。

レンサバ、VPS、PaaS… 手段はよりどりみどり。

なぜ Ruby を選んだか

強いて言えば「必要に迫られて」。Pro Git日本語訳の最中に Ruby のスクリプトを修正しなきゃいけなくなって、なんとなく馴染みがあった、くらい。

で、櫛井さんがここであの言語と仰ってるのはたぶん Ruby だと思う。

Pythonのおかげで、プログラミングの基礎を学ぶことができた。たとえば、式(Expression)と文(Satement)の違いをいままで僕はわかっていなかった。Rubyは文にも返り値があるので、式と文を混在させていてもなんとなく書けてしまう。

またオブジェクト指向プログラミングとはどういうものか、ある程度わかってきた。Rubyを知っているだけだと、果たして自分が今書いているコードがオブジェクト指向的なやりかたに則っているのか確信を持てなかったりする。というか、Railsばかり使っているので、Railsの流儀が客観的にみてどの位置にあるのか、遠い視野で理解する機会がなかった。
パーフェクトPythonとパーフェクトRubyを読んでいる - ブログより日記、そんなふうに考えていた時期が俺にもありました

異論反論はもちろんあるのだろうけど、どうも Ruby は「そこそこ動いてしまう」「なんとなく書けてしまう」言語らしい1

ま、裏返せば「取りあえず動くものが作れる言語」なのかなぁ。自分にとっては、そのゆるい感じがありがたい。

「師匠」の存在、プライスレス

プログラミング初心者に本当に必要なのは情報ではなく師匠という存在だと思う : 941::Tech

「俺についてこいっ!」タイプの師匠ももちろんプライスレスなのだけど、勉強してるときの「あーっ、そういうことか!」な気付きのきっかけをくれるタイプの師匠がすごく欲しい今日このごろ。

変数とは、配列とは、条件分岐とは、みたいな基本のきに始まり、プログラミングの世界は「概念」が山ほどある。その一つ一つを、自分で噛み砕いて理解していくのは、それはそれはとてもしんどい。

パーフェクトRuby の書評を探していて見つけたブログ せかいや2、学習感想文と題して各章を噛み砕いてメモ書きされてるのだけど、

師匠(Rubyの分かる先輩)からメールが来ました。

「インスタンス変数が分かってない?」
【Ruby】パーフェクトRuby 学習感想文 ~余談:インスタンス変数について - せかいや

とか、

attr_accessorの定義場所が分からないー、って書いてたら 師匠からメールが来た
【Ruby】パーフェクトRuby 学習感想文 ~余談:プライベートメソッドの定義場所 - せかいや

弟子が行き詰まるたびに出てきてくれる師匠な感じ3、まさに理想形。羨ましいです。

ま、無い物ねだりしてもしょうがないので、ここは一つ腹をくくってそこかしこで行き詰まっていく所存。


もともと櫛井さんブログのファンだったのだけど、年が近い、同じく一児の父、プログラミングを始めたばかり、ジョギングもやってるよ!ということが分かり親近感わきまくってダラダラ書いてしまった…一度会ってお話してみたいものです。

素人どうし、お互い頑張りましょう。


  1. TIMTOWTDI な Perl もうわ、なにをするくぁwせdrftgyふじこlp

  2. おそらく、Pro Git 日本語訳の誤字修正プルリクエストを送ってくださった方が書かれてるブログ

  3. 師匠はこの方だと思うのだけれど…