読書と日常をプログラミングする

NyaoPress 読書と日常

おもしろ 学び

関数型プログラミングに目覚めつつある!

投稿日:

もう40年近く前のことになるが、僕は人工知能に関心を持っていた。最近の人工知能はその頃と比べたらずっと使い物になるようだが、そのころは可能性があるというだけでワクワクするだけの時代で、ある意味一度ブームがさったと言っていい時期だったかもしれない。まあ、それでもとにかく僕はワクワクして、当時人工知能言語といわれていたLispに手を出した。carとかcdrでなにができるんだとか言われながら何とかプログラミングしようと四苦八苦していたのだが、ある日、loopという構文を見てなんとなく熱が覚めてしまった。なんでも関数でかけるはずのLispで、シーケンシャルな処理を無理やり書くのである。現実の世界をすべて論理で描き出すことができずに作られた苦肉の策だったのに違いないのだが、僕はなんだかそれが忌まわしく見えた。それがなぜだかわからないままに、僕はLispを捨て、何やかやありながら構造化プログラミングを学び、オブジェクト指向のおもしろさに惹かれた。会社に入って10年ほど経って、じわじわオブジェクト指向が仕事にも取り入れられはじめ、今は当然のように受け止められていて、退屈だけどオブジェクトでなんとかなる日々を送っていた。

最近になって、サーバサイドのJavaScriptと言うものを知った。JavaScriptと言えばWebの画面を飾るものであって、サーバサイドで使うなんて考えもしなかった。しかしECMAScriptという形で標準化されていることは知っていて、ひょっとしたらクライアントサイドもサーバサイドも記述できる面白い言語なのではないかと思い始めた。果たしてその通りで、Node.jsを使うとWebブラウザに閉じ込められていたJavaScriptが外に出てくるのである。

しばらく遊んでいると、JavaScriptは関数型なのではないかと思えてきた。Javaがくっついているから、オブジェクト指向の様相も見え隠れするのだが、素直な書き方はとにかく関数を書くことなのだ。しかも関数の中に関数を書くみたいなちょっと変態じみたこともやってのける。

これはひょっとして次にくる古くて新しいパラダイムなのではないかと思ってワクワクした。そこで目に入ったのがこの本。

お姉さんにプログラミングの手ほどきを受けるという素敵な場面に出くわしたことのない僕は年甲斐もなくワクワクしながら読んだ。使われているのはJavaScriptだ。思ったとおり。まともな関数型言語だった。

お姉さんはパラダイムの変化を哲学の視点からも説明してくれる。関数型の足元がしっかり固まるようで心強い。よし、ここしばらくこれにハマってみようということで、JavaScriptの関連本を買い、彼女が使っているAtomというエディタをUbuntuに入れようとしているのがまさに今。

仕事で受け入れられるようになるにはひょっとすると10年かかるかもしれない。そのころには定年だ。だけどこのワクワク感。逃す手はない。

少々煙たがられてもLispの時のように挫折せずにモノにしたい。そう思うのである。

表紙に騙されてもいいから、プログラマーなら読んでおくべき本だ。

関数型プログラミングに目覚めた! IQ145の女子高校生の先輩から受けた特訓5日間

関数型プログラミングに目覚めた! IQ145の女子高校生の先輩から受けた特訓5日間 岡部 健

秀和システム 2015-04-24
売り上げランキング : 1185

Amazonで詳しく見る by G-Tools







書いた人

nyao

nyao

本を読むのが大好きです。積読本が多数。システムエンジニア経験あり。プログラミング言語はRubyが好きだけどPHPとJavaばかり書いている。最近はJavaScriptも好きになってきた。クラウド使ったお仕事募集中。

プロフィールを表示 →

-おもしろ, 学び,
-, ,

Copyright© NyaoPress 読書と日常 , 2017 All Rights Reserved.