FORTRAN言語の生みの親、J・バッカスさん死去 96
ストーリー by GetSet
偉大なる先達に哀悼の意を表す 部門より
偉大なる先達に哀悼の意を表す 部門より
非常に多くのタレコミをいただいたが、その中から papa-pahoo 曰く、
毎日新聞の記事によると、ジョン・バッカスさんが、17日、オレゴン州アシュランドで死去したとのこと。82歳だった。
バッカスさんは、米デラウェア州ウィルミントン生まれ(Wikipediaなどでは「ペンシルバニア州フィラデルフィア」となっている)。1950年代、IBMでFORTRANを開発した。また、コンピュータ言語設計に大きな影響を与えたメタ言語「バッカス・ナウア記法(BNF記法)」の開発者でもある。1977年にチューリング賞を受賞。
タレコミ人を含め、FORTRAN77のお世話になった方も多いのではないだろうか。ここに哀悼の意を表すともに、心よりご冥福をお祈りいたします。
リンク追加 (スコア:3, 興味深い)
Re:リンク追加 (スコア:1)
> 簡単に書けるシステムを考えた」と述べている。
これは重要だと思う。
FORTRANが今に至るまで(物理系)研究者の間で使われているのは、
プログラムが簡単に書けるから。数値計算のプログラムなんて高々
数千行だし、構造化とか、オブジェクト指向とか考えながら書くぐ
らいならダラダラと書いた方が早いし楽。
プログラミングを習わずに、大学院に入っていきなり数値計算コー
ドを書けと言われた大学院生には、FORTRANの方が楽でしょ。c言語
を一から勉強してたらいつまでたっても、研究が進まないよ。
過去の資産が有るからFOTRAN、スパコンが対応しているからFORTRAN
という訳ではなくて、プログラミングが簡単だからFORTRANというの
が本質だと思う。
Re:リンク追加 (スコア:2, 参考になる)
大きい粗行列の数値解析を扱う仕事柄,「簡単に書ける」と言う点と,
ライブラリを追加せずに以下の機能を使用できる点で90を選びました。
・(77もですが)複素数をサポート
・行列演算
・配列の動的割り付け
・部分配列の参照,操作
77に比べて,以下の点はとても助かってます。
・関数内で渡された行列のサイズを参照可
・フリーフォーマットになった
・moduleを使用可能
(オブジェクト指向でないのが残念ですが...)
Re:リンク追加 (スコア:1)
> プログラムが簡単に書けるから
いいなぁ。物理の人たちはそう言う理由で便利な言語が生き残って。
数学で便利な APL は今はどうなってるんだろう。
行列の掛け算1行で書けたり便利だったんだけど。。。。
#Mathematica や Maple はまだ現役だよね。MAXIMA や REDUCE ってどうなったのかなぁ。
Re:リンク追加 (スコア:5, すばらしい洞察)
え。だって、プログラマなんて「怠けるためにはどんな努力もいとわない人たち」じゃないですか。
Re:リンク追加 (スコア:2, おもしろおかしい)
Re:リンク追加 (スコア:2, おもしろおかしい)
>いや、そういうヤツは苦労するのよ。
いや、そう言うヤツに苦労させられる事の方が多い・・・
Re:リンク追加 (スコア:1)
#いや実際もう少し怠けたい…。たぶんこれは努力が足りないせいなのだな(笑)
Re:リンク追加 (スコア:1)
変換スクリプトを書いていたらハマッてしまい、
より時間がかかっているがそれでも諦めない。。とか?
Re:リンク追加 (スコア:1)
Re:リンク追加 (スコア:1)
それは「コーダー」。「プログラマー」とは呼ばない。
FORTRAN77のお世話になった方も多い (スコア:1, 興味深い)
・そうそう
・みんな若いなあ
・みんな年寄りだなあ
Re:FORTRAN77のお世話になった方も多い (スコア:4, すばらしい洞察)
- FORTRAN 66
- FORTRAN 77
- Fortran 90
- Fortran 95
- Fortran 2008
などなど.
そこで敢えて"FORTRAN77のお世話になった方も多い "と FORTRAN77 を挙げていることから,タレコミされた方はかなり年季が入ったプログラマさんだと思います.
Re:FORTRAN77のお世話になった方も多い (スコア:1)
やっぱり、FORTRAN といえば FORTRAN IV。 (後の FORTRAN 66である。)
やっぱ DO LOOP へとびこめなきゃ。
#構造化なんか飾りです。
#あんなものは弱虫の言い訳です。
本物のプログラマは (スコア:3, 興味深い)
http://www.genpaku.org/realprogrammerj.html [genpaku.org]
Re:本物のプログラマは (スコア:1, おもしろおかしい)
Re:FORTRAN77のお世話になった方も多い (スコア:3, すばらしい洞察)
いやまぁ、そううそぶく人だとしても浮動小数点型を含む計算式までアセンブリ言語で書いてみろ、なんて言われてもなお「こっちのほうが楽」と言える人は少ないでしょう。まさに FORmula TRANsferなんですよ、奴は。
つまり当時は構造化以前の時代で「計算式をラクチンに書けるアセンブリ言語」というだけで喜ばれていた時代なんです。
Re:FORTRAN77のお世話になった方も多い (スコア:2, 興味深い)
FORTRAN は「FORmula TRANslator」の略では?
って確認しようとちょっと調べたら、WikipediaはFORmula TRANslation [wikipedia.org]になってる。
自分の記憶では「TRANslator」だったのにな、とGoogle Fightしてみたら
translation:42800 [google.co.jp]対translator:34400 [google.co.jp]で、translationの勝ちだけど僅差。
どっちが正しいのでしょうか?
教えてエラい人
#少なくともFORmula TRANsfer [google.co.jp]は違うと思う…
Re:FORTRAN77のお世話になった方も多い (スコア:1)
一方、理化学辞典第5版(岩波書店)によると
となっており、同じ岩波書店の辞書の中でも表記揺れがありました。どちらでも良いのかもしれません。
#ちなみに、私はformula translatorの方で覚えていました。
theta
Re:FORTRAN77のお世話になった方も多い (スコア:1)
知覚のために作られたのがプログラミング言語。
全てのプログラミング言語はシンプルの対極にある。
なのにコーディングの方針として KISS を誇らしげに掲げる奴らがいる。
俺もあれぐらい鈍くなれれば、もしかしたら幸せになれるのかも。
Re:FORTRAN77のお世話になった方も多い (スコア:1)
規模が大きくなるほどファイル毎に分割されたコードは関数の寄せ集まった他の低水準高級言語と似たようなものですし、内部の細かな部分も(当然?)単純になってきてループにしろなんにしろ、お決まりの形みたいなものの寄せ集まりでしょう。
ちょっと無理してC言語でオブジェクト指向というのはありますが、アセンブリでオブジェクト指向なんてまるで想像も出来ない別次元でしょうし。
Re:FORTRAN77のお世話になった方も多い (スコア:1)
昭和49年5月15日 第1版第1刷 オーム社 定価3,000円
西暦で1974年発行ですね。
Re:FORTRAN77のお世話になった方も多い (スコア:2)
Computer Language History [levenez.com]を見ると、LispはCommonLispに収束しましたが、FORTRANは現在まで一直線に続いているのがわかります。
Re:FORTRAN77のお世話になった方も多い (スコア:1)
>出力が薬学部のプリンターから出る。
そうか、わたしの脳にいろいろなことが
勝手に書かれるのはそういうことだったのか。
Re:FORTRAN77のお世話になった方も多い (スコア:1)
>>出力が薬学部のプリンターから出る。
>そうか、わたしの脳にいろいろなことが
>勝手に書かれるのはそういうことだったのか。
薬学部のプリンターを通じてスラドへ書き込みができる
仕組みには興味深いものが。
Re:FORTRAN77のお世話になった方も多い (スコア:2, 参考になる)
当時はFACOM230を使っていましたが、FORTRAN GE・HEというのがありまして、それぞれ5000・7000相当だったと思います。
ちょちょっとJCLを変える(パンチカードを差し替える)と、選択できたように思います。与えられたJOB時間にシミュレーションが
収束するか否かと瀬戸際の時、結構重宝したような。
FORTRAN77は、構造化プログラミング主義・思想が世の中を席捲しつつある渦中で、まさに踏み絵のような存在でした。
というのは、当時はまだ、プログラミングの自由度と引き換えに、JOB実行時間がかすかに遅かったのです。
結局、FORTRAN77を使うことはありませんでした。
就職したら、HP3000というミニコンでLA(Laboratory Automationね)のシステムを、また古い FORTRAN IVで組んでました。
...ような気がしますが、あまり昔のことなので記憶があいまいです。
Re:FORTRAN77のお世話になった方も多い (スコア:3, 興味深い)
年寄りの思い出。
・(システムにもよりますが)本に書いてあるとおり、PAUSE 文を流してしまい、オペレータにえらい剣幕で怒られる
・紙カードをぶちまけてショボン (´・ω・`)
・ワークステーション環境に移行しようとしてメインフレームではどの機械でも通るプログラムの構文エラーに悩まされるていろいろ調べたあげくに WS用FORTRANの実装ミスに気づく
・今でも変数が整数の場合は頭文字が I〜N
・高級言語を書くときにもどんなマシン語に落ちるか気にしながらプログラミング
・//SYSIN DD= .... とかないと落ち着かない
Re:FORTRAN77のお世話になった方も多い (スコア:1)
・最近の言語に算術IF文がないのは(エレガントじゃないので)許せない
Re:FORTRAN77のお世話になった方も多い (スコア:1)
直すのめんどくさいけど、ちゃんと縁に斜めに線引っ張ってあるから大丈夫です。
>・(システムにもよりますが)本に書いてあるとおり、PAUSE 文を流してしまい、オペレータにえらい剣幕で怒られる
これ、意味がわかんないや。
Re:FORTRAN77のお世話になった方も多い (スコア:1, すばらしい洞察)
>非常に多くのタレコミをいただいたが、
WATFOR,WATFIV,ratfor (スコア:1)
知っている人は少ないだろうなあ。
確か1パスコンパイラでえらくコンパイルが早かったように記憶
しています。あと、配列の添字チェックとか、(特別な値を埋め
こんでいて)未定義変数への参照チェックとかの機能を持ってい
ました。
ratforは...プリコンパイルした結果を処理する処理系がなかった....
WATFIV使ってました (スコア:1)
そういえばFORMATという名前の配列が使えないという制約が
あったっけ。
BNFよ永遠に (スコア:1, 興味深い)
ただ、BNFのほうは今でもお世話になりまくりですよね。文法の話をしようとすると大抵(?)ありがたく使わせて頂いている。
Fortranは初期かつ特定の言語実装、つまり歴史全体から見れば「プロトタイプ」くらいの位置づけでしかなく、それはそれでもちろん重要だとは言ってもイマイチなのだが、一方BNFはもっと抽象的なものなので多分「未来永劫」使えますよね。
(年代的にはどうなんでしょう?Fortranの痛い部分が散々わかってから、BNFのようなエレガントかつメタな捉え方を考案した、のでしょうか?)
そういう意味でBNFの功績のほうを遥かに強く褒め称えたいなあ。
Re:BNFよ永遠に (スコア:3, 興味深い)
関係ない人にとっては昔も今もいらないでしょう。
分野によっては変わるものが全く存在しない巨人でもあります。
私は未だにFORTRANで食べていますが、書き手が少なくなっているせいで
うちの会社は仕事を全て請けきれない状態です。
しばらくはFORTRANを脅かす存在は現れる気配がないので若い方も
是非当社へお越しあれ。
FORTRANは世界的に書き手が不足しているらしく(まあ若い者はやらないからな)
世界中から依頼が来ていて私はまだ10年くらいFORTRANを書き続けなければならないようです。
LISPer なのに FORTRAN の仕事ばかり押し付けられる定年でやめられそうもない爺プログラマー
Re:BNFよ永遠に (スコア:1, すばらしい洞察)
ACで書くんだったら、せめてヒントぐらい書けよ。
Re:BNFよ永遠に (スコア:1)
> 世界中から依頼が来ていて私はまだ10年くらいFORTRANを書き続けなければならないようです。
COBOL もよくそんなこと言われてますが COBOL は代替できるシステムがあったりして FORTRAN ほど深刻じゃないのかもしれませんが、FORTRAN は結構どうにもならなそうな気がしますよね。
他にも PL/I とか ALGOL とかもメンテできなくて困ってそう。
#つい最近も社内で「誰か ALGOL のプログラム保守できない?」と悲鳴が聞こえてきた。
> LISPer なのに FORTRAN の仕事ばかり押し付けられる定年でやめられそうもない爺プログラマー
計算機の基礎がちゃんとわかってて FORTRAN のプログラムとかどんなマシンコードに落ちるか想像付きそうな言語を一つきちんと修得していればどんな言語が来てもそんなに困らないような気がするんですが、最近の若い人はそうじゃないのかなぁ。
#そうそう。こういうときに BNF のありがたみって身に染みてわかります。
昔より裾野が広がっているだけ才能のあるヤツも増えてても不思議はないと思うんだけど。。。。
Re:BNFよ永遠に (スコア:1)
> あれは高級アセンブラですから
高級だったのか。
毛の生えたアセンブラだと思ってました。
Re:BNFよ永遠に (スコア:2, すばらしい洞察)
でも FORTRAN (やっぱ大文字!)がなかったらその後の進化もこんな風じゃなかったかも。
今でも宇宙開発や環境シミュレーションではバリバリ FORTRAN は現役です。他にも原子炉関連やプラズマ関連のシミュレーションなんかも FORTRAN だと思うんですが。
#そういえば JA/HPF ってどうなったんだろう。
大学でも学部レベルの計算は結構な分量が Excel でこなされてたりして頭の痛い状況があったりしますから、FORTRAN なんか見たことねーや、って人も増えているのかもしれませんが。
ただ、コンピュータの特性を学ぶためには今でもいい教材だとは思うんですがね。
> そういう意味でBNFの功績のほうを遥かに強く褒め称えたいなあ。
この点については同意。
Re:BNFよ永遠に (スコア:3, 興味深い)
>ただ、コンピュータの特性を学ぶためには今でもいい教材だとは思うんですがね。
この2行は激しく同意。
>今でも宇宙開発や環境シミュレーションではバリバリ FORTRAN は現役です。
>他にも原子炉関連やプラズマ関連のシミュレーションなんかも FORTRAN だと思うんですが。
宇宙や環境シミュレーションは知りませんが、原子炉やプラズマ関連はこの辺やってる人が
FORTRANしかまともに使えない、というのが実際だと思います。
(それかFORTRAN特有の極限までのチューニングが必要な場合か)
よく、プログラムで「医療や原子力など重大な用途への使用を禁じます」みたいな記述をみることが
ありますが、むしろ逆に一部の原子力FORTRANコードの品質にはひどいものがあります。構造化以前
の遺産を引きずっていて
・とりあえず変数は全てstaticに取る。あと主要な変数は全てグローバル変数。
・配列を動的に確保できないので配列数をハードコーディング。グローバルな配列数も全ファイルに逐一記述
・goto, implicit real* a-h,o-z は当たり前
・エラー処理なし、計算結果を見ればわかる。SIGFPEが出るなんてむしろラッキーな部類にはいる。
・変数は6文字以内の謎の記号。(たいていは4文字ぐらい)
とかでバグが出ると大変です。なんでバグが発現する場合は
乱数の種変えたり、計算点ずらしたりでバグ回避することも。
(長年の実績のあるコードなので動けばまともな結果は出てくる)
確かに原子力クオリティと言った場合材料なんかは特別な高品質グレードを意味しますが、
計算コードの場合必ずしもそうではないです。
#ただ炉心とか本当にクリティカルな部分は実験データ重視で、
#実験データ使ってゴリゴリ修正したり、計算にしてもその炉にしか
#通用しないような「魔法のパラメータ」作ったりするので
#方法論はともかく結果は正確なようです。
#原子力は本当に重要なところは実験重視ということで核弾頭なんかもそういう
#感じなんで「核実験」が必要なんだと思いますね。
Re:BNFよ永遠に (スコア:1)
Re:BNFよ永遠に (スコア:1)
もう二度とないだろう、貴重な経験だったと思っていたのですが
その後もFortranからの移植とかなんとかで結構お世話になりました。
まだまだそう言う仕事は結構あるのかもしれません。
なので氏のご冥福をお祈りしています。
#どこにぶら下げようか迷ったけどここに
Re:BNFよ永遠に (スコア:1)
> 多数発明されたので(過去の資産のためを除けば)今更イラネです。
Fortran が最近の言語が備えているような機能を今でも持っていないのは
コンパイル時に最大限の最適化を行うために敢えてそうしてるんじゃなかったけ?
計算機産業の半分をしめるハイパフォーマンスコンピューティングにおいては
バリバリ現役の言語だと思うけど。
#うろ覚え。つっこみ歓迎
Re:BNFよ永遠に (スコア:1)
オオブルネリあなたのお家はどこー?
私のお家はほにゃららよー
IBMの若き過ちなのー
ヤッホー フォートラン ラン ラン
ヤッホー フォートラン ラン ラン
とかいうのを思い出した。
Re:BNFよ永遠に (スコア:1)
Sun、新プログラミング言語Fortressをオープンソースとして公開
http://srad.jp/developers/article.pl?sid=07/01/15/1521236
Re:BNFよ永遠に (スコア:1)
>考え出されているように、まだまだ要るのです。
Fortressが作られたから、FORTRANもういらねってことになってるんじゃ?
#まぁ実際のところ、○○があるから××いらね、で済む世界ではないですが
Re:この際 (スコア:1, 興味深い)
Re:この際 (スコア:1)
ソレ以降の改変がライセンス上不可能になるって奴ですね。
# 個人的にはクヌース氏自身が撤回発言をするのでは、、と思っています。
Re:この際 (スコア:4, 参考になる)
原文(PDF) [www.ntg.nl]は読んでますか?
みたいなことは書いてありますが、改変を認めないと書いてあるようには見えません。ソース自体はpublic domainなのでforkすればいいだけ。# 原文読んだの初めてだなぁ。いい時代になったもんだ。
Re:この際 (スコア:1)
起こすことのできる主体がいなくなるので、その後でなら
改変しても起訴されることはなくなるな。
アメリカの場合どうなるんだろう?
Re:この際 (スコア:1)
FORTRAN manual for Xerox computers [google.co.jp]