Path: coconuts.jaist!wnoc-tyo-news!news.nc.u-tokyo.ac.jp!makino From: makino@grape.c.u-tokyo.ac.jp (Jun Makino) Newsgroups: fj.comp.lang.fortran Subject: Re: 構造体は使うべきでないと思 Date: 13 May 1998 11:53:34 GMT Organization: College of Arts and Sciences, Univ. of Tokyo Lines: 61 Message-ID: <6jc1jv$d6f@news.nc.u-tokyo.ac.jp> References: <3545AD9F.6487@phys.wani.osaka-u.ac.jp> <355A17BF.BC4@phys.wani.osaka-u.ac.jp> NNTP-Posting-Host: provence.c.u-tokyo.ac.jp X-Newsreader: mnews [version 1.19PL2] 1996-01/26(Fri) Xref: coconuts.jaist fj.comp.lang.fortran:52 の記事において onizuka@mpapia.trc.rwcp.or.jpさんは書きました。 >> C++ で数値計算していても、面倒なデータ構造をつくって、複雑にデータがか >> らみあっていると、バグはとりにくいですよね。まさにコンパイラエラーが出 >> ないから。 でも、同じことを Fortran でやると、出来たとしてももっと大変。 >> それから、そもそも、型つきオブジェクト指向言語というものの持っている宿 >> 命ともいえるのは、全部のデータオブジェクトが、「階層的に分類できる」と >> いうことがあって、それでプログラミングを開始するのですが、その階層的な >> 分類は、結構価値観によって違ってくるというのが、やっているとわかる。計 >> 算速度を考慮した場合の分類方法と、プロトタイピングで直観的な分類が違う >> ことも多い。それから、人によっても違ってくる。 >> >> 数式と理論が与えられても、プログラミングのときのクラスの分類方法は人そ >> れぞれ。あるいは、状況によって違うということがあるわけです。 えーと、だから、 C++ の使い方っていうのもいろんな方針があり得ますよね。 単に引数チェックがきちんとしていて I/O がわかりやすい C 言語と思って使っ ても、まあ言語を設計した人の考えたこととは違うかもしれないけど、いけな いわけじゃない。 で、数値計算であれば、行列なりベクトルなりのクラスと演算だけ定義して、 それ以上クラスとか使わないってのもあるでしょうし。 >> >(物理のアルゴリズムのレベルで)なかなかうまく行かないことが多いです. >> >なんというか,そういうような「研究」には向いてないように感じます. >> >> アルゴリズムというのは、C++ で書く場合は、なんつうか、ほとんど1行か2 >> 行のプログラムしかかかないので、むしろ、C++ でのプログラミングは、ほと >> んどが、辞書を作るような仕事です。まさに、「鳥」という項目について、 >> 「飛ぶ」とか「卵を生む」とか、そういう関連語彙をあつめて、辞書を作る。 >> で、そういうときに、「ペンギン」をどう扱うか悩む、というような問題が多 >> い。で、こういう形で、良い辞書ができると、それを使って、なにかやるとき >> には、たいがい20行もプログラムを書けば、計算はできるわけです。 こういう、悟りを開いた仙人の境地にならなくても、便利に使えるものだと思 います。例えば、 DO K = 1, 3 X(K,J) = ((FDOT(K,J)*S + F(K,J))*S + X0DOT(K,J))*S + X0(K,J) XDOT(K,J) = (FDOT(K,J)*S1 + F(K,J))*S2 + X0DOT(K,J) ENDDO というループが、3次元ベクトルというクラスを使えば pred_pos = ((jerk * dt3 + acc) * dt2 + vel) * dt + pos; pred_vel = (jerk * dt2 + acc) * dt + vel; とループ制御もindex もなしですむみたいな(式がちょっと違いますが、どっ ちも私が使っているプログラムからとってきた、本質的には同じことをするも のです)。 >> まあ、なんだかんだ、いっても、C++ は発達しすぎていると思うし、重過ぎる。 >> 気楽な型チェックつきのオブジェクト指向言語が欲しいところです。 というより、気楽に使う使い方の手引みたいのがあればいいような気もします。 牧野%といいながら普段は C を使っている@東大駒場