アカウント名:
パスワード:
計算機の基礎がちゃんとわかってて FORTRAN のプログラムとかどんなマシンコードに落ちるか想像付きそうな言語を一つきちんと修得していればどんな言語が来てもそんなに困らないような気がするんですが、最近の若い人はそうじゃないのかなぁ。
私はコード書いてご飯を食べるようになってから15年を超えた所ですが(中堅と古参の中間くらい?)、もっぱら一般的な Windowsアプリケーションばかり書いているので最近はマシン語をイメージするよりも「この処理が Windows OS自身へ(or 動いている他のプロセスへ)どのような影響を及ぼすか」とか、そういう所を良く考えるようになりました...メモリイメージを考えることも少なくなった..かなぁ
DOS時代は CPUが見える気分だったんですけどね。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
普通のやつらの下を行け -- バッドノウハウ専門家
BNFよ永遠に (スコア:1, 興味深い)
ただ、BNFのほうは今でもお世話になりまくりですよね。文法の話をしようとすると大抵(?)ありがたく使わせて頂いている。
Fortranは初期かつ特定の言語実装、つまり歴史全体から見れば「プロトタイプ」くらいの位置づけでしかなく、それはそれでもちろん重要だとは言ってもイマイチなのだが、一方BNFはもっと抽象的なものなので多分「未来永劫」使えますよね。
(年代的にはどうなんでしょう?Fortranの痛い部分が散々わかってから、BNFのようなエレガントかつメタな捉え方を考案した、のでしょうか?)
そういう意味でBNFの功績のほうを遥かに強く褒め称えたいなあ。
Re:BNFよ永遠に (スコア:3, 興味深い)
関係ない人にとっては昔も今もいらないでしょう。
分野によっては変わるものが全く存在しない巨人でもあります。
私は未だにFORTRANで食べていますが、書き手が少なくなっているせいで
うちの会社は仕事を全て請けきれない状態です。
しばらくはFORTRANを脅かす存在は現れる気配がないので若い方も
是非当社へお越しあれ。
FORTRANは世界的に書き手が不足しているらしく(まあ若い者はやらないからな)
世界中から依頼が来ていて私はまだ10年くらいFORTRANを書き続けなければならないようです。
LISPer なのに FORTRAN の仕事ばかり押し付けられる定年でやめられそうもない爺プログラマー
Re:BNFよ永遠に (スコア:1, すばらしい洞察)
ACで書くんだったら、せめてヒントぐらい書けよ。
Re:BNFよ永遠に (スコア:0)
FORTRANの門を叩くべきかなあと。
コードにコメントというヒントが無いと確かに困る
それは認める
Re:BNFよ永遠に (スコア:1)
> 世界中から依頼が来ていて私はまだ10年くらいFORTRANを書き続けなければならないようです。
COBOL もよくそんなこと言われてますが COBOL は代替できるシステムがあったりして FORTRAN ほど深刻じゃないのかもしれませんが、FORTRAN は結構どうにもならなそうな気がしますよね。
他にも PL/I とか ALGOL とかもメンテできなくて困ってそう。
#つい最近も社内で「誰か ALGOL のプログラム保守できない?」と悲鳴が聞こえてきた。
> LISPer なのに FORTRAN の仕事ばかり押し付けられる定年でやめられそうもない爺プログラマー
計算機の基礎がちゃんとわかってて FORTRAN のプログラムとかどんなマシンコードに落ちるか想像付きそうな言語を一つきちんと修得していればどんな言語が来てもそんなに困らないような気がするんですが、最近の若い人はそうじゃないのかなぁ。
#そうそう。こういうときに BNF のありがたみって身に染みてわかります。
昔より裾野が広がっているだけ才能のあるヤツも増えてても不思議はないと思うんだけど。。。。
Re: どんなマシンコードに落ちるか (スコア:0)
私はコード書いてご飯を食べるようになってから15年を超えた所ですが(中堅と古参の中間くらい?)、もっぱら一般的な Windowsアプリケーションばかり書いているので最近はマシン語をイメージするよりも「この処理が Windows OS自身へ(or 動いている他のプロセスへ)どのような影響を及ぼすか」とか、そういう所を良く考えるようになりました...メモリイメージを考えることも少なくなった..かなぁ
DOS時代は CPUが見える気分だったんですけどね。
Re:BNFよ永遠に (スコア:0)
いろんな理由で数値計算の研究では食いっぱぐれそうなんで...
でもFortran77より古いコードをメンテするのは大変そうだな〜
#さすがにAC
Re:BNFよ永遠に (スコア:0)
# 定番すぎるけどAC
Re:BNFよ永遠に (スコア:0)
Cを普通の言語だと思うからそう思うわけで
あれは高級アセンブラですから
#アセンブラで書けない人が、使っちゃいけないんです(嘘)
Re:BNFよ永遠に (スコア:1)
> あれは高級アセンブラですから
高級だったのか。
毛の生えたアセンブラだと思ってました。
Re:BNFよ永遠に (スコア:0)
>> あれは高級アセンブラですから
>
>高級だったのか。
>毛の生えたアセンブラだと思ってました。
高級言語は毛の生えた処理しかできないのはBASIC時代からのお約束です。
Re:BNFよ永遠に (スコア:0)
>> あれは高級アセンブラですから
> 高級だったのか。
> 毛の生えたアセンブラだと思ってました。
誰もみないと思うけど PDPのアセンブラで書くよりも
楽でしたよw
ニモニックと1対1でかなり対応しているのが笑っちゃいましたけど
#機会と暇だあったら見てくださいねw
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よ永遠に (スコア:0)
> ・配列を動的に確保できないので配列数をハードコーディング。グローバルな配列数も全ファイルに逐一記述
メモリの割り当て計画が完全に予期できるというのはとても重要ではないでしょうか。原子炉の制御プログラムが突然スワップしたりGC始めたりOutOfMemoryErrorで落ちたりしたら怖すぎます。
Re:BNFよ永遠に (スコア:0)
ここでいう計算コードはシミュレーション用のコードでしょう。
#しかし、大抵のシミュレーション用のコードは、未だにベクトル時代の遺産を引きずった設計なんだよなぁ。
#ベクトル長を長くしようとして配列の次元を弄ってあるから読みにくいし、並列化との相性が非常に悪い。
##そういえば、昔のバージョンのSTAR-CDは、設定ファイルの1つが配列数が書かれたソースコードで、実行前にコンパイルするんだったなぁ。
Re:BNFよ永遠に (スコア:0)
Re:BNFよ永遠に (スコア:0)
きっとLisp一辺倒になってたんですよ!(わら
超古典言語としてFORTRANおよびLispっていう両極端なものが存在するってのは、なにか意味深ですね。
FORTRANはいわば抽象化する部分を必要最小限に絞ったもの。
そしてその後継(?)言語たちは抽象化する部分を少しづつ拡張していった。
いっぽうLispは最初から(実装手段なんて想像もしなかったくらいに!)抽象度最大限!って感じの設計。
ただ、書き方が難しいのが災いしてか(あと昔は性能的に不味かったろうし)、
それ自体はあまり普及せず、のちのFORTRANの後継たち
Re:BNFよ永遠に (スコア:0)
お楽しみのところ申し訳ないが、Lispは最初はFORTRANのライブラリだったのだが
あと下の毛は生えてないほうがいいので構造化アセンブラでも使います
Re:BNFよ永遠に (スコア:1)
Re:BNFよ永遠に (スコア:1)
もう二度とないだろう、貴重な経験だったと思っていたのですが
その後もFortranからの移植とかなんとかで結構お世話になりました。
まだまだそう言う仕事は結構あるのかもしれません。
なので氏のご冥福をお祈りしています。
#どこにぶら下げようか迷ったけどここに
Re:BNFよ永遠に (スコア:1)
それまでBASICで遊んだことはありましたが,
初めて触るFORTRANが面白くて教科書の後ろの方のコードを打ち込んだのを覚えています(たしか円周率の計算).
もうほとんど忘れてしまいましたし,触ることもないでしょうが,
自分のプログラミングの第1歩だと思っています.
バッカスさんのご冥福をお祈りいたします.
Re:BNFよ永遠に (スコア:1)
> 多数発明されたので(過去の資産のためを除けば)今更イラネです。
Fortran が最近の言語が備えているような機能を今でも持っていないのは
コンパイル時に最大限の最適化を行うために敢えてそうしてるんじゃなかったけ?
計算機産業の半分をしめるハイパフォーマンスコンピューティングにおいては
バリバリ現役の言語だと思うけど。
#うろ覚え。つっこみ歓迎
Re:BNFよ永遠に (スコア:1)
オオブルネリあなたのお家はどこー?
私のお家はほにゃららよー
IBMの若き過ちなのー
ヤッホー フォートラン ラン ラン
ヤッホー フォートラン ラン ラン
とかいうのを思い出した。
Re:BNFよ永遠に (スコア:0)
おおブレネリ あなたの言語はなに
私の言語はFORTRANよ~
数値計算が得意なのよ~
とかいうものでした
#数値計算はやってますが Fortran はイラネ
Re:BNFよ永遠に (スコア:1)
Sun、新プログラミング言語Fortressをオープンソースとして公開
http://srad.jp/developers/article.pl?sid=07/01/15/1521236
Re:BNFよ永遠に (スコア:1)
>考え出されているように、まだまだ要るのです。
Fortressが作られたから、FORTRANもういらねってことになってるんじゃ?
#まぁ実際のところ、○○があるから××いらね、で済む世界ではないですが
Re:BNFよ永遠に (スコア:1)
いやCがつかえるなら使いたいのですがWindwos用のCコンパイラが研究室にないのですよ。
Re:BNFよ永遠に (スコア:0)
Re:BNFよ永遠に (スコア:1)
環境設定ファイルで何とかごまかしてほかのコンパイラ(UNIX互換環境が構築されていてなぜかその中にccがあった)が使えないものかと試してみましたが敗北しました。
Re:BNFよ永遠に (スコア:0)
Re:BNFよ永遠に (スコア:0)
たくさんありますよね。
FORTRAN 以後、多数発明されたマシだったはずのものの大半は存在さえ
忘れ去られているけど。