[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]

[linux-users:30072] Re: N-BASIC(86) for Linux


松本@京大人間環境です。
なんかこのスレッドもりあがってますな。

% ちなみに、高校用数学の教科書の BASIC のところ、
% ちと用事で全ての出版社の該当部分をチェックしました。
% 基本的に 640x400 のグラフィック画面ですな;b < 98 だ〜
% ついでに、PRINT 文内に日本語を使っているものが半分ぐらい。
% 残りのはいわゆる半角カナです;b
% かつ、あの教科書じゃセンターの問題すら解けなさそう…。
% 先生はたいへんだ。


From: Takayuki Maeda <maeda_t _at_ japan.teradyne.com>
Subject: [linux-users:29945] Re: N-BASIC(86) for Linux
Date: Wed, 1 Jul 98 16:49:45 +0900
> 簡単に言ってしまえば、ノイマン型のコンピュータを考える限りでは、
> 手続き型の言語(あるいは手続きとして記述されるアルゴリズムという
> か)の方が基本だと思うからです。つまり、機械の動作に即している。
(略)
> 考え方そのものとしては、「関数思考」よりも「手続き思考」の方がとっ
> つきやすい、という人の方が多いんじゃないでしょうか。そこまで掘り
> 下げて考えると、やはり手続き型言語の方が入りやすいという面はある
> と思います。

私が思うには、まずコンピュータを全く知らない人になんらかの言語を教える
理由を考えなきゃんらんと思うのですわ。

例えば、高校の数学でこれをやるのは、
「手続型の論理を考える方法」もしくは「手続型の論理を追う方法」を
考える力を養うためじゃないかなと思うんですな。
数学の中でいえば、筆算、互除法などぐらいでしょうか。

これらに加えて「コンピュータがどのように動作しているのかを知る」こと、
「コンピュータに指示するという感覚を養う」ことも重要でしょう。

これをできるだけ簡単に導入するために利用する言語が満たすべき条件は、
次のようになる気がします。

・言語セットが簡単で、比較的理解しやすいものであること
      簡単に理解できる具体的な動作の組み合わせで
      多くのことができるということを理解するため。
・「手続きの流れ」を自然に理解できること
      基本は上から下へ流れ、たまに条件分岐や繰り返しがあるということが
      わかるため。
・内部ステートメントがあまり複雑にならないこと
      頭の中に置いておかなければならない情報が増えるほど理解しづらくなる。
      例えば、関数の定義を *しなければならない* ならば不利でしょう。

これらのことを考えると、一番いいのはアセンブラです;b(嘘)

まぁ、要するに、プログラマを養成するためではないというところがミソ。
必ずしも我々が美しいとか実用的だと感じたりするプログラム言語が
いいとは限らないわけです。

もちろん、どんな言語を使っても上のような条件を満たすような
教育方法はあるかとは思いますが、「邪道だ」と呼ばれることうけあい;b
# main() だけの C とか、progn だけの LISP とか…(笑)

自然に上記のようになるのは、BASIC (それも行番号付き)でわないかと。
---
  ".  MATSUMOTO Shoji,
 66.  Graduate School of Human and Environmental Studies, Kyoto-Univ.
/~  \ 松本庄司  京都大学大学院 人間・環境学研究科 人間・環境学専攻 M2
W  W  shom _at_ i.h.kyoto-u.ac.jp, http://www.i.h.kyoto-u.ac.jp/~shom/

この情報があなたの探していたものかどうか選択してください。
yes/まさにこれだ!   no/違うなぁ   part/一部見つかった   try/これで試してみる

あなたが探していた情報はどのようなことか、ご自由に記入下さい。特に「まさにこれだ!」と言う場合は記入をお願いします。
例:「複数のマシンからCATV経由でipmasqueradeを利用してWebを参照したい場合の設定について」
Follow-Ups: