COMMON LISP JP > Archives > 2011/07/04

2011/07/04 03:08:07 UTCshiro
#
プログラミングスキルの上達って、確かにあるんだけど測るの難しいよね。「以前は書けなかったものが書けるようになった」「以前は理解できなかったコードが理解できた」っていうので実感してゆくしかないのかな。
#
とすれば、lispに限らないけれど、闇雲に本を読むんじゃなくて、「書いてみる」→「書けない」→「書けるようになるために勉強する」→「書けた」とか、「コード読んでみる」→「読めない」→「理解するために勉強する」→「分かった」というサイクルを回すしかないんじゃないだろうか。
#
なんでもそうだけど、「自分はここまで出来るけどこっからは出来ない」っていう境界を見つけるのは最初のステップで、そうしたら「じゃあどうすれば出来るようになるか」って具体的な戦略が建てられて、色々やってみるうちに「あ、出来るようになった。じゃ次は…」ってなって進んで行くものだろうな。
#
具体的に「ここのこれがわからないんだけれどどうすればいいんでしょうか?」って質問は、最初のステップをクリアしていることを示してるけど、そういう具体性が無い場合はまず最初のステップを自分で探さないとならないと思う。
#
でも実体験として、「ここのこれがピンポイントでわからないんだ」って具体的に考えてるうちに分かっちゃうことは多い。質問しようとして人に話してたら答えがわかっちゃったってパターン。質問にはそういう効用もあるから、とりあえずあんまりはっきりわからないけど何となく聞いてみるってのもありだとは思う。対話を続ける意志があれば。
2011/07/04 04:40:45 UTC(び)
#
具体的な目標「○○を作る」を決めて、そこに向かって「読む調べる書く読む調べる書く」のサイクルを回していくしか、上達する方法はないと思います。プログラミングスキルって一言で言うけど、それ自体は筋力みたいなものなので、サッカーやりたいのか水泳やりたいのかボルダリングやりたいのかで、どういう鍛え方をするか違ってくるし、いくらそれ用の筋トレばかりしたところで、本当にやりたい(あるいはやると決めた)競技そのものをやらないと、競技自体は上達しないのと似てると思います。
#
ただ、初心者であまり遠大な目標だけを持っても意味がないので、遠大な目標の他に「1日or1週1目標」クラスの小さな目標を作ってクリアしていくと、飽きずめげずに続くと思います。
#
個人的には、小さな目標をどんどん作れるor見つけられるというのは、物事を上達する上で重要な才能だと思ってます。
2011/07/04 05:10:40 UTCsnmsts
#
何を目標にしていれば、lispを続けられるんでしょうか?
#
と聞こえました。あんまり個人的な回答がありませんが。
2011/07/04 05:14:02 UTCshiro
#
うーん、ありきたりの回答になってしまいそうだ。「何か書きたいものがあるからLispを始めたんじゃないの?」
2011/07/04 05:20:16 UTCshiro
#
あー、でも、「うぉすげえこんなものが書けるのか俺もLispやりてぇ」って思えるようなソフトはもっとあってもいいかなあ。それなりに書いてるつもりだが地味なものばかりだ。
2011/07/04 06:33:41 UTCsnmsts
#
個人的な経験としてはxyzzyをchoreをこなすものとして導入した延長線上にいるので、最初にかきたいものがあったわけでもないです。lispに対するPGアコガレとか関数型アコガレとかをベースとして入ってきて、そのまま、lisp使いでいつづけるためには、ある程度何かをかけるようになるまでlispを日常としてつかう、つなぎが何か必要なのかもなぁ…と思っています。元々の素養(どういう種類のものかは良くわかりませんが…)があれば大丈夫っぽいのは見てとれるのですけど…
2011/07/04 06:38:21 UTCshiro
#
私は最初は言語そのものへの興味だったんだけど、CでLisp書いてみた→Lispで色々書いたら楽だなあ→あれもこれもLispで書きてぇ、で今に至る。
2011/07/04 06:50:23 UTCsnmsts
#
漠然としていて発散する話題ですみません。個人の資質と興味に依存する話なんですよね。割合と身近で話題にすることが多くて、考えてはいるんですけれど…
2011/07/04 06:52:50 UTCshiro
#
今は楽に書ける言語がいろいろあるから、「楽だからLisp」って割合としては減ってるとは思う。
#
言語と関係なく「書きたいプログラム」ってのはあるのかな。ってとこをまず確認しないとだめか。
2011/07/04 07:04:11 UTC(び)
#
書きたいプログラムはないけど「Lispを使いこなせるかっちょいいプログラマになりたいぜ」という憧れだけはあるというパターンもありそう。
#
スペック指向っていうのかな。何かをやることに、じゃなくて、何かを出来る(それが具体的に何を意味するかはさておき)自分であることに価値を見出すマインドってのは、案外無視できないくらいあるし。
2011/07/04 07:07:03 UTCshiro
#
弾きたい曲は特に無いけど楽器弾けるようになりたい、みたいな。それはそれでアリかなとは思う。弾けるようになる過程でどんどん興味が出てくることってあるし。となると「初心者が弾くならとりあえずこれでしょ」みたいな定番が要るのかな?
2011/07/04 07:07:41 UTC(び)
#
あっていいと思うんですよね
#
とっかかりは何だってよくて、そこから興味を広げられればいいし、だめでも「結局こいつには興味が湧かなかった」でもOKだと思うし
2011/07/04 07:08:21 UTCayato
#
Maximaがきっかけ → 入ってるclisp触ってみる → #'(lambda ..ってなに? → Scheme 。そもそもプログラミングが出来なかった(構文を覚えるのが異常に苦手)おかげで、括弧を重ねることに対して「分かりやすいじゃん」とか思ってしまった。
2011/07/04 10:14:42 UTC齊藤
#
私は JavaScript がよく理解できなくて、源流をたどってきてそのまま居着いてしまった感じですね。
2011/07/04 10:15:42 UTCbowbow99@twitter
#
なにやら が盛り上がってる。
2011/07/04 11:46:53 UTCshiro
#
そういえば私の「これ作りたい」の中には、「これがどう動いているのか知りたい」っていうのがかなり含まれている → http://www.hirax.net/logos/2011/07/03.html#9731
#
なので「作りたい」は広い意味で「理解したい」を含んでて良いと思う。理解するために作ったプログラムというのは表に出てくることは少ないけれど。
2011/07/04 12:25:04 UTCkmizumar@twitter
#
そして感電するんですよね。RT : shiro: そういえば私の「これ作りたい」の中には、「これがどう動いているのか知りたい」っていうのがかなり含まれている → http://bit.ly/l6T0M6
2011/07/04 12:27:59 UTCshiro
#
あと火傷 (半田ゴテで) @kmizumar