パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

MSが大学に寄付してC#が必修科目に」記事へのコメント

  • 6年くらい前に大学生だった頃、某N大学の一般教養課程の
    情報処理の講義で(必須かどうかは自信がありませんが)、
    Fortranを未だに使ってコード書かせていたのにビックリしました。

    実務と教育の世界のギャップは意外に大きいものかも。

    それに確か
    • Fortranを未だに使って
      FORTRANは(その構造の単純さなどなどゆえに強力な最適化がかけやすく)実際に科学技術計算に必須ですから場合によっては役に立つし、別にいいんじゃないでしょうか。

      それだけとか言われると非常に困りますが。

      • >FORTRANは(その構造の単純さなどなどゆえに強力な最適化がかけやすく)

        これなんですけど、サブルーチン化しないで書いているから alias の問題が発生しないこと以外に、
        Fortran だと最適化がかけやすい理由ってあるのでしょうか?
        F77のソースをベクトルプロセッサ向けにチューニングしたと
        • > サブルーチン化しないで書いているから alias の問題が発生しない

          「サブルーチン化しないで書いている」という部分が
          よく分からないので、もう少し説明していただけますか?

          > F77のソースをベクトルプロセッサ向けにチューニングしたときは、
          > コンパイラ指令やら変数展開やらで、ほとんど原型をとどめないぐらいに
          > なったのを憶えています
          • >「サブルーチン化しないで書いている」という部分が

            コンパイラがインライン展開できなかったので、処理系の組み込み以外の
            関数や副プログラム呼び出しが起きないように展開して書き直していました。

            >今では、コンパイラが賢くなったので、自分で指定しなくても
            >自動的にベクトル化、並列化してくれます。

            便利になったんですねえ。
            前述のようにやっていたのは10年ぐらい前の話です。

            >Fortranのプログラムの方が、言語構造が単
            • 他の方もおっしゃっていますが、C のようなポインタがない点が非常に大きいです。

              コンパイラの最適化に使う解析手法は、プログラムの流れを追っていくコントロールフロー解析と、プログラムの流れに即しながらデータの中身がどう変わっていくかを追うデータフロー解析の2 種類に大別できます。

              ポインタはデータフロー解析の難易度をアップさせます。
              まず、ポインタが何を示しているかをデータフロー解析しておいてから、ポインタが指す可能性があるオブジェクトをデータフロー解析するというような多層の解析が必要になるからです。

              あと、配列が数学的な行列というより
              --
              コンタミは発見の母
              • by argon (3541) on 2002年08月18日 23時22分 (#148479) 日記
                >C のようなポインタがない点が非常に大きいです。

                >ポインタはデータフロー解析の難易度をアップさせます。

                なるほど。
                C のようななんでもありのポインタがない Fortran だとデータフロー管理のコストを
                小さくできるので、解析後の最適化処理がかけやすいということでしょうか。
                親コメント

私は悩みをリストアップし始めたが、そのあまりの長さにいやけがさし、何も考えないことにした。-- Robert C. Pike

処理中...