Google検索

Google
 

2008年1月30日水曜日

[language] Objective-C, Java, Perl, Haskell, Scheme そして Ruby…興味のあるプログラミング言語の話

Mac OS X ではありがたいことに、いろいろな言語を試すことができます。
私は汎用機用の開発をしていた関係でCOBOLだとか、ツール作りでCなどをよく使う機会がありました。独立してからは Visual Basic や VB.NETや、JavaScript、Perlを使うようになりました。(さすがにMacではVisual BasicはMicrosoft Office用のものしか使えませんが…まあ、今のところはそれで十分かなぁ)

最近興味を持っているのが、RubyとHaskellとJavaScriptです。これからいじり倒して、ちゃんと使えるようになりたい!

Rubyは前々から知ってはいたものの、自分の中でみんながなぜ「イイ!」というのか理由が実感できてない。これは使い倒すことでそのうち実感できると思います。もっとも、それだけ使い倒すとなると on Rail を使って、サイトを構築してみればわかるのかなぁなどと思っています。本は「プログラミングRuby 第2版 言語編」が評判が良いようですね。買ってから気がついたのですが、原書の「Programming Ruby: The Pragmatic Programmer's Guide」と同じなんですね。両方買ってました…

HaskellはGHCがメインストリームらしいですが、Leopard用のパッケージが出ていない。なのでうちではPBG4+Tigerな感じで使っています(これがPBG4をLeopardにできない理由のひとつだったり…)。あちこちのサイトや本を覗いて思ったのですが、大学関係者には関数型の言語が好きな人が多いように思います。数学や物理の素養がある人が多いからなんでしょうか。お勧めの本は「ふつうのHaskellプログラミング ふつうのプログラマのための関数型言語入門」です。私は今これで勉強中です。

Schemeは有名な"魔術師本"「計算機プログラムの構造と解釈」がありますね。これをきっかけに知ったのですが、ちゃんと理解しているとはいえないので、これも使えるようになるつもりです。SchemeはLisp系の言語ですが、私はLispには大学時代のトラウマ(?)があってちょっと敬遠気味でした。Lispは乗り損ねたので、今ひとつ苦手でした。(故中西先生の講義を受けたことがあるにもかかわらず…うう、不勉強ですみません<(__);)>)でも使えないのはもったいないですよね。苦手意識を克服するところからはじめたいと思います。(魔術師本(本の表紙が「魔術師」とか「錬金術師」に見えるのでそういわれているらしいです)は敷居が高い!いや、そんなことを言っていてはいかんのですが、他にも良書がありましたらお教えいただければ幸いです)

Perlは本気でつかうと、便利ですね。すっかりファンになりました。書き方がいろいろあって、私なぞはまだPerlらしいスタイルにはなってないけど、「"ラクダ本"プログラミングPerl〈VOLUME1〉, プログラミングPerl〈VOLUME2〉」片手にコーディングするのは楽しいです。奥が深いし、何より便利に使える仕組みがいろいろとそろっているのがありがたいです。Perlを評して「Webプログラマの接着剤」という表現を見たことがありますが(確かオライリーのHackシリーズ本のどれか)「言い得て妙だなあ」と思いました。

Objective-CはCocoaに採用されましたから、これから長い付き合いになりそうです。gccでかなりまえに採用されていたとは、Cocoaが出てくるまで知りませんでした orz

JavaはMacのプログラムを(無理やりにでも)Windows用に使えるようにできるということで、いいかも、と思います。(そういう開発スタイルがいいかどうかはさて置き)
まあ、JavaはVMを使うのがよくもあり悪くもあり…と思ってましたが、最近はマシンパワーもあがってきて、VMの性能も改善されて、昔よりは使い勝手が気にならなくなってきましたね。AWTではなく、Swingが出てきたのもいいと思います。

JavaScriptはなんといっても手持ちのブラウザがあれば試せる手軽さがいいですね。かなりいろんなことができるし、GWTのようなものを使うことで表現力が格段にアップできますね。JavaScript+Perlとかそういう組み合わせでできるのはJava EEまでいかなくてもいろいろできそうなので、そんなにPage Viewのない個人サイトでは手軽さがいいかも。PerlもMOD_Perlとかにすれば早いんですけどね…まだ自分的にはコンフィギュレーションのしかたがいまひとつ…(--;

トレンドからは数年乗り遅れている感じで恥ずかしいですが(^^;
やはりプログラミングは楽しいなと思います。これからもいろいろ挑戦していきたいですね。

追記:プログラミング言語というわけではないですが「正規表現」はわかると楽しいです。「BNF記法」も理解していると、あちこちでそういう表現を見かけると「ニヤリ」とできるので、まだの方は是非お試しください :-)

0 件のコメント: