半世紀の歴史を持つFortranはCOBOLと並んで, 過去の遺物だと思われている. 大規模な数値計算では, Fortranは現役である. 正確な統計はないが, 地球シミュレータで実行されている大規模な計算のほとんどはFortranで書かれている. Cで書かれているものがいくつかあり, その中には最適化のために一部をFortranで書き直したものがあるそうだ.
パソコンでは, コンパイル不要なスクリプト言語が, さまざまな用途に使われている. パソコンの計算性能が向上し, スクリプト言語でも実用的な計算ができる. しかし, 計算量の大きな問題を解くときは, CやFortranで書いたプログラムの方が圧倒的に速く計算が終了する.
コンパイルは簡単なプログラムならほぼ瞬時に終わるので, プログラムの作成 (修正) と実行のサイクルにおいて, 妨げにはならない. Fortran 77はオブジェクト指向ではないが, サブルーチンは, 十分再利用されてきた. Fortran 90以降はmoduleが導入され, 再利用がしやすくなっている. Fortranは77以前のイメージがつきまとうが, 95, 2003, そして2008と進化を続けている.
スクリプト言語にもさまざまなライブラリへのラッパが提供されていて, 手軽に利用できるようになっているが, CやFortranの資産を利用しているものが多い. それらの資産は, ラッパの作り方の作法を覚えなくても, CやFortranからはそれぞれ直接利用できる. CからFortranのサブルーチンや関数, FortranからCの関数を呼び出すことは, それほど難しくない. CとFortran 77との相互利用の規約はよく知られているし, Fortran 2003ではCとの相互運用性が高められている.
最近ではスクリプト言語での利用も考えて, Cで書かれたライブラリも多い. C99では複素数も使えるようになった. それでは, Cを使うべきだろうか. Cはシステムに近い言語で危険なプログラムが簡単に書ける. また, 配列の機能がFortranに比べて少ない. 基本的な関数を書くにはよいが, 数値計算のプログラムにはFortranが便利である.
JavaはCよりも安全で様々なプラットフォームで動作する. また, 星の数ほどあるフレームワークやライブラリをうまく利用すれば計算結果の可視化ができる. やはりC同様, 配列や入出力がFortranほど手軽に使える形では提供されていないし, 実行速度も劣ることが多い.
Fortran自体には可視化の機能はないが, ライブラリを呼び出すことにより, 簡単な線グラフから3次元グラフィックスまでが可能となる. 大量の数値計算結果を可視化するときには, Fortranの「足腰の強さ」が生きてくる.
数値計算は, 速さが最も重要視されてきたので, ベンダ等が提供する商用コンパイラが主に使われてきた. 近年, gfortranやg95のようなフリーのコンパイラの完成度が高まってきた. フリーのコンパイラは多くのプラットフォームに対応する. コンパイルし直せば同じソースが様々なプラットフォームで利用できる. 同じコンパイラオプションが利用できるのも大きな利点だ.
このブログを検索
ブログ アーカイブ
ラベル
Accelerate
AGCM
Amazon
Android
aolserver
Apache
BibDesk
blosxom
Bluetooth
C
C++
clang
CMake
CMS
CoreStorage
CSS
Cybershot
DIY
dvipdfmx
D言語
epub
Excel
FLTK
fortran
g95
GDL
Geomview
GFortran
ghostscript
gitit
GMT
GPS
GrADS
Hakyll
Haskell
hdf4
hdmi
Hyde
iBooksAuthor
ImageMagick
iOS
iPad
iPhone
iPod
JavaScript
Jekyll
LAPACK
legendre
Linux
Lion
LuaTeX
Mac
Mac OS X Server
MacPorts
Marines
Markdown
MathJax
Maxima
Mendeley
MySQL
ncl
NETJUKE
NFS
Octave
OpenGL
OpenMP
OpenPNE
pandoc
PDF
PHP
piaggero
PLplot
PSTricks
python
qhull
QuickTime
radiko
rsync
RTTOV
Ruby
sd
sh
Snow Leopard
SQLite
static site generator
subversion
Swift
szip
Tcl
Tcl Tk
TeX
TeXShop
Tiger
Time Capsule
Tk
Ubuntu
upc
usb-c
vapor
vga
vim
VTK
WiMAX
Windows
Word
WordPress
wp-cli
WQHD
Xserve
YAMAHA
yst
ZFS
インプレッサ
かな入力
キーボード
クラウド
ことば
コンピュータ
スバル
スマホ
チャット
デジカメ
ヘッドフォン
まち
メール
モバイル
ライフスタイル
リトリーバル
英語
音楽
家具
家庭用品
家電
海洋モデル
開発
韓国語
気象学
教育
経済
研究
自作PC
自炊
室内干し
出来事
書評
数値計算
成果発表
洗濯
掃除
中国語
日誌
日本語
年賀状
物干し
料理
0 件のコメント:
コメントを投稿