読者です 読者をやめる 読者になる 読者になる

ファイヤードブログ

ディジタル・パブリッシングという観点から、Webサイト制作、電子書籍制作などを。※ブログリニューアル中

第3回 着手

着手

 着手、と言っても、何から始めたらいいのかの検討がつかない。

 ちょっとだけ覚えたJavaは使えそうか?でも「サーブレットでWebサービス作りました」なんてエントリは、はてなの「テクノロジー」カテゴリで一度も目にしたことがないぞ。よく目にするのはPerl, PHP, Python,それとRubyのどれかだな…。『初めてのPython第3版』なら持ってる。エリック・レイモンドがPythonが良いって言っていたから、でもとっくに挫折したしなぁ(注、2012年4月のこと)。それに「Python使って作りました」ってのも日本じゃあんまり聞かないよなぁ。ドキュメントやブログ記事が充実している言語の方が初心者にはいいはず。海外サイトは読めることは読めるけど、専門用語に慣れるまでは日本語でインプットしたい。PHPかな…。PEARとかSmartyとかあるらしい。でもなにそれ?しかも、またPHPをディスってる記事が人気になってるよ。うああ。PerlRuby?でもPHPが一番簡単なんだろう?でもコードを見比べると、なんかPHPのって読みにくそうだな。

 こんな感じで混乱していた。それでも結局は、どのような言語を選択しようともHTMLとCSSは使えるようにならなくてはいけないことには変わりないので、言語選択はとりあえず横に置いて、HTMLとCSSの勉強を始めた。
 まず、数多くあるHTML関連本の中から、発売されたばかりだった、翔泳社の30 LESSONSシリーズの『HTML & CSS 標準デザイン講座』を選んだ。概論を掴むのには良かったけれど、もう基本的な部分に少し踏み込んだ説明が欲しかったので、『Head First HTML & CSS 2nd Edition』をKindleアプリにダウンロードした。これはとてもいい本で、翻訳されていないのが不思議なくらいだった。ボックスという概念の重要性を強調してくれて、それを理解してからHTMLに対していくらか蒙が啓けた気がした。
 HTMLとCSSに並行して、サイトをスクレイピングするために、プログラミング言語を身につける必要があった。こちらはデータさえ得られれば書き捨てでも構わないので、適当に言語を選んだ。『Spidering Hacks』というスクレイピングの本のコードの大部分がPerlで書かれていて、なおかつ「正規表現といったらPerl」というようなことをどこかで読んだので、Perlに手を出した。結城さんの『Perl言語プログラミングレッスン 入門編』を読んだ。
 さらにもう一つ、サッカーのフォーメーションをブラウザで表現するためにJavaScriptが必要だということがわかっていたが、負担を増やしてしまいそうだったので、手をつけないでいた(そうはいっても、2月にenchant.jsに少し手を出したので「サイ本」を持ってはいたの)。
 ここまでがだいたいゴールデンウィークに入る前までのこと。(1236字)

今回の失敗の研究

 この後明らかになっていくけれど、ここでPerlを選んだのはちょっと失敗だった。結局は、RubyのNokogiriでスクレイピングを行った。ただ、このときPerlを選んだのは、スクレイピング以外にも、サーバー側で動かすときに、いわゆる「Perl/CGI」を実装することもにらんでいたからだ。第二段落にある「PerlRuby?」の答えとして、このPerl/CGIがあるのではないかと考えた。
 しかし、これは十分な解ではなかった。というのも、丸善丸の内店のPerlのコーナーの規模が明らかにPHPRubyなどと比べて狭かったからだ。プログラミング言語の盛衰については無知に等しかったが、Perl/CGIの棚に10冊も類書が並んでいない状況を見て、Perl/CGIって方法は衰退してしつつあるのか、ならばそれは採用すべきなのかと不安になっていた。
 ちなみに、この夏に『WEB+DB PRESS』の総集編が出て、そこに収められていたvol.68の小飼弾さんの解説が上の悩みを解決することになった。「とりあえずビール」のビールがPerlだったという説明、うまいなぁ。

 もう一つ。そもそも、初心者が言語にそんなにこだわる必要があるのか?という問題もある。けどこの辺は会社に属しているか否かと言ったことも関わるので一概にはいえないのだが…(例・Aさん「Perlは古い。俺は書かない」Bさん「私ははてなに務めているので古いとか関係ない」)。
 「誰も、消えてしまう言語でプログラムを書きたいとは思わない」(ポール・グレアム)というが初めて触れるものにはその判断がつかない。というか、言語が消えるというのはどういうことなんだろうか。『WEB+DB PRESS』の総集編で小飼さんの2000年代中盤の連載を読むと、結構「Erlang」という言語について言及している。しかし、この連載以外でErlangについて言及されているのを私は寡聞にして知らない。 =>12/2 これを書いた翌日からtechcrunch等でErlangの使用例を2,3見かけた。恥ずかしい。=>ここ
日本のスタートアップ界にもっとハッカーを! TechCrunch Tokyo Hackathonへのお誘い | TechCrunch Japan
とか