Diary-nagataka-シリコンバレーで働きたい!という夢への日々

外資ITで働くエンジニアが趣味や日々の事など書いてます(技術の話は別ブログ http://wanna-be-geek.seesaa.net/ )

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
  1. --/--/--(--) --:--:--|
  2. スポンサー広告
  3. このエントリーを含むはてなブックマーク

λの世界へ

卒論が終わってから、「Structure and Interpretation of Computer Programs」(略してSICP)という本を読み始めた。

(↑のAmazonのレビューは何故か原書に日本語版のレビューがつけられている^^;)

これはMITの教科書で、関数型言語のschemeを使って、タイトル通りComputer ProgramのStructureとInterpretationを紹介している。

なんと原文全文がwebで読めてしまうという何とも親切なMIT^^
http://mitpress.mit.edu/sicp/full-text/book/book.html

読んでるのは原書なので英語です^^;

研究室には日本語訳もあるんだけど、せっかくだから(?)英語版で無理して読んでます(いや~俺ってば見栄っ張りw)

なんでやり始めたかというと...カッコいいからw

だってLispってなんだかミステリアスな感じがするじゃんw

関数型ってなんか頭良い感じするじゃん(こんな事を言っている時点で俺の頭の悪さバレバレorz)

いや、本気で理由を答えると、関数型というプログラミングパラダイムに触れる事で、また新しい視野が得られるし、今までの手続き型やOOPの概念も新しい視野から見られるよ、的な文章をweb上で見たからです。

それにやっぱり、うちのBossをはじめ、関数型ファンというのは沢山いるようで(特にPaul GrahamなんかのLispヨイショぶりは凄い)、「何で?何が魅力なの?」と前々から思っていて、機会があれば触れてみたいと思っていたのです。

で、春休みに何を勉強しようかと悩んでいたんですが(いや、研究はどうしたってw)、選択肢としては
1:Javaでマルチスレッド
2:アルゴリズム
3:C言語中~上級
4:Ajax
5:コレ(SICP)
がありましたが、やはり関数型のミステリアスさ、格好良さ(?)に惹かれコレに決定!(まぁ結局これでアルゴリズムを書いてみたりしたいと思ってるから、選択としては2&5って事になるかな。)

たまたま小飼弾さんがプログラミングの学習として理想的な流れはLisp⇒C⇒etcという事を挙げられていたのも大きいかも(私は流されやすい人間なのです...)

で、久々の関数型なワケでございます。

関数型言語は二年の時に授業でStandardMLというイギリスのエディンバラ大学で開発されたという言語を習いました。

はじめは戸惑ったけど、これのお陰で「再帰」がよくわかるようになった^^

あと、関係があるものとしては、プログラム意味論という教科書を使った授業でλカリキュラスは勉強したか。

けれど、当時の私は「音楽音楽!サークルサークル!」という感じで勉強にはあまり興味を持っていなかったため、せっかくの機会も大分無駄にしてしまっていました。

今現在、この本を読みながら、関数型の不思議な感覚を改めて1から感じ取っているところであります。

現在1.1.7まで読了。

目標は春休み中に1•2章を読み終える事!

しかし今日やった練習問題のうちの一つで、俺が書いたコードよりwebで見つけた模範解答の方が二行短くて条件がスッキリしていて、やっぱり俺って処理を考える上でスマートに考えられていないなぁとガッカリしたorz

どうやったらスマートな考え方が出来るようになるのか。。

こればっかりは、ワタシのような凡人はまずは自分でコードを書いてみて、優れた解答と比較して自分との視点の違いを確認して...というのをひたすら繰り返すしかないのでしょう。


そうそう、さっき某(カリフォルニアで出会った)後輩のブログを覗いていたらなんと、彼は06年に既にこの本を読んで勉強していたようです!

いやぁ、彼には関心しっぱなしですわ^^;

彼は以前「よく、学生のうちに遊んでおけって言う人がいますけど、やりたい勉強を好きなだけできるのって学生のうちが最後じゃないかと思うんです」と言っていた。

それを聞いて本当に感心してしまった。

確かに、社会人になったら、勉強をする時間なんてないのかも。

もしあったとしても、必要な事を勉強するという事になるんだと思う。

今回の俺のように、単純に(何の役に立つのかあまり自分でもわからないし、直接自分の研究には関係ないけれど)興味から何かの勉強に時間を割くというのはしづらくなるんだろうな。

俺は彼のように勉強がデキル人間ではないけど、少なくとも勉強に対するスタンスは見習わないとと奮起しております!

 
で、schemeの話しですが、いつも括弧にイライラさせられています。。

SMLは括弧に煩わされなくて良かったのになぁ。。


まぁとにかく、私はついに(他の言語も大して出来ていないくせに)足を踏み入れようとしております、神の操る言語:Lispの世界へ。

そしてλの世界へ。

Hello λ(lambda) and ... hello so many parenthesis ... orz
スポンサーサイト
  1. 2008/02/24(日) 01:33:12|
  2. SICP
  3. | トラックバック:2
  4. このエントリーを含むはてなブックマーク

トラックバック

トラックバックURLはこちら
http://nagataka.blog50.fc2.com/tb.php/171-9c9f319c
この記事にトラックバックする(FC2ブログユーザー)

イギリスのエディンバラに行ってきました。

ドブリー ヴェチェル......なぜか、チェコ語。よかったですよ、イギリスのエデ...
  1. 2008/02/24(日) 03:13:58 |
  2. 海外旅行大好き!

イギリスのエディンバラって、どんなとこ?

ドブリ、ジェーニ......ロシア語で、こんにちは。イギリスのエディンバラ、よか...
  1. 2008/03/04(火) 22:43:29 |
  2. 海外旅行徹底ガイド
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。