第1024回 lispは本当に難しいのか問題

昔,cとかを覚えたときは,デバッグプリントを仕込みまくって挙動を確かめたり,逆アセンブルしてコードを眺めたりしていたが,lispに関しては本を読むだけで,まったく手を動かしていない.

新しい概念を理解するのに時間が掛かる.本を読んでいて,ある概念を理解しないうちに先に進んで,他の概念が出てくるのでさらに訳が判らなくなる.*1

覚えなければいけない"お約束"がある.手続き型言語にも当然あるが,類推が利くので新たに学習しなおすものが少ない.対して関数型ではまた一から詰め込む必要がある.むしろ手続き型言語からの類推が学習を妨げる.

使い道が無い.c/c++は元々ゲームが作りたくて覚えた.rubyは雑用でバッチより複雑なことがしたかったという明確な目的があったけど,自分にとってlispは教養.


  1. 手を動かして確かめる
  2. 一歩ずつ前進
  3. 本質的な問題と記憶するだけのものを分離する
  4. モチベーションを維持する

つまり,難しい.

*1:新しい概念とかいっても,再帰はcで一応使ってたし,クロージャrubyで普通に使ってるしなあ