FORTRAN77言語のプログラム構築の限界


ただいまFORTRAN77を学習しております
基本的な構文(IF,DO,SUBROUTINE,FUNCTION)までやってみて
思ったのですが

いまいち計算しか出来ない言語に思えてきました
C言語やJavaScriptはFORTRANの次に出来た言語ですから
たくさんの処理が出来るのは分かりますが

FORTRANでの処理が少なすぎると思います
演算以外の事は出来るのですか!?
玄人プログラマーさま方回答お願いします

回答の条件
  • 1人5回まで
  • 登録:2011/09/17 21:45:15
  • 終了:2011/09/24 13:20:56

ベストアンサー

id:a-kuma3 No.1

a-kuma3回答回数4502ベストアンサー獲得回数18692011/09/17 22:49:00

ただいまFORTRAN77を学習しております

なんで、八咫烏さんが Fortran を、という疑問は脇によけておくとして、

(玄人かどうかはわからんですが)経験者として。


「演算以外のこと」というと、画面の描画とかになると思うんですが、

割と最近の言語でも、言語の仕様として組み込まれているか、というと、

そういうことではなくて、「ライブラリが充実してる」だけです。


質問であげられてる範囲だと、javascript は境界があいまいですが、

C言語なんかは、言語の仕様として定められているわけではなく、

使えるライブラリが充実しているだけです。

だから、何かの画面を作るにしても、Windows と Unix で、ライブラリで用意されている

関数の呼び出し方が全く違っている、というようなことがおきます。


もう、20年くらい前のことですが、汎用機の OS で、Fortran から呼び出せる

グラフィックのライブラリを使って、CAD っぽい画面を作ってたことがあります。

線を引くとか、領域を塗りつぶす、みたいたサブルーチンが Fortran から呼び出せるように

作ってあるライブラリを使ってました。


Fortran や COBOL が古いなあ、と思うのは、変数などのスコープが自由にならないことだと思います。

関数やサブルーチンの再帰的な呼び出しができない、とか、

変数の宣言がモジュールの先頭でしかできないので、プログラムの全体を眺めないと、

変数の名前を自由につけられない、とか。


後、変数のメモリ割り当てが自由にできない、というのも、古さを感じさせます。

古い人に言わせると、「だから、メモリリークが存在しないんだ」とか言い出しますが、

ソースの中で配列の最大値を固定で書いて、それを超えるデータを扱えない、

というようなプログラムしか書けません。


書きだすとキリが無い話題ですが、質問の意図とずれているところがあれば、

指摘してもらえれば、答えられる範囲で回答します。

id:flandlescarlet

なんとなくこの質問にa-kuma3さんが来てくれると思っていました

一応とある書物で読んだのですが

「プログラミングをするうえで古い言語は一度はしておけ」と

書物に書いてあったのです

それがきっかけですね(アセンブラはお手上げ)

確かにライブラリが現代人気を占める言語に携わっていましたね

Perlもモジュールを用いてWindowを作ったりTkでしたかな

後はあまり知りません

C言語のライブラリも友人が文字列のソートの時に使っているのを目のあたりにしました、しかしそれを考えるとJavaScriptについて説明に悩んでしまいますが...

FORTRANでCADの絵画が出来るのですか!!

正直コンパイルして実行しても返す文字は数字か文字だけ

少しソースが気になったり

確かにFORTRANはいろいろと規制がありますね

変数は6文字しかおけないという記述をサラッと見た覚えがあります

話はかわりますが

FORTRANの構文はやはり(Whileやforにそれに携わるbreakやcontinue)が無いのも

扱いづらく思いました

なかなか詳しい説明ありがとうございます!!

たくさんの言語やOSについて長く携わっておられるのですね


近々Linuxの不具合の対処について質問しようと思っているのです

前回のLinuxの不具合での質問ではコメント欄で見守っていただいた時の事を覚えています

もしよければ分かる不具合について一緒に考えていただきたいのです

2011/09/17 23:57:59

その他の回答(6件)

id:a-kuma3 No.1

a-kuma3回答回数4502ベストアンサー獲得回数18692011/09/17 22:49:00ここでベストアンサー

ただいまFORTRAN77を学習しております

なんで、八咫烏さんが Fortran を、という疑問は脇によけておくとして、

(玄人かどうかはわからんですが)経験者として。


「演算以外のこと」というと、画面の描画とかになると思うんですが、

