Web開発ではどの言語を使ったらよいか
大規模Webサイトとか、業務システムを作るならつべこべ言わずJavaにしとけと個人的には思っているのですが(.NETは詳しくないので)、次のようなシチュエーションを良く聞きます。
- さくっとWebアプリを開発したい(or PHPの資産を活用したい)
- 型安全が欲しい
- パフォーマンスも良い方がいい
- Javaはめんどくさい
- .NETはお金がかかるから避けたい
こんな時に、HHVM + Hacklangは良い検討対象だと思っています。理由としては、
- PHPの資産が使える
- 型安全である
- HHVMは速い
僕のブログでも下記の記事で触れてきました。
- HHVM Hack (hacklang) を使った型安全なWordPressプラグイン開発で必要なこと
- GCE上のDebianに Nginx / HHVM で 23.5msecでレスポンスする 爆速WordPress立ててみた。
しかし、Web上の記事をみてもあまり普及している感じがしないです。理由として考えられることは
- PHPでいいじゃん(できることは変わらない)
- 現時点でサポートする開発環境/エディタが充実していない
- 情報が少ない
- HHVMをホスティングできるレンタルサーバーがない
ということがあると思います。
もともとPHPの危ないポイントを回避しながら使いこなすことができる生粋のPHP職人の方々は素直にPHP書けば良いでしょう。しかし、PHPは罠だらけの言語です。できれば触れたくないと思っている人も多いです。一方で、技術の完成度というのは、いかにそれが使われるかにかかってきます。例えばJavaScriptはパフォーマンスという点では不利な言語でしたが、複数のWebブラウザによるのスピード競争の結果、最も速く、最も開発環境が充実したプログラミング言語になりました。そして、サーバーサイドのそれはPHPやJavaです。
ざっくり言って、PHP+型は夢の組み合わせです。Hackは無理なことをせず、それをうまく実現しています。静的型付け言語としてはScalaやGoもありますが、HackはPHPと同じくWebを前提としている言語として価値があると思います。
どのように学べばよいか
日本語の情報なら、下記の電子書籍があります。
現時点では英語が読めないとHackを学ぶのは厳しいですし、英語が読めるならこの本の内容は公式ドキュメントでカバーできるのですが、はじめの取っ掛かりには良いと思います。
技術評論社よりePub版も販売されていますが、僕はAndroidとWindowsではソースコードを綺麗に表示できるアプリを見つけることができなかったため、読み切りだと割りきってKindle版を買うことをおすすめします。
そこから先は、公式サイトのチュートリアル、公式ドキュメントこれに尽きると思います。
FBIDEがリリースされたら熱そう!
上記チュートリアル、使ってみるとあれって思いませんか?リアルタイムの文法チェックやコード補完がサポートされています。どこにそんな高級エディタがあるのでしょう。現状vimとemacsしか選択肢がない言語です。ではこの高機能なエディタは、チュートリアル用に作られた専用プログラムなのでしょうか?
これは、FBIDEのサブセットではないかと思います。下記ビデオで紹介されています。
Introduction to FBIDE - Hack Dev Day
シンプルでクールなWebベースのIDEのようです。リリースされたらものすごいワクワクします。
Hackは新しい言語なので、型推論など便利な仕組みを持っています。そして優れたIDEがリリースされれば鬼に金棒ではないでしょうか?
そういえば、Hackの文法チェックコマンドは hh_client
とタイプします。これも、IDEのバックエンドで使われるための布石のような雰囲気がします。FBIDEにかぎらずHackの開発環境をこれで作ることは可能のような気がします。例えばHackのEclipseプラグインなどを作ることもできるのではないでしょうか。
FBIDEがリリースされたら本気出す?
いつ来るかわからないFBIDEを待っていてHackの勉強を怠るというのは、技術者の姿勢としてはよろしくないです。現にいま使うことができる言語です。このブログでもWordPressのプラグインが作れることを紹介しました。なんといっても、PHPのエコシステムに乗れば、すでにほとんどのことができます。2014年も残り3ヶ月あまりですが、今年中に勉強する言語としては、最有力であると思います。