人気ブログランキング | 話題のタグを見る
関数型言語とSQLはどこか似ている
 SICP を読むための下準備として「もうひとつの Scheme 入門」でShcemeを勉強している(というか、やっと一通り読み終わった)。

 で、Haskell と Scheme という2つの関数型言語に入門してみて、「関数型言語でプログラムを書いているときの(頭の)感覚が、なんとなく、SQLを書いているときの感覚に近いなぁ」と思った。

 似てると感じた点を箇条書きにしてみると、
  • "how" ではなく "what" を書くということに主眼が置かれている点
  • 言語の指向性がはっきりしている点
    • 関数型言語は関数を、SQLは集合を、取り扱うということがはっきりしている。これに対して、C とか Java は、取り扱いの対象が明確ではない。
  • 代入が無い点(これはちょっと強引かw)

 結局のところ、「"手続き型言語とは全く違う" ってところが似てる」という気がしなくもないw プログラムの中に SQL を書くのが嫌がられるのも、要は、全く違う考え方の言語が一つのプログラムの中に混在するのが嫌だって事になるんだろう。

 まぁ、上の話が妥当かどうかは別にして、関数型言語を勉強し始めてから、SQLが妙に得意になりだしたのは間違いない気がする。SQLが苦手な人は、直接SQLを勉強するだけではなく、関数型言語を勉強してみるのも一つの手だと思う。


*ちょっと調べてみたら、手続き型言語/非手続き型言語という分類が既にあったらしい。で、関数型言語と問い合わせ言語(SQL)は、ともに非手続き型言語に分類されるという事らしいですヨ。
 非手続き型言語 - Wikipedia
 プログラミング言語一覧 - Wikipedia
by fkmn | 2006-11-23 23:56 | IT
<< ゲーム検定をやってみた 【感想】経済物理学の発見 >>


とあるWebアプリケーションエンジニアの日記

by fkmn
S M T W T F S
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
カテゴリ
以前の記事
ブログパーツ
リンク
検索
タグ
最新のトラックバック
その他のジャンル
ファン
記事ランキング
ブログジャンル
画像一覧

fkmnの最近読んだ本 フィードメーター - フッ君の日常 あわせて読みたい AX