割と最近の言語でも、言語の仕様として組み込まれているか、というと、

そういうことではなくて、「ライブラリが充実してる」だけです。


質問であげられてる範囲だと、javascript は境界があいまいですが、

C言語なんかは、言語の仕様として定められているわけではなく、

使えるライブラリが充実しているだけです。

だから、何かの画面を作るにしても、Windows と Unix で、ライブラリで用意されている

関数の呼び出し方が全く違っている、というようなことがおきます。


もう、20年くらい前のことですが、汎用機の OS で、Fortran から呼び出せる

グラフィックのライブラリを使って、CAD っぽい画面を作ってたことがあります。

線を引くとか、領域を塗りつぶす、みたいたサブルーチンが Fortran から呼び出せるように

作ってあるライブラリを使ってました。


Fortran や COBOL が古いなあ、と思うのは、変数などのスコープが自由にならないことだと思います。

関数やサブルーチンの再帰的な呼び出しができない、とか、

変数の宣言がモジュールの先頭でしかできないので、プログラムの全体を眺めないと、

変数の名前を自由につけられない、とか。


後、変数のメモリ割り当てが自由にできない、というのも、古さを感じさせます。

古い人に言わせると、「だから、メモリリークが存在しないんだ」とか言い出しますが、

ソースの中で配列の最大値を固定で書いて、それを超えるデータを扱えない、

というようなプログラムしか書けません。


書きだすとキリが無い話題ですが、質問の意図とずれているところがあれば、

指摘してもらえれば、答えられる範囲で回答します。

id:flandlescarlet

なんとなくこの質問にa-kuma3さんが来てくれると思っていました

一応とある書物で読んだのですが

「プログラミングをするうえで古い言語は一度はしておけ」と

書物に書いてあったのです

それがきっかけですね(アセンブラはお手上げ)

確かにライブラリが現代人気を占める言語に携わっていましたね

Perlもモジュールを用いてWindowを作ったりTkでしたかな

後はあまり知りません

C言語のライブラリも友人が文字列のソートの時に使っているのを目のあたりにしました、しかしそれを考えるとJavaScriptについて説明に悩んでしまいますが...

FORTRANでCADの絵画が出来るのですか!!

正直コンパイルして実行しても返す文字は数字か文字だけ

少しソースが気になったり

確かにFORTRANはいろいろと規制がありますね

変数は6文字しかおけないという記述をサラッと見た覚えがあります

話はかわりますが

FORTRANの構文はやはり(Whileやforにそれに携わるbreakやcontinue)が無いのも

扱いづらく思いました

なかなか詳しい説明ありがとうございます!!

たくさんの言語やOSについて長く携わっておられるのですね


近々Linuxの不具合の対処について質問しようと思っているのです

前回のLinuxの不具合での質問ではコメント欄で見守っていただいた時の事を覚えています

もしよければ分かる不具合について一緒に考えていただきたいのです

2011/09/17 23:57:59
id:sibazyun No.2

sibazyun回答回数1751ベストアンサー獲得回数2362011/09/17 23:08:03

昔アセンブラ、Fortranをやっていました。

計算機でできることは皆アセンブラでできますし、

スマートに書けるかどうかは別にして

Fortranでできます(もちろん、READ, WRITEも含めてですが)

で、「演算/計算以外」とは具体的にどのようなことを指すのでしょうか。

すべては(アセンブラも含めて)「演算/計算」と思いますが。

例えばメモリ空間内の検索。これはメモリ空間に対して

検索指示語と同じかどうかを探すことを繰り返して

行うという演算です。

画像処理、音声処理、CADソフトというのも、昔はFortranで

書いていました。

(追記)

音声処理というのは、入出力は別として、デジタルデータとしてみれば

例えばフーリエ演算ですが、これはもろ数値計算ですね。

画面上に一本、線分を描くというのも、Y=A*X+Bに従って、

2次元平面を、「Xが一つ増えたら、そのYはどこか」を始点から

終点まで繰り返していく処理です。

id:flandlescarlet

sibazyunさんもアセンブラやFORTRANをやっておられたのですね

演算や計算以外とは自分の中でマウスを連携したウインドウでの操作などをさします

FORTRANもそうですがC言語も初めは単に黒い画面と向きあって計算の処理を繰り返します

そして初問を突破してようやくその土台からゲームなどを作ったりするわけですが

FORTRANはC言語の前の言語ですからC言語は超えられなくても

それに沿う形で何かしらの処理は出来ないのだろうか!?

という疑問がわき質問させていただきました

音声処理なんてものがFORTRANにあるのですか...

入門書を一通り読んでも最後がCommon文やサブルーチンとかでしたから...

sibazyunさんも長い人生の中でたくさんの事を勉学されているのですね

その飛び抜けた知識に驚くばかりです

アセンブラこそがプログラマーを選ぶ言語なのでしょうかね...

BASICが一般人のうち1/10が理解できたら

アセンブラはそのBASICが出来た人のうちの1/10しか理解できないという

言語のレベルを説明している本で見た覚えがあります

2011/09/18 00:06:45
id:YAMADAMAY No.3

やまだまや(真優)回答回数171ベストアンサー獲得回数122011/09/17 23:14:58

FORTRANはおっしゃる通り、数値演算に強い言語です。C言語も同じですが、裸で走らせればWindowsで箱入り娘になったソフトより100倍くらい処理速度はあります(アセンブラや機械語はもっと速い)ですが、インターフェースに乏しいですね。私はGASと言うインターフェース的なサブルーチン群(中身は殆どアセンブラ)を共用する事によりグラフィック画面に図形を表示させました。面白い使い方としてはC言語が得意とするビット毎の計算や論理演算、変数を2重定義(バイト数が違う変数として共用)なども出来ることです。FORTRAN,COBOL、APL,PLI(ピーエルワン)などは第3世代、旧C言語は3.5世代と言われています。面白いのは(変数・命令が)日本語の方言で組める言語もありました。私は「逆ポーランド法」でプログラムを組むのは好きです。

id:flandlescarlet

何時も思うのですが言語の処理スピードには何が関係しているのかが気になります

コンパイラ言語かインタープリタ言語か

そこから徐々に分けてC言語が早いという記事を見ました

低級言語の方がそれなりに機械処理の形に近いから

早い!?ということでしょうか

もしアセンブラに画像処理なんてものがあったらソースが大変な事になる

気がしました

結構難しい話なため面白いのか理解に悩んでしまいます...

言語も時代と共に世代の名前がつけられているんですね

FORTRANのライバルがALGOL、COBOL、そしてPascalが現れそれに対抗する形でPL/1が登場したけど勝てずFORTRAN77が登場したというお話を見ました

逆ポーランド法ですか見てみましたがなかなかユニークな方法ですね

2011/09/18 00:16:57
id:okamotoy No.4

okamotoy回答回数116ベストアンサー獲得回数132011/09/18 09:35:13

 FORTRANで書くのは大量の数値処理だけで,他はライブラリにお任せするのがよいです.(他の方が書いてらっしゃる通りです.)

 かつて(あまりライブラリが充実していない状況)、FORTRANで書きづらい処理は多言語(CやPL/I的な言語やアセンブラ)で書いた副プログラムや関数を使うなど適材適所で言語選択するやり方をしていました.

 なので,グラフィックデバイスやプレゼンテーション層のライブラリ提供者には,とっても感謝しております (^^;

 また,言語は書き易さで選択するもので,プログラマ・コンパイラ・インタープリタ・リンカ・OS・ハードウェアの優秀さが性能を左右します.

id:flandlescarlet

やはりFORTRANは単に数値計算の処理が素晴らしい事を追求しているのですね

ライブラリを使わないとやはり単なる演算や計算ということはどの言語も

一緒であると今回理解しました

FORTRANやアセンブラという言語が現代ではほとんど使われなくなった中

それらの言語の行方はやはり今流行りのJava,C,またはWEBで充実のPerl,JavaScript

そのような比較的新しい言語をするプログラマーが原点に回心してする

ものだと思っています

正直古いプログラミングで大文字の仕様が多いいやデフォルトですかな

気になる所がありました

ライブラリが充実してそれなりにGUIに適応できるソースを記述できるように

なったのですね

「言語は人を選ぶ」ととある友人が言っておりました

2011/09/18 20:25:47
id:Baku7770 No.5

Baku7770回答回数2832ベストアンサー獲得回数1812011/09/18 10:17:17

 できると言えばできますし、できないと言えばできないと言えるでしょう。

 まず、図形描画という点ではa-kuma3さんが#a1で指摘されている通り、Fortranにもグラフィックライブラリが提供されていましたから、私の学生時代だと流体の流れを図式化していました。

 Fortranの出現当時は各社個別に言語もライブラリも提供していましたから、呼び出しは違ってくるのが常識とされていました。

 ライブラリを含めて言語と見るなら可能ですし、ライブラリを言語と見なさないなら不可能です。これはCも含めて同じです。

 音声処理については、初期においてはFortranで行われていましたよ。入力装置があってデジタルデータになれば後は別に言語は殆ど問われませんからね。

 

 何点か指摘をしますと、最近のFortranならCASE文というものがありますから、ストラクチャードプログラミングにかなり対応していると思います。

 また、リカーシブ(再帰)についてはむしろAlgolが目指した理学の世界が必要としたものであって、Fortranが重宝された工学の世界ではむしろ避けられた手法ですからね。そこに中西正和先生の11行プログラムという傑作が書かれるきっかけが生じたわけです。

http://www.jssac.org/Editor/Suushiki/V12/No3/V12N3_102.pdf

 それと、

>FORTRANのライバルがALGOL、COBOL、そしてPascalが現れそれに対抗する形でPL/1が登場したけど勝てずFORTRAN77が登場したというお話を見ました

 ここはどういった資料か存じませんが大きく誤解をした資料ですね。FORTRANのライバルがALGOL、COBOLってそれぞれの分野で相容れないものがありましたし、PL/IはFORTRAN、ALGOL、COBOLの全てを統合する言語として登場させたものであって、ライバル視はしていませんでしたし、PascalはALGOLの改良版を求める国際コンテストで落選した言語(採用はSimula)で、PL/Ⅰよりずっと後に持て囃されるようになりましたからね。

 ですから、私の専門分野の文献で言えば、理論先行の流体力学の文献はALGOLで書かれていましたが、実際の製品の設計や性能に関する流体工学はFortranで書かれていましたからね。

 逆にその資料にADAがどう書かれているか興味のあるところです。

id:flandlescarlet

今、大人方のみなさんの学生時代ではやはり

今言われる古い言語が一般に使用されていたのですね

OSもそうですが今思えば、昔に比べ不可能なことが随分と可能になりましたね

WEBの方しかあまり携わっていませんが

HTMLの進化論を見たのでなんとなくFORTRAN系列も分かります

C言語もライブラリがなければただ黒い画面に演算結果が算出されるのは

FORTRANと全く同じですね

FORTRANの簡易説明書(先程のライバルの話が書かれていた本です)を読んでも

実行画面はすべて文字でしたので

その説明書にはCASE文について書かれていませんでした

やはり入門から外されるレベルなのでしょうか

あげられたPDFの内容も興味深そうなので後でじっくり読んでみます


あとライバル関連の話の概要をもう少し説明すると

IBM社が開発したFORTRANの使いが悪くピンチになったとの事でした

開発元の会社等は詳しくありませんが見たとき開発元が違うのかなと思いましたね

Pascalが滅びてPerlが標準になったという話も聞いているぐらいです

FORTRANしか目にしていないためPL/1やALGOL,COBOLがどのような仕様かは分かりませんが古い言語にもなかなか面白い可能性があったのですね

2011/09/18 20:36:04
id:a-kuma3 No.6

a-kuma3回答回数4502ベストアンサー獲得回数18692011/09/18 10:36:33

# 懐かしさがこみあげてきたので、もうひとつ書き込み。


Fortran が数値演算でよく使われるのは、数値演算をするのに便利だから、という側面があります。


ひとつは、数値演算用のライブラリが充実していたこと。

行列の演算とか、フーリエ解析とか、難しい計算はライブラリに頼らざるを得ないんですが、Fortran では、昔から充実してました。

  • SMP … 行列やフーリエ解析を行う数値演算ライブラリ
  • SPSS … 主成分分析や因子分析を行う統計処理ライブラリ
  • SPIDER … 画像データ処理を行うライブラリ(表示なんかはできない)

純粋に計算だけを行うライブラリなので、デバイスなど環境に依存しませんから、

どんな計算機でも、Fortran があれば利用できる、という汎用性があります。


もうひとつは、ひとつめの回答にも書きましたが、スタックや動的なメモリ割り当てが無い分、

コンパイラがソースを最適化しやすい、ということがあります。

文法の違いを別にして、同じようなソースを書いた場合、Fortran でコンパイルした

実行モジュールの方が、早く動作しました。

そのうち、最適化だけだったら C言語のコンパイラの方が、いろいろなことが

できるようになったので、お株を奪われてしまった感じはありますが、

並列演算に関する最適化は、いまだに Fortran の方に軍配があがるようです。



ベンダーによる方言(独自実装)を別にしても、Fortran は大きく三つあります。

FORTRAN 66, FORTRAN 77, Fortran 90 のみっつです。

とくに断りを入れずに Fortran というときには、FORTRAN 77 を指してます。


Fortran 90 は、言語に大幅な拡張が取り入れられ、do while や switch case に相当する

記述もできますし、メモリの動的割り当てや、サブルーチンの再帰呼び出しなんかもできます。


Fortran 90 を実装したコンパイラがリリースされたくらいの時にも、ちょこちょこ

Fortran を使っていましたが、周りで使ってるのは、ほとんど見たことがありませんでした。

確かに、他の言語と同じようなイメージでソースは書けるし、数値演算のライブラリも

使えるし、ってことなんでしょうけど、

C言語では、他言語で実装したルーチンを呼び出すことができるし、

C言語と同じようなソースを書くために、わざわざ乗り換える必要が無いんですね (^^;


http://www1.doshisha.ac.jp/~jmizushi/program/Fortran90/3.1.txt

↑は、同志社大学 水島研究室 というページからひっぱってきた Fortran 90 のソースです。

Fortran 90 のテイスト満載、という感じではないんですが、

シンボル名の長さの制限が無くなってたり、DO の終端が CONTINUE じゃなくて、END DO になってたりします。


http://www.sci.hokudai.ac.jp/grp/poc/top/old/software/other/fortran_tips/index.htm

これはFortran77の知識があるuserがFortran 90 を使うためのtipsです.

どちらかというと、こっちのページの方が Fortran 90 テイストが感じられるかも。

これでも、Fortran なんです :-)

id:flandlescarlet

a-kuma3さんまたみなさんの時代に生まれていれば少なくとも

当時の感動について身に感じられたかもしれません


かなり奥深い話なためゆっくりgoogleで検索しながら見ます


ずばりFORTRANがあれば大学で学ぶような

今自分が見たら意味のわからない謎な記号を含む数学的な演算が

可能と言うことなのですね


フーリエについての本は友人から数分だけ貸してもらい

そのまま見なかったことにして返したわけですが


FORTRANを継ぐようにして作られたC言語

まだまだFORTRANの方が力をあげる分野が残っているのですね

しかしC言語の無限の可能性の力に押されて今では名前すらも聞きなれない

言語になってしまったと思います

それか新参者が単に興味がなかっただけ!?という事かもしれません


FORTRANの名前は年号にちなんだと聞いております

FORTRAN66は初めて聞きましたFORTRAN77にはwhileやswitchはありませんね

本には90/95の場合は新しい言語として取り組むようにと書いてありましたが

これは構文にちなんだものかなと思いました


77ではDO文が終わりが[数値] CONTINUE でしたからEND DOという書き方は

IF文に似ているなと思いました

しかし繰り返しのラベルの戻りが少々気になるところ


興味深いソースの提示などもありがとうございます

FORTRAN、最初は今の言語に敵わないしやる必要があるのだろうか

いつしか読んだ「古い言語もやっておくべき」の内容が分かったきがします 

2011/09/18 20:48:58
id:sanome No.7

翅生丸回答回数202ベストアンサー獲得回数192011/09/21 13:03:35

FORTRAN77で、開発しているシステムも少しはまだ生き残っていると思いますが、

FORTRAN77→C言語やJavaScriptに移行する際、両方の知識は必要でないでしょうか?

私も、COBOLから他の言語に移行する為に、仕事はなくなりません。

やはり、汎用機からの移行は最低限元言語と、移行言語最低2つは必要だと思います。

まだ、使う用途があるなら勉強は続けて良いと思います。

自分で『FORTRAN77言語のプログラム構築の限界』と思うなら、移行する言語のデリメリがあると思います。まぁ、それが理解しないで勉強止めると、その分仕事は減るさぁ。

A言語作ったシステムでで、B言語、C言語、D言語に幾つ変えられて、それぞれのデリメリを考えられる。その位の知識は必要だと思います。

私は面倒だから、機械語に全て変えてしまいます。

id:flandlescarlet

具体的にまだ使用される分野がある事は分かりました

FORTRANからCやJavaScriptに移行する逆で

JavaScriptをやっていてその親のCそして祖先とでも例えてFORTRANに

たどり着いたわけです


系統は継ぎながらもFORTRANとJavaScriptは全く異なる言語のように

思いましたね、演算はともかくWEBの見栄えに関するGUIが発展したからなのでしょうか

用途はありませんが、"昔のプログラミングを知ることの重要さ"という点から

学んでいます


そして、その昔の仕様ではやはり実行できる処理が少ない

→限界に挑んだら何が出来るのだろうか!?

そして今に至りました


A言語もB言語も存在を確認しつつソース自体見たことが無いので

分かりませんが、同じ系統でもデリメリを見分けることが大事なのですね(ソースを書き実行するだけでなく)

2011/09/23 13:07:01
  • id:sibazyun
    NO.2ですが、少し追記しました。
  • id:Kumappus
    Lisp…
  • id:flandlescarlet
    sibazyunさん音声処理についての追記ありがとうございます
    フーリエ演算という言葉にハッときました

    たまたま友人がフーリエ演算についてやっていたのですが
    確かに音に関してはグラフの関数による弧が関係していそうですね
    (具体的な処理やソースは全く存していません)
  • id:flandlescarlet
    くまっぷすさん

    確かにLispも古い...
    しかしLisp全く分かりません...
    とあるオーム社のRubyの本に過去のプログラムの派生図というのを
    見ましたがLispより昔のプログラムは無かったと記憶しています

    FORTRAN→C→JavaScript
    Lisp→Perl!?→Ruby

    しかしFORTRAN関係の本を読んでいてもやはりLispの事が
    書かれていないのでこの二つは全く縁が無いのかな、と思いました
  • id:sibazyun
    「SPIDER … 画像データ処理を行うライブラリ」は
    なつかしいですね。これの入ったMT(磁気テープ)を
    だいぶ長く保存していました。

    今はPhotoshopあたりでちょいちょいとやれることが
    いくつかありましたね。
  • id:Kumappus
    Lispは言語としてはLispの派生しか生み出していないけど
    重要な概念はいくつも他の言語に取り入れられていますね。
  • id:Baku7770
    八咫烏さん
     LISPは理解できないのが当然というか、概念自体が難しい。二進木処理専用の言語ですからね。
     初期のLISPなら演算も+1しかなかったですからね。
     
     初期の言語って用途を限定していたんですよ。特化した言語を作っておいて、プログラミング工程を簡略するという考えです。例えば、SNOBOLなんて言語は自身のコンパイラを4行程度で書けてしまいましたからね。文字処理だけなら、今でも超えられる言語はないでしょう。
     回答で書いたSimulaという言語は、当時もてはやされたシミュレータの機能を盛り込みすぎたので汎用性の高いPascalに実用面で負けたという方もいます。シミュレータだけならGPSSなんて言語もありましたから、その頃からではないでしょうか、汎用性の高い言語を開発しておいて、プログラミングを煩雑にするようになったのは
  • id:flandlescarlet
    sibazyunさん


    FORTRANにもしっかりと画像処理や音声処理
    時代によって構文の追加等もよく分かりました


    今ではまともに全貌を知ることはなかなか出来ません
    (サイトや本を読んでも奥が深い,数値的に)

    PhotoShopといえばプロが扱う画像編集ソフトではありませんか
    あのソフトにFORTRANが関連するとは微塵も思いませんでした...
  • id:flandlescarlet
    くまっぷすさん


    いわゆるLispにもFORTRANのように追記が行われたということなのでしょうか(大部分な構文)
    もはやどの言語も入門からだと

    変数の置き方→条件分岐→繰り返し→配列→関数→その他

    これが大体一般になりましたね
    どの言語も同じ道を通ってそれからライブラリまたは他の影響!?
    たくさん言語は触って無いので分かりませんが得意な分野で需要が変わるんでしょうね...
  • id:flandlescarlet
    Baku7770さん


    Lispを初めて見たとき異質さがアセンブラと同じでした
    それを思えば現在のプログラムの仕様がいかに楽かよく分かります

    コンパイルの仕組みはよく分かりません
    単にコンパイラをインストールしておいてそれに任せていますので
    内部の構造がどうなっているのか...

    コンパイラも自分で書けしかも4行...
    SNOBOL覚えておきます
    しかしプログラミング言語全部で数百個...
    その中で今はJavaとCが勝ち残っているわけですが

    昔で限界だった書き方が今標準ならば
    近未来的にこの二つの言語を超えられる物は現れるのか!?
    そう思ったりもしましたね
    (無いのでしょうけど)
  • id:rsc96074
     FORTRAN、懐かしい。数値計算のプログラムが充実しているので、これをCに翻訳して使ってました。(^_^;
  • id:a-kuma3
    >数値計算のプログラムが充実しているので、これをCに翻訳して使ってました。
    そうそう。

    で、どうしても計算結果が Fortran で計算した通りにならなくて、
    浮動小数点のフォーマットには、IEEE と IBM の二種類があるんだ、みたいなことを知りました。
    「実数」ではなくて「浮動小数点」という言い方になったのも、そのとき。

    Internet ではなく、NIFTY とか紙で調べたので、えらく時間がかかったなあ、という記憶があります。
  • id:okamotoy
     コンピュータが大文字しか解らなかったので大文字で書く必要がありました.
     また,ディスプレイ上でソースを書く仕掛けが凄く高価でしたので,80桁の紙にソースを書きました.
     でも,それはどの言語でも同じだったので「特段不自由」とは考えなかったですね.
     
     
  • id:godabin
    FORTRANが存続した背景にはスパコン(ベクトルプロセッサ)で最適化できたというのも大きいと思います。
    逆にいうと再帰的定義とかが苦手だったので平板的にしか記述できないわ
    ローカル変数名の概念が77には無いので重複に気を付けないとならないわ
    生産性という意味ではなかなか相手にしたくない言語ではありましたね。
  • id:godabin
    >浮動小数点のフォーマットには、IEEE と IBM の二種類があるんだ、みたいなことを知りました。

    IEEE規格化はi8087の登場より後のことですから、選択で悩む事は無かったはずです。
    それを言うなら文字コードにASCIIとEBCDICがあったの方が適当でしょう
    EBCDICはアルファベット文字範囲指定の演算が面倒だったしライブラリ使うのに不便でした。
  • id:a-kuma3
    >IEEE規格化はi8087の登場より後のことですから、選択で悩む事は無かったはずです。
    選択で悩んだ、ということではなくて、Fortran のライブラリを、自分としては
    忠実に C で書きなおしたつもりだったのですが、汎用機 (Fortran) と、PC (C) の結果が合わなくて。
    当然、自分で書いたコードが間違ってるからだと思うじゃないですか。

    結局、IBM フォーマットの方が、指数部が 16 の累乗だったので、値によって精度が悪くなるのが
    原因だと分かるまで、ずいぶん時間がかかりました。

    当時は、ひよっこだったので、「規格って何だ。それ、旨いのか?」状態でしたね (^^;
  • id:cx20
    FORTRAN は高校の頃(17~18年くらい前?)、少しだけ使ってました。仕事では使ったことは無いです。
    当時の環境は「FACOM M-330FX(ホスト)」+「FACOM 9450 Λ(端末)」という組み合わせだったかと思います。
    「万年カレンダー」とか「三角関数のグラフ(キャラクタベース)」とかをプリントアウトしてました(実行結果の既定の出力先が紙だった為)

    結構、高い機械だった気がしますが、全然、使いこなせてなかったですね(笑)
    ライブラリとかあったはずですが、当時は右も左も分からなかった為、テキストの内容を打ち込んでた程度だったかと思います。

    ちなみに、変わった使い方としては、文化祭で DATA 文?で ASCII アートを作って、印刷して配ってました。
  • id:fmht7
    自分が初めてプログラム言語に触れたのはPascalでした。
    Turbo Pascal、懐かしい…
  • id:flandlescarlet
    かなり内容が飛翔しているので
    今は少し避けます


    自分たちの世代からでいくと
    やはり初めに触る言語は一般に言われる有名所の
    (C,Java,Perl,JavaScript,VB,PHP)等になってくるのですね
    PascalやLispなんて言語は昔にあったんだね程度で終る事が多い気がします


    現在では記述言語のHTML派生が多いと思います
    最近の言語は昔に比べ仕様が細かいから理解しずらくなった
  • id:flandlescarlet
    みなさん
    無料の質問にも関わらず
    詳しい解説等ありがとうございました


    時間の方が安定したら
    次回10月の初旬くらいに
    今OSのLinuxで起きている問題を質問しようと思います
    以前よりも解決不可能な難題が幾つもありますので


    協力してくださる方はお願いします

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません