• ベストアンサー

フォートランとC言語について

僕は機械系の人間なんですが、卒業研究で理論計算をするためフォートランを勉強しています。最近ではフォートランはなくなりつつある言語だとよく聞ききますが、本当のところはどうなんでしょう?来年は大学院へ進学予定なんですが就職後のことを考えてC言語も勉強した方がよいでしょうか?技術職、研究職、院生の方、意見をお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • oodaiko
  • ベストアンサー率67% (126/186)
回答No.3

Fortranがなくなりつつある言語かどうかはわかりませんが、すでに「古い」言語になりつつあることは 確かでしょう。構造体やポインタなどもないし(Fortran90にはあるようですが) 少なくとも民間企業では機械組み込み用であれパッケージソフトであれ使われていないと思います。 研究機関などにはまだFortranの資産も残っているのでしょうが、FortranのコードをCのコードに直す トランスレーターなどもあるので、Fortranが使えなくても差し支えないと思います。 少なくとも大学院の研究ではCかC++を使うことをお勧めします。 なによりいけないのはFortranになれてしまうと、現在主流のオブジェクト指向プログラミングを 理解しづらくなってしまうことだと思います。Fortran77だとそれ以前にポインタや構造体の概念も理解しづらい。 これらの概念はみなFortranにはないものだからです。 私自身もそれで苦労しました。私のプログラミング経験は学部の頃にFortran77をちょっとやっただけです。 そしてファイルとかOSとかの概念さえ知らないまま卒業以来コンピューターとは無縁の生活。 10年近いブランクの後、大学院に入学したらいきなりCでプログラムを組む課題が出たりして 戸惑ったものです。ましてやC++のゼミまであったので… BASICまたはperlのような言語ならFortran77の経験で十分対応できるのですが、Cはちょっとかけはなれています。 このあたりのことは以前にも回答したことがあるので参考URLの1つ目を御覧下さい。 なお以前に「教えて!goo」で、CとC++のどちらを先に学ぶのが良いかと言う議論がなされていました。 こちらも参考になるかと思います。参考URLの2つ目を御覧下さい。 私はCよりC++を先に学ばれることをお勧めします。

参考URL:
http://oshiete1.goo.ne.jp/kotaeru.php3?q=89442,http://oshiete1.goo.ne.jp/kotaeru.php3?q=80834

その他の回答 (3)

回答No.4

FORTRANは確か複素数を普通に使えるのでは ありませんでしたか?(私の記憶では…) CやC++にはなかったと思います.(最近離れてる ので,自信なし.) また私は去年卒論を提出するのにFORTRANで プログラミングをしてましたから,上記の理由も ありますから,今後,完全になくなるということは ないでしょう. ちなみに私は大学院生ですが,プログラミングはしない 専門分野なので,詳しいことは分かりません. ちなみに企業が注目するITスキルは, C,C++が第1,2位のようです.

  • asuca
  • ベストアンサー率47% (11786/24626)
回答No.2

fortranはスーパーコンピュータなどのベクトル、パラレルプロセッサを持ったマシンではベクトル化率、パラレル化率がC言語に比べて高いのでまだまだ使っているところが多いですね。 Cの構造化プログラミングなどが効率を下げる原因になっていることが多いです。 しかし最近ではコンパイラも良くなってきていますのでこれから色々プログラミングをすることを考えたらCを勉強して置いて損はないですよ。 どちらも出来るというのが一番良いんです。 勉強を初めてすぐはCの特長を生かしたプログラミングはフォートランをやっていた方だとなかなか出来ないのですが、ちょっとやればすぐに出来るようになりますよ。

  • a-kuma
  • ベストアンサー率50% (1122/2211)
回答No.1

Fortran はまだまだ使っているところはありますよ。数値計算を今後の 専門にするつもりなら、知っていることは損になりません。 確かに、技術計算の分野でもライブラリが揃って来てるので C でも 十分役に立ちますが、いわゆる大型計算機(ベクトルプロセッサみたいな)な 方面では、Fortran がまだまだ活躍しています。 でも、これから先、計算機と関わって行くつもりならば、C はかじる程度でも 良いのでやっておいた方が良いと思います。Fortran77 のレベルだと、ちょっと 考え方が古いので、他の言語への応用が利きにくいので。 ちなみに、私は仕事(計算機屋です)で3年くらい前までは Fortran ばりばり でした。まあ、Fortran だけでは飯を食って行きにくいので、C なども 当然使っていたのですが…