本ブログの予定
LLを中心としたプログラム開発
本ブログ最初のエントリなので、これからどのような方向性で記事を書いていくのか、説明しておきます。
本ブログは「LLを中心としたプログラム開発」の記事を書いていくつもりです。以下、くわしく述べます。
LLとは何か?
「LL」とは「Lightweight Language」を略した英語*1であり、「軽量言語」を意味する。
たとえると、自動車でいう「軽自動車」とか、音楽でいう「軽音楽」、
あるいは小説における「ライトノベル(軽小説)」のようなものだろうか。
LLのメリットは、(とくに小規模での)開発の負担が軽いことにある。
逆にデメリットは、プログラム自体の実行速度がたいてい遅いことだ。
なぜLLなのか?
LLでない、たとえばJavaやC++のような言語も、いちおう私は読み書きできる。
しかし、ブログで気軽に読み書きするのには向かないのではないか、と考えている。
そもそもインターネット上のWebで流通するコンテンツは一般的に軽薄である。
小説でいえばライトノベルのような、軽いコンテンツのほうが流通しやすいのではないか。
もちろん私がLLを選んだ理由は、こんな軽薄なものだけではない。
しかし、LLを選ぶ理由自体を、このブログのコンテンツにしたいので、
本格的な説明は後回しにしたい。お楽しみは後に取っておくことにしよう。
LLで何を開発するのか?
LLが得意な分野にWebアプリの開発がある。しかしあまりにもありふれており、差別化が必要だ。
いっぽう、はてなの技術系ブログやはてなブックマークで今流行している開発テーマが、機械学習。
そこで機械学習を利用したアプリを作ろうと考えている。ただ、それは残念ながら今のところ公開予定はない。
オープンソースでソフトを開発して、そのソフトのことを書くのは理想だが、諸般の事情でそううまくいかない。
だからけっきょく、ブログ上で公開するコードは、ユーティリティ的なツールやTIPSが多くなると思う。
ただ断片的なTIPSだけでなく、機械学習のような大きなテーマにもたまには触れたいと考えている。
LLでどのように開発するのか?
開発手法としては、LLにはアジャイルが適している。
私がつねに採用するわけではないが、テストファーストといった手法がある。
設計とテストは開発においてかなりの比率を占めるので、少しは触れたいと思う。
デバッガ、フレームワーク、データベース、ツール、サイトなども機会があれば触れる。
どのLLなのか?
代表的なLLには、JavaScript、Perl、PHP、Python、Rubyといった言語があり、それぞれ一長一短の特徴がある。
さしあたりは、JavaScriptを中心に扱おうかと考えている。というのは、JavaScriptは今人気の言語だからだ。
サンプルコードを書いたときに、読者が読める、知っている確率が一番高いだろうから、ブログに書くのにも向いているだろう。
もうひとつメインの言語にしたいのは、Ruby。これは読み書きのしやすさといった理由から。
しかし、もっとマイナーな言語も扱っていきたい。たとえば?
たとえば、Smalltalkとか、Lispとか。マニアックだが、洗練された言語だ。
もっとも、これらがLLかどうかは微妙だし、需要があるかどうかも分からない。
しかしメジャー言語だけ扱っても、他のブログと差別化できないから、たまには触れていきたい。