パスワードを忘れた? アカウント作成
108012 story
プログラミング

学部生はFortranを学ぶべき? 172

ストーリー by soara
適材適所 部門より

あるAnonymous Coward 曰く、

本家「Should Undergraduates Be Taught Fortran?」より。

登場してから40年以上が経っているFortranは、物理や化学、工学系の分野などでプログラミング入門として未だに大学で教えられている。しかし現在ではPythonなど、学部生が入門として学ぶのに適した言語が他にもあるため、Fortranはもう有益ではないという意見も耳にする。研究者としてFortranを学ばないといけない日がくることもあるかもしれないが、それは「化学専攻のためのプログラミング入門」ではないはずだ、ということだそうだ。/.コミュニティの皆はどうお考えだろうか?

大学でFortranを学んだ方、その後役に立ったでしょうか?また、皆様なら学部生が入門として学ぶ言語として何をオススメする?

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • 物理屋です。毎日Fortranを使ってます。
    他にはsh, C, Rubyがまあまあ書けます。
    さいきんのFortranはいろいろなことができるので使っていて楽しいです。
    gfortranとg95というfreeで使いやすいコンパイラもありますし。
    物理か化学をやるんなら、知っていて損はない言語なんじゃないでしょうか。

    Fortranについて思いついたことを箇条書きにしてみます。
    * implicit none は使えよ
    * module は common の代わりに使うな
    * いいかげん大域変数(的なもの)を使うのはやめろ
    * 自由形式 (free form) で書け
    * 構造体 (type) を使え
    * 配列の範囲が自由 a(1:N), a(0:N-1), a(-N+1:N), a(3,0:N-1,0:N-1) とか
    * 配列の演算が楽
    * module, interface を使えばsubroutoneの引数の不整合によるバグが避けられる
    * オブジェクト指向プログラミングしろ。Frotran2003ではもっと機能が強化される
    * 複素数がはじめから使える
    * 数学関数が豊富。C99と同じ数はあると思う
    * 拡張子を .F にしておけばCプリプロセッサが使える
    * make(1)にはFCとかFCFLAGSとかFortran用の機能もあるんだよ
    * autotoolsにも
    * LAPACKとかFFTWとかライブラリが豊富
    * ポインタも使えるけど、そんなに必要ない。リスト構造を作るときぐらいかな
    * 基本、参照渡しだから
    * 動的にallocateした配列は基本的にはsubroutineの最後で解放される
    * 関数が配列を返せる [srad.jp]
    * read/write/他 でテキスト処理も実はまあまあできる
    * OpenMPで並列化できる
    * command_argument_countとget_command_argumentとでコマンドライン引数も扱えるようになった
    * FORTRANとFortranは使い分けてくれ
    * スパコンで使える。Cも使えるけど
    * いろいろな言語に挑戦してみてはどうか

    --
    love && peace && free_software
    t-nissie
    • by Anonymous Coward on 2009年06月14日 19時54分 (#1586326)

      同じく物理や化学で計算を生業にしている者です(某日本最大の計算機を作る
      プロジェクトでもお世話になっています)。
      20年近くやってきたゴリゴリの「高速計算屋」です。

      * implicit none は使えよ
      →同意。ケアレスミスをふせげる。

      * module は common の代わりに使うな
      * いいかげん大域変数(的なもの)を使うのはやめろ
      * module, interface を使えばsubroutoneの引数の不整合によるバグが避けられる
      →物理や化学の計算だと、一番重要な配列。たとえば、その系の原子の持つ情報は
       大域変数で持つ方がプログラミングしやすいと思う。
       同時にそれはパラメータスタディするときに可変となり、allocateするものだから、
      * 動的にallocateした配列は基本的にはsubroutineの最後で解放される
      →これは変だということになる。

      * 自由形式 (free form) で書け
      * 配列の範囲が自由 a(1:N), a(0:N-1), a(-N+1:N), a(3,0:N-1,0:N-1) とか
      * 配列の演算が楽* 複素数がはじめから使える* 数学関数が豊富。C99と同じ数はあると思う
      →同意。FortranはFORTRAN77から見ると、かなり進歩した言語なのです。

      * 構造体 (type) を使え
      →現状の並列計算環境においては、自動並列化に失敗することがあるので、typeは
       今ひとつ信用できません。

      * オブジェクト指向プログラミングしろ。Frotran2003ではもっと機能が強化される
      →まあ、そうですね。ただ、我々がFortranを使う理由は「大きな計算機で最適化されていて
       速い」からであって、柔軟なプリ・ポスト処理にはrubyなどで対応したらいいと思っています。

      * 拡張子を .F にしておけばCプリプロセッサが使える
      * make(1)にはFCとかFCFLAGSとかFortran用の機能もあるんだよ* autotoolsにも
      * LAPACKとかFFTWとかライブラリが豊富
      →これはそのとおり。結局、Cを使う理由はシステムコールを多用したりするプログラムであって、
       ゴリゴリの数値計算はFortranで書いて、Cプロプロセッサで環境、計算条件に応じて
       コンパイルしなおせるようにしておけば十分だと。

      * ポインタも使えるけど、そんなに必要ない。リスト構造を作るときぐらいかな* 基本、参照渡しだから
      →はい、そのとおり。あと、我々はとにかく不器用でも速いプログラムを書きたいので、
       自動ベクトル化の阻害因子になるポインタの必要性はあまりないです。

      * OpenMPで並列化できる
      →同意。というか、速い数値計算プログラムを楽に書く環境としてFortranは進歩してきたのだから当然。

      * command_argument_countとget_command_argumentとでコマンドライン引数も扱えるようになった
      →まあ、数値計算プログラムは硬派なので、引数はパラメータを列記したファイルで十分なのですがね。

      * スパコンで使える。Cも使えるけど
      →結局、ハイエンドの数値計算サーバのコンパイラのチューニングを、何言語で行うか、
       ということに尽きるかと。現状では、Fortranがデフォルトです。

      * いろいろな言語に挑戦してみてはどうか
      →物理や化学、あるいは流体などの数値計算以外の専門家になるんだったら、いろんな体験が必要でしょう。
       あとは、プリ・ポストのためにいろんな言語は使えるほうがいいでしょう。
       私は何よりFortranとrubyです。外国の人はFotranとpythonですので、国際的に活躍したければ他のものも。

      という感じで、アルバイトでネット関係あるいはハードウェアにアプリケーションを書いたり
      する場合はともかく、数値計算屋として生きていくためにはFortranは大変便利なツールなのですね。

      親コメント
    • by Anonymous Coward on 2009年06月14日 18時09分 (#1586280)

      大気関係が専門ですが、就職してずっと、今なおFORTRANが使われています。
      過去の資源が、というのもありますが、今なお業界標準だから、というのが大きい。

      ただ、以前と違ってFORTRANでCGIを書く人は減りました。

      親コメント
    • by Anonymous Coward on 2009年06月14日 19時09分 (#1586310)

      以前に別なとこで聞いたけど、20年前に理系の現役の大学生の頃は
      複雑な多項式計算の類をやるのに「プログラミング電卓」を
      みんな持ってて、それで計算していたよーな気がするのですが、
      現在プログラム電卓は廃れているようで・・・

      じゃあ、いまの学生は何で計算してるの?って聞くと
      「EXCELのマクロ」もしくは「計算してない」(!)ってのが
      返ってきたんですよね・・・
      情報工学系の人がまあ「いまさらFORTRAN?」ってのはわかるんだけれど
      じゃあ普通の理学/工学系の子が学部の計算するのに
      これから『何を使って複雑な計算をコンピュータに計算をさせるのか』ってのは
      なんか実は科学技術教育の未来と深くかかわってる問題のように思うんですよねー・・・

      親コメント
  • by Anonymous Coward on 2009年06月14日 15時07分 (#1586172)
    プログラミングの各種概念を教えられるなら何でも良い
    • by oku (4610) on 2009年06月14日 16時04分 (#1586202) 日記

      元々の話は「化学専攻の学生のためのプログラミング入門」という話ではありませんか?

      (教え|教わり)たいのが「プログラミング」なら「プログラミングの各種概念を教えられるなら何でも良い」という話になるでしょうが。

      あるプログラミング言語設計者の言 [artima.com]によれば、

      Many C++ users quite reasonably don't want to become C++ experts—they are experts in their own fields (e.g., physicists, graphics specialists, or hardware engineers) who use C++.

      多くの C++ 使いは、全く当然のことながら、C++ の専門家になりたいわけではない。 彼らは自分自身の分野の専門家 (例えば、物理学者であったり、グラフィックスの専門家であったり、ハードウェア技術者であったり) で、C++ を使っているだけなのだ。

      てなわけで、答えは「自分の業界で必要なものを学べ。 それはひょっとしたら Fortran かも知れない」というだけの話なのでは。

      # 今時、粒子物理でも Fortran はあまりないと思うけどなぁ...
      # 流体系の計算物理とかだとあったりします? > 識者

      親コメント
      • by Anonymous Coward on 2009年06月14日 16時47分 (#1586227)

        流体だとFortranともバリバリ現役です。
        古くからあるソルバーの拡張はもちろんFORTRAN 77でやるしかないですから。
        新しめのものでも、NAL/JAXAのUPACSやFlontFlow-redはFortran 9xですし、FlontFlow-blueはFORTRAN 77です。
        理由としては、

        • これまでの資産が大量にある
        • Fortran技術者がまだ多くいる

        が挙げられると思います。

        結局、

        多くの C++ 使いは、全く当然のことながら、C++ の専門家になりたいわけではない。

        と同様の構図です。
        研究者としては、「ソルバーをC/C++/C#/JAVAで書きました」と言っても論文にはならないし、ソフトウェア会社としては、スクラッチから違う言語で書き直してテストをする分の工数にお金はもらえないし、ユーザはそこにあるものを使用するだけです。

        親コメント
      • by Anonymous Coward on 2009年06月14日 16時49分 (#1586229)

        残念ながら日本では流体でもまだまだFortran、それもF77です。
        彼らの大半はComputational Fluid Dynamicsをやっていながら、
        驚くほどに計算機やその関連技術には興味を持たないのです。
        コードは例えば"COMMON文で変数は実質すべてグローバル"、
        といったとても他人には読めないものだったりします。

        中の人なのでAC。

        親コメント
    • 変数の「型」を強く意識する必要がある言語で(弱いと VB の Variant 使ったように、「なんとなく動く」ので怖い)、goto なしで構造化がかけて、それなりに分かりやすい……
      となると、Pascal か C か、あるいはその派生になりますかね。結局 ALGOL 系列か。
      ※Variant 禁止と Option explicit しているなら VBA でもいい

      Java はクラスというか、オブジェクト指向が理解できるかどうかにかかっちゃうしなあ。

      --
      -- To be sincere...
      親コメント
  • 複数やるべき (スコア:3, すばらしい洞察)

    by CowardDuck (25674) on 2009年06月14日 22時29分 (#1586390)
    「学部生」の意味しているものが情報処理に関係する学部であるならば
    答えはタイトルの通り、複数やるべきだろう。

    功徳は色々あるが最大のものは「××言語信者」になることをある程度
    防げることだ。

    「ハンマーしか道具がないと全ての問題が釘に見える」という言葉が
    あるそうだが、そんなふうにならないためには
    「様々な言語があるのは様々な問題があるからだ」ということを
    早いうちに理解する必要がある。

    さらにいうなら、幾つかプログラミング言語を覚えたあとに
    コンパイラ技術の勉強をするとなお良い。
  • by ribbon (11750) on 2009年06月14日 15時12分 (#1586175) 日記

    いくつかの言語仕様があります。今だとFortran95あたりが一般的でしょうか(gnuのものなど)。
    ただ、更に拡張されたFortran2003などもあるわけで、そういう、モダンなFortranを使うので
    あれば、話はだいぶ変わるのではないでしょうか。

    Fortran77(もう30年も前か)だと、さすがに古めかしく感じますけどね。

    #さすがに水準3000とか、それ以前の仕様でコーディングした人はいないか。

    • Re:Fortranといっても (スコア:5, おもしろおかしい)

      by Diseree (7781) on 2009年06月14日 15時23分 (#1586183)
      C      FORTRAN77でFortranを覚えたクチですが、
      C      当時の解説書はFORTRAN66ベースだったので
      C      FORTRAN77の近代的な?仕様には感心しました。
             STOP
             END
      親コメント
    • お約束 (スコア:1, 興味深い)

      by Anonymous Coward on 2009年06月14日 16時10分 (#1586207)

      本物のプログラマは、ジョブをこなすのに、そんな抽象概念をまったく必要としない -- 彼らはキーパンチャーとFORTRAN IV コンパイラ、そしてビールがあれば完璧に幸福になれるのだ。

      from 本物のプログラマ [genpaku.org]

      親コメント
    • 学部(といっても10年ぐらい前)では、FORTRAN77でした。 同等の講義としてCも選べたので、Cだけ受けていたような。 暗黙の型宣言や、GOTO文乱立、パンチカード仕様のカラム位置、 このへんは、モダンな言語を触ったことがある人には違和感全開です。

      他大学の院に行ってからは、FORTRANがメインのものの、 Fortran90/95でもOKだったので、上記の違和感なく使えています。

      現在、私の後輩たち(物理学科)は、Fortranのみしか授業でやらないようです。 そのため、就職組は別の言語(C等)を独学でやってみたり、Cの計算用コードが出てきたときに、 慌てたりしています。

      いきなり、どれかの言語に固定してしまうのではなく、どの言語でも応用できるような授業をすべきだと思うのですが...。

      #就職してからFortranの変換の仕事が来たときは、やっといてよかった、って感じでした。
      #むしろ、マイナー言語を知っていた方が重宝されるかも。

      親コメント
      • by Deasuke (34806) on 2009年06月15日 0時11分 (#1586428) 日記
        昔話です(約15年前)。学生実習でFORTRAN77で数値演算の課題がありました。情報工学科だったので、当然言語の講義は一切なく(コンパイラの作り方の講義ならありましたが...)自習で出来るようになって当然という感じでした。私の提出したプログラムは滅茶苦茶で、PARAMETER文とか理解するのが面倒だったので、#defineだらけでmakefileでCのpreprocessorを通すようなプログラムでした。
        --
        Best regards, でぃーすけ
        親コメント
  • 不要 (スコア:2, 興味深い)

    by duenmynoth (34577) on 2009年06月14日 15時17分 (#1586178) 日記
    実際に学生の時に専攻がFORTRANでしたが
    全くの無駄でした
    役に立った事など一度もありません

    他のクラスがパソコンでCやBASICをやっている時に
    なぜ自分は汎用機でFORTRANなのかと
    なぜ二桁の掛け算の結果が出るまでに15分もかかるのかと

    まあ確かに座学でプログラム言語の一つとして学ぶ分には
    完全に枯れた物なので最適かもしれませんが、
    講師の趣味で実用性度外視の講義を受けさせられる学生の身にもなって欲しいと思います
    • by nmaeda (5111) on 2009年06月14日 18時30分 (#1586291)

      大学なんだから、講師の趣味でプログラミング言語を選んで良いんじゃないかな?
      プログラミングの概念を教えるのが目的で、専門学校のように一、二年後に就職してその言語を使うことが目的じゃない。専攻にもよるけど、いろんな言語に触れて、その設計思想を知る方が好ましい。
      どうせ講義で週一コマかそこら教えられたからといって、商売になるレベルの技能が身につくわけじゃないし。

      それにあなたの経験がほかのクラスメートと同じわけじゃない。FortranやCOBOLを提供しているサードパーティのベンダーが存在する、つまりまだそれなりに需要はあるんだよ。

      親コメント
    • >講師の趣味で実用性度外視の講義

      むしろ、講師、教授が教えられるプログラミング言語的な能力がソレだけ…だから…という事もあるかもしれないけど。
      あと、未だにそれをベースに研究とか構想しているからとか。

      #講師に能力があっても、お偉いさんな教授が「これ教えとけ」と指示している場合もあるでしょうけどね

      --

      /* Kachou Utumi
      I'm Not Rich... */
      親コメント
    • by greentea (17971) on 2009年06月14日 15時28分 (#1586187) 日記

      うちの大学でも、情報系の専門科目では教授の趣味でMLが採用されている演習があるらしいです。
      半年の講義を2つに分けて、半分Java、半分MLという中途半端な構成。それでオブジェクト指向と関数型言語の両方の概念を理解できた人がどれくらいいるのかは分かりません。

      --
      1を聞いて0を知れ!
      親コメント
      • Re:不要 (スコア:3, 興味深い)

        by saitoh (10803) on 2009年06月14日 18時43分 (#1586294)
        「メジャーなプログラミングパラダイムはすべてちょっとはかじってる」ってのはコンピュータサイエンス系学系としては当然のカリキュラムでしょう。 1つのパラダイムをかじってみるのに1/4年は十分。prologも足して1学期で3言語やってもいいんじゃないかなぁ。

        そういえば僕の母校も今は関数型言語をかじらせるのにはML使っているらしい。僕が学生の頃は関数型の例としてはLISP1.4だった。

        それより、助手に丸投げすることが多い演習科目にちゃんと教授がかかわっているんですね。

        親コメント
      • by doh (35450) on 2009年06月14日 17時18分 (#1586250) 日記

        関数型言語としてMLは非常に優秀だと思います。OCamlは実用性も非常に高いですし。2ヶ月あれば、リストと再帰を使って各種アルゴリズムを実装することにも慣れると思います。

        親コメント
        • by nmaeda (5111) on 2009年06月14日 18時22分 (#1586287)

          誰なら2ヶ月? 学部生の程度はバラバラ、特に今は名前が書ければどこかには入学できる状況だから、そんなに甘くないでしょう。現代だと入学までPCを触ったことがない学生は少ないだろうけど、プログラミングは別。以前より減ってるでしょう。

          親コメント
          • by doh (35450) on 2009年06月14日 18時59分 (#1586302) 日記

            誰なら2ヶ月? 学部生の程度はバラバラ、特に今は名前が書ければどこかには入学できる状況だから、そんなに甘くないでしょう。

            それは極論ではないですか?さすがに名前を書くだけで入れるような大学の学生は想定していません。そのような学生は、関数型言語に限らず何を教えても同じだと思います。入学前にプログラミング経験の無い学生は以前から存在していましたし、他の講義で必要な予備知識はある程度身に付くと思います。1年生の前期の講義だとしたら厳しいですが、2年生位で教えるのなら適切かと思います。その際には#1586247 [srad.jp]で言及されているような体制が必要なのは言うまでもありませんが。

            親コメント
    • 学部生の一部は大学院まで上がります。その際に研究で使われている言語がFortranであれば、Fortranを全く知らないよりはまだ有益なのではないかと思います。

      学部1年や 2年で早くも4年 or 大学院でこの研究室に行くと自分が認識できて、かつ、その研究室では Fortranを使っていない、だから、Fortranは要らない、となれば学習する意味はないでしょう。しかしそれを認識できない場合には、広く浅くでも様々な言語に触るのは悪くないと考えます。

      もしこれが専門学校であれば、Fortranよりも民間で使われている Javaあたりを学習するべきでしょうね。

      --
      MIYAZAKI Yasushi
      親コメント
    • Re:不要 (スコア:1, 興味深い)

      by Anonymous Coward on 2009年06月14日 16時31分 (#1586222)

      > 実際に学生の時に専攻がFORTRANでしたが
      > 全くの無駄でした役に立った事など一度もありません

      義務教育レベルならまだしも、大学教育レベルになると、同じクラスであっても将来実験や理論など多様に分かれるから一部の学生には「役に立った事など一度もありません」なんてあっても珍しくもなんともないよね。「自分にとって無駄だったから不要」論を持ち出すやつってそこらへんをどう考えているんだろう。

      > 講師の趣味で実用性度外視の講義を受けさせられる学生の身にもなって欲しいと思います

      大学でそれをいうか。なんなら情報処理系の専門学校に行った方がよかったと思うよ。大学と専門学校との違いって「専門課程であっても趣味で実用性度外視の講義」などにあると思うし、そこを折り合いつけてやり過ごす力が大学生の必須だと思うんですがね。

      親コメント
    • Re:不要 (スコア:1, おもしろおかしい)

      by Anonymous Coward on 2009年06月14日 17時18分 (#1586251)

      > 講師の趣味で実用性度外視の講義を受けさせられる学生の身にもなって欲しいと思います

      一般教養の講師が泣きながら駆けていくのが見えました。

      親コメント
  • 大学でFortranを学んだ方、その後役に立ったでしょうか?また、皆様なら学部生が入門として学ぶ言語として何をオススメする?

    確かに Fortran の知識を役立てた覚えはない。申し訳ない、mohta さん。

    理由は、その後 Z80 のアセンブラも講義で教わったからだ。
    結局アセンブラでコーディングするのがつらくてつらくて、 C を勉強してコンパイラの出力結果を元に課題を提出した。
    でも、結局コンパイラが出してくるコードがおかしい場合があって、マシン語まで降りる必要があった。
    それ以来、どうしても判らない挙動は、マシン語レベルまで降りて分析できるようになった。

    まさに塞翁が馬。

    .

    というわけで私が先生なら、学部生が入門として学ぶ言語はアセンブラです。
    Intel の 4004 から Corei7 まで続くあの CPU シリーズとその派生物はあまりにも初心者に可哀想なので、PowerPC で許してあげる。実験機は PS3 な。

    --
    fjの教祖様
  • by digl (19182) on 2009年06月15日 10時11分 (#1586518) 日記
    前職で同じチームになった人を見ていると、「VisualBasic6の経験者」な新人と「Cの経験者」な中途と「Fortranの経験者」な新人のどちらが使えたかといえば、「Fortran」だった。その次が「C」。
    作らせたものは、AccessVBAとVisualBasic6、Java。
    傾向としては、Fortranの経験者は「要求された処理の発生理由を追」い、Cの経験者は「処理の見易さと速度を追」った。ちなみに、CとFortranは同年齢で、VisualBasic6は二歳年上。

    なんで「VisualBasic6」の経験者の話が出てこないかって?
    全く使えなかったからだよ(w

    というわけで、「VisualBasic使えます」は、評価の範囲外にしている。個人的に。
    今の職場でも、「VisualBasic.Net使えます」な新人は、「グーグルコピペ」でコード作ってくるからプログラムチームから外したけど、人によりけりなんだろうな。
    --
    fj.jokes出身:
  • 物理教師はFortranに慣れている場合が多いので、学生もFortranを覚えればコミュニケーションが取りやすいかと思いますよ。
    物理に限らず、学生が何も言語を知らないのなら、教師が得意な言語に学生側が合わせるのが一番スムーズでしょう。
  • by ILH (11814) on 2009年06月14日 18時48分 (#1586295) 日記

    いつの間にかFortranになってたんですね。

    #年がばれるけどID

  • プログラミング言語(C, C++, Fortran他)なんて大学に入ったら独学で磨くものじゃないんでしょうか?
    プログラミングなんて道具なんだし、鉛筆の使い方を大学で習うようなものです。
    そんなの授業で習うようなら、授業料の無駄遣い。

    Fortranのソースを授業のレポートなどで提出する必要があれば自分で学べばいいんです。

    • 小学1年生に鉛筆の使い方を教えるのが必要な様に、大学生にもプログラミングの基礎的な事を教える必要があります。
      大学生は他に勉強すべき事がたくさんあります。 別な方も指摘されていますが、数値計算(Fortran ネタなので)を学ぶためには初めにプログラミングの基礎を教え、その後具体的な計算を通してプログラミングと計算技術を身につけていくのが最も効率的(教員にとっても)。

      Fortran ならお約束と型、繰り返し処理、条件文、配列、関数とサブルーチンを教えればほとんどの計算を書ける様になります。 これだけなら4コマくらいあれば十分でしょう。 プログラミングの出来る学生(たぶんほとんどいない)はこの間遊んでいれば良いのです。
      親コメント
      • > Fortran ならお約束と型、繰り返し処理、条件文、配列、関数とサブルーチンを教えればほとんどの計算を書ける様になります。これだけなら4コマくらいあれば十分でしょう。プログラミングの出来る学生(たぶんほとんどいない)はこの間遊んでいれば良いのです。

        我々も数コマかけて実験器具の使い方を教わったものです。こちらは何かあるとすぐ壊れましたが。

        何にせよ、全員が知る必要がある事柄については授業で教えるのが効率がよいでしょう。ジャストインタイムで知っている必要がある=泥縄ではいけない事柄なら、なおさらです。
        親コメント
  • 適材適所 (スコア:1, すばらしい洞察)

    by Anonymous Coward on 2009年06月14日 23時57分 (#1586422)

    数値解析屋にとってCが使いにくいのは、テキストファイルから数値を読み込み、
    多次元配列変数に保存してサブルーチンに渡す、というような、数値計算で必ず
    必要になる一連の処理をどうすれば実現できるのかが分かりにくいという点です
    ね。

    Cでこれをやるには文字列処理の方法やポインタの概念を理解する必要があり、
    Fortranなら2〜3回目の授業でできることでもCなら数ヶ月後、ということにな
    ってしまう。
    しかも、授業ならともかく、多くのC入門書ではこういう処理の解説がなされ
    ていないので、独学だとなおハードルが高い。

    情報系ではなく化学、物理、工学系でのプログラミングの授業であれば、学ぶ
    のは言語の仕様そのものではなくアルゴリズムの方でしょうから、すぐに計算
    が始められる状態になれるFortranを使うと言うのは十分あり得る話だと思い
    ますよ。

typodupeerror

一つのことを行い、またそれをうまくやるプログラムを書け -- Malcolm Douglas McIlroy

読み込み中...