作者: 藤岡和夫
日時: 2008/3/02(10:50)
On Sun, 02 Mar 2008 02:56:52 +0900
davi <davi-1984@...> さんwrote:

> つまりですね、万年初心者である自分を顧みたとき、まず、「具体的な
> 目の前のデータ」があって、それに対して「やりたいこと」があり、
> その出力結果を得ることこそが最大の目的なんですね。
> 
> で、「勉強のために最適」な「今回のような題材」を、こうも書ける、
> こういう解法もある…といじくって「ループの回し方の勉強そのもの」を
> 反復する、ということは問題外だ、という思想が根本にあるわけです。

 言われていることを単純に解釈すると、プログラミングを習得する暇もないし
努力したくないと言われているように思えるのですが^^;)

 簡単にできることは簡単にできるし、難しいことはやはり難しいというのが答
えですね。

 思い当たるのは、スクリプト例がいろいろと出てくると、どれを使ったらベス
トなんだいみたいな気がしてくるかもしれないということ。一通りの書き方しか
できないような言語はないのみたいな。

 Excelのようなツールは規則的なデータしか取り扱えないので、ある程度規則
的だが、データが欠損していたりで部分的に不規則なデータを取り扱えるように
変形するという用途はテキスト処理にあると思います。複雑な処理ができるとい
うことは言語に自由度が必要であるということになり、いろいろな書き方ができ
るようになることになります。しかし、これも少し言語の習得が進めばすぐに問
題なくなると思います。VBAでもできないことはないのかとも思いますけどね。

> 今回のawkツリーでは、私はかなり【意識的に】「具体的な目の前のデータ」
> とは全く別の素材を(古本屋の目録から)持ってきて、「具体的な目の前の
> データ」と同じようなデータに加工し直し、それを困っている問題として
> POSTしました。
> 
> 私の年間スケジュールの中では、2〜3月だけが、一年間で気持ちを
> ゆったりと持てる唯一の期間でして(確定申告はまだ済んでいませんが)。
> 今、メンタルな面では非常にフロートな状態なんですね。
> 
> だから、目の前の「やらなきゃいけない処理」は差し当たり放っておいて、
> 「ルーチン遊び」に埋没できる。
> 
> この、「目の前のデータに対してやりたいこと」を一度【意識的に】
> 取っ払って、「ルーチンの処理そのものの世界で遊ぶ」という方面に
> 目を向けないと、いつまでたってもダメなようです。
> 
> 悪く言えば「喉元過ぎれば…」の循環に陥るんですね。
> 「“いわゆる”文系」の「万年初心者」の特徴なんだろうと思います。

 でびさんを文系の典型とすることは危険だと思いますが、また「万年初心者」
とすることもそうですね。あれだけのページを作れるなら、AWKを使うのは簡単
だと思います。文系の人でもプログラミング自在な人はいくらでもおられると思
いますし。第一、文系の人は言語が好きなはず^^)v文系/理系のような分類は単
に何を専門に勉強したかということに過ぎないので、プログラミングができない
ことのいいわけにはならないですね。

> 山羊だか羊だかの目の前に、バケツに等分に盛りつけた食物を見せる
> という心理実験で、「食事を得るためにはいったん目の前の食べ物を
> 忘れる必要があって…」っていうような趣旨のことを習ったような
> 気がするんですが、学者の名前と説の名称がどうしても思い出せません。
> 
> どなたか、ご存じでしょうか…。
> 
> 要するに、お使いゲーでも我慢しないとダメよ、という説だったと
> 記憶していますが…。

 僕はプログラミングをプログラミングを理解するためにしたことはないです。
常に何か目的があって、それを達成するための方法として考えています。そうい
う意味ではでびさんと同じです。目的を如何に早く如何に容易に達成できるか、
それからパフォーマンスが出るかどうかが方法を選定する基準です。これは誰で
も同じだと思いますが。

 私の提案は問題の設定の仕方です。目的を達成するために、自分でできそうな
部分をプログラミングの題材として使うということですね。そのうち、プログラ
ミングできる範囲が広がってきます。実際に問題を解決していくことが、プログ
ラミングの上達のこつだと思います。最初は実用的ではあるが簡単な問題にする。

 最近、僕がオブジェクト指向を追求し始めたのは、必要に応じてなのです。手
続き型のプログラミングで書いてきたものを統合していくためなのです。要は最
近話題になっているようなコードやデータおよびデータ構造を再利用することが
目的です。スクリプト群をフレームワークとして統合するためです。書き捨てた
り、短いスクリプトでは不要なことですが。簡単に言えば楽をしたいということ
です^^;)

藤岡 和夫
kazuf@...
日曜プログラマのひとりごと http://homepage1.nifty.com/kazuf/renewal.html