2013年10月20日日曜日

Lisp のわからんところ

さすがに我ながらひどい文章を書いたので、記事ごと修正。原文は残しておく。反省。

わからないのは確かなんだ。一番決定的な違いとして認識したのは「データ構造」。変数があって、配列があって、構造体があって、という慣れ親しんだ構造が利かないこと。

ああ、一度勉強したことがあるので、それ以外のデータ構造があるのは知っているけれど、、、少なくとも、「実用CommonLisp」の2章までは出番がない。それに、どこまでいっても”リスト”とは切っても切れない縁になるという感覚はある。壁なんだろうな。”リストを処理する”感覚に慣れることが。

ループではなく再帰 を多用する(loop 構文があることは知っている)
if は分岐だが、処理の分岐というよりは終了条件の検出用

慣れるのには時間がかかりそうです。試すしかないですね。

さじ、なげかけました。まあ、私は私がさじ投げても不思議じゃないんですのでいざとなったら投げますがね。




以下原文

原題:Lisp、、まあ、、、してるんですけど、、、

早速飽き始めた。我ながら早いものだと思う。なんでって、なんか、難しいんだって。
思った以上に、考え方の転換の度合いが強いんだって。

現状、第二章まで読み進めている。第三章にLispの言語概略があるため、実際問題この本のHelloWorldを抜けていないぐらいなのだが。ええ、なんか、難しいというか難しく考えてしまうというか。ちょっとわからないのです。わからなくなっている感がヤバイ。

C,C++,C#といった「手続き型」の言語をずっと勉強してきたわけだ。「まず、変数を準備して、それを足して、割って、引いて、、、」「繰り返しはfor, while」「分岐はif」「結果はprintfで」

でも、今のところ出てきているLispのそれは
「シンボル」「リスト」「ifは実行する式を選択する」「リストのいくつかを処理して、リストの残りを再帰処理する」「そもそもREPLが今のところのすべて」
おお、今までの考え方が受け入れられていない様子を覚える。カッコイイ様子には再帰が前提ですか。データ構造がリスト以外見えないですか。という先走りを、、だな。

、、、一度は勉強したんだけどなあー。


そんなことより何が一番困ったところかって、別途参照している問題集

L-99
ProjectEular

この両方ともについてアプローチする方法が(片方はLisp用なのに!)思いつかないというか、なんか、「これでいいのかな、、、」感が半端じゃないというか。

ああ、愚痴っぽいな。ここで失礼。

0 件のコメント:

コメントを投稿