とね日記

理数系ネタ、パソコン、フランス語の話が中心。
量子テレポーテーションや超弦理論の理解を目指して勉強を続けています!

FORTRAN入門、COBOL入門

2017年11月08日 18時17分26秒 | コンピュータ


酒の肴

懐かしい本をAmazonで見つけた。ページをパラパラめくり、学生時代を思い出しながら酒を飲むのにちょうどよい。僕にとっては酒の肴本である。

大学時代の計算機実習はFORTRAN。左の黄色い表紙の教科書を授業で使っていた。その後、培風館のこの本は改訂され、「FORTRAN 77入門」となった。ページ数も318ページから424ページに増えている。

クリックで拡大


ページをめくると、学生時代の記憶が蘇ってくる。(COBOLはやっていなかったので蘇ってこない。)

FORTRAN入門(クリックで拡大)


COBOL入門(クリックで拡大)



僕のように学生時代に思いをはせたいという方はこちらからどうぞ。

FORTRAN入門 三訂版: 浦 昭二」(1980)
FORTRAN 77入門 改訂版: 浦 昭二」(1990)
COBOL入門 改訂版: 大駒 誠一」(1986)


学生時代の実習環境

計算機実習の授業で使われていたのは、日立製の大型計算機。年代を考えると「HITAC Mシリーズ」のうちのどれかだったのだろう。最上位のM-180でさえ、主記憶容量(メインメモリーの容量)は1~16MBだというから、隔世の感がある。

FORTRANはこの時代(僕が入学したのは1983年)にはFORTRAN 77になっていたが「FORTRAN 77入門」のほうはまだ刊行していなかった。このようなパンチカードで課題のプログラムを入力する。プログラム1行がカード1枚だ。(もしやと思いAmazonとヤフオクで検索してみたが、パンチカードはさすがに販売、出品されていなかった。)

クリックで拡大


パンチカードは専用の穿孔機があり、4台くらいあるのを学生が順番に使う。ちょうど僕が使っていたのと同じ穿孔機が見つかった。IBM製だったことを今になって知ることになった。

1964 IBM 029 Keypunch Card Punching Demonstration


穴を開けたパンチカードを束ねて輪ゴムでとめて、計算機センターの受付の人に渡すのだ。翌日、132桁のプリンター用紙に出力されたプログラムリストと実行結果を受け取る。間違えていたら最初からやり直しだ。


FORTRAN、COBOLの歴史

FORTRANは1954年にIBMのジョン・バッカスによって考案された。コンピューターにおいて広く使われた世界最初の高級言語である。主に数値計算用、科学技術計算用として使われた。また、COBOLは1959年に事務処理用に開発されたプログラミング言語である。

世界初のコンピュータは第二次世界大戦中の1946年に弾道計算用として開発された真空管式のENIACであり、これは配線をつなぎかえることでプログラムをする必要があった。配線のつなぎかえが不要な汎用型で世界初のコンピュータは1949年に開発された真空管式のEDSACである。(参考記事:「真空管式コンピュータへのノスタルジア(EDSAC, 1949年)

2017年11月11日に追記:
コメント欄を通じてhirotaさんからご連絡いただきました。現在、世界初のコンピュータはENIACではなくABC(Atanasoff Berry Computer)と考えられているそうです。

1942年、世界初のデジタルコンピューター「ABC」(PCの起源と歴史)
http://www.first-pclife.com/pczatugaku/pcrekisi.html



いずれにしても、民間の技術者が簡単にプログラミングできるようになったのは、FORTRANからであり、FORTRANが初めて使えるようになったのは1954年に開発されたメインフレーム・コンピュータIBM 704からである。これも真空管式だ。1959年、IBM 704は日本の気象庁で数値予報の導入に初めて用いられたコンピュータとなった。

IBM 704(クリックで拡大)


十進数を表示できる「ニキシー管」が開発されたのは、同じく1954年。だからIBM 704には間に合わず、この写真では小さなランプを並べて二進数表示していることがわかる。ちなみに十六進表示ができる7セグメントディスプレイが登場するのは1960年代後半、アポロ誘導コンピュータで採用された「DSKY(動画)」である。商品化されたのは1970年、RCAがNumitronの商品名で白熱フィラメントを使った7セグメント表示管を発売した。(ウィキペディアの記事

IBM 704を紹介する貴重な動画がある。

1954 -IBM 704 Computer Film Narrated - Computer History Archives



COBOLはIBMが1959年に発表した科学技術計算用第二世代トランジスタ版メインフレーム・コンピュータ、IBM 7090上で動作した。(その他、FORTRAN、SORT/MERGE、MAPアセンブラなども使えた。)

この写真はNASAのマーキュリー計画で使われたデュアル構成のIBM 7090である。IBM 704からたった5年で、コンピュータはものすごい進化を遂げていることがおわかりになるだろう。

デュアル構成のIBM 7090(クリックで拡大)


その様子を紹介した動画がこちらだ。

IBM 7090 from the Mercury program



IBM 7090メインフレーム・コンピュータは、現在公開中の映画「ドリーム」に登場する。(上映は11月16日まで。)映画の原作本にはIBM 704も登場している。(映画の紹介記事

映画『ドリーム』予告 IBM編



FORTRANは現役だ!

昔話、酒の肴としてFORTRANやCOBOLを紹介してきたが、数値計算向きのFORTRANはバリバリの現役で、スーパーコンピュータで科学計算をするために現在でも使われているのだ。次のように進化している。なんと来年7月にはFORTRAN 2015がリリースされるのだ。(参考:「現在までのFORTRANの歴史」)

Fortran 66: 世界で初めてのプログラミング言語標準
Fortran 77: 固定形式、その後広く使われる
Fortran 90 - メジャーバージョンアップ: 自由形式、モジュールなど構造化言語へ
Fortran 95 - マイナーバージョンアップ: Fortran 90 の不具合修正、FORALL, PURE, ELEMENTAL 手続など
Fortran 2003 - メジャーバージョンアップ: オブジェクト指向、C 相互利用など
Fortran 2008 - モデレートバージョンアップ: 並列処理の標準化、BLOCK 構文、数学関数の増強など
Fortran 2018 (2018年12月2日) - モデレートバージョンアップ: IEEE 算術への準拠、並列機能の強化、C 相互利用の強化など:詳細は https://wg5-fortran.org/ を参照

この言語を知るためには、こちらのサイトがよいと思う。

Fortran入門
http://www.nag-j.co.jp/fortran/index.html

(酒の肴としてではなく)じっくり数値計算を学びたいのであれば、この2冊がお勧めだ。

数値計算のためのFortran90/95プログラミング入門」(第2版
Fortran90入門-基礎から再帰手続きまで-

 


FORTRANを実行するには

フリーのFORTRANを実際に動かしてみたい方は、次のページを参考にするとよいだろう。

64bit の Windows 7 上でフリーの fortran コンパイラを導入して、簡単なプログラムを作成する
http://d.hatena.ne.jp/arakik10/20120214/1329167074

64bit の Windows10 上でフリーの fortran コンパイラを導入して、簡単なプログラムを作成する
http://d.hatena.ne.jp/arakik10/20160101/p1

惑星探査機の軌道計算入門: 半揚稔雄」を読んで、FORTRANでプログラミングしてみるとよいと思う。惑星探査と有人宇宙飛行や月探査の違いはあるが、映画「ドリーム」で主人公たちが行なったことの一部を追体験することになる。プログラミングしているときのワクワク感やプログラムを実行して計算がうまくいったときの感動は格別なものになるはずだ。


関連ページ:

Fortran オセロプログラム
http://fortranothello.web.fc2.com/

リーマンのゼータ関数の数値計算コード(複素平面):fortran90によるプログラム
http://slpr.sakura.ne.jp/qp/code-riemann-zeta/

プログラミングと数値計算
http://slpr.sakura.ne.jp/qp/home/program/

Fortranでシミュレーションをしよう
http://www.ile.osaka-u.ac.jp/research/cmp/download/forte90-text-v1.pdf

Fortran90/95入門 前半
http://www.research.kobe-u.ac.jp/csi-viz/members/kageyama/lectures/H22_FY2010_former/ComputationalScience/2_1_f95a.html

Fortran90/95入門 後半
http://www.research.kobe-u.ac.jp/csi-viz/members/kageyama/lectures/H22_FY2010_former/ComputationalScience/2_2_f95b.html

今時の Fortran 入門 ( Introduction to Modern Fortran )
https://qiita.com/cure_honey/items/795bd0e048ffeadc3e63

Doctor Fortran による「2018 が新しい 2015」
https://www.isus.jp/products/fortran-compilers/doctor-fortran-in-eighteen-is-the-new-fifteen/


ブログ執筆のはげみになりますので、1つずつ応援クリックをお願いします。
にほんブログ村 科学ブログ 物理学へ 人気ブログランキングへ 

  

 
コメント (5)    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« iPhone 6からiPhone Xに機種変更 | トップ | Square root 4,096 using aba... »

5 コメント

コメント日が  古い順  |   新しい順
世界初 (hirota)
2017-11-11 13:36:32
現在はABCが世界初のコンピュータになってます。
PCの起源と歴史
http://www.first-pclife.com/pczatugaku/pcrekisi.html
これを知ったのは日経サイエンス1988年10月号でした。
返信する
Re: 世界初 (とね)
2017-11-11 14:36:22
hirotaさんへ
教えていただき、ありがとうございます。そんな昔からENIACは世界初ではなくなっていたのですか。知りませんでした。

この記事とEDSACについて書いた記事に追記させていただきました。
返信する
FORTRANとCOBOL (冬野)
2019-01-14 11:39:36
1970年 NHK教育テレビのコンピュータ講座 FORTRANとCOBOL。ニュースの時間と重なっていて見るのに苦労した覚えがあります。
http://crimson-systems.com/win/book0.htm#N1969
http://museum.ipsj.or.jp/heritage/nhk.html
映画「ドリーム」。本の方は記録重視で淡々とした記述でしたが、映画はサクセスストーリーになっていて、わくわく感もあり楽しめました。
返信する
Re: FORTRANとCOBOL (とね)
2019-01-14 11:55:37
冬野様
大阪万博の頃からNHKではFORTRANやCOBOLを教える番組を放送していたのですね。僕は8歳でしたから、関数電卓の存在すら知らず、コンピュータはただの魔法の箱でした。言語があることなど想像だにできていませんでした。日曜の午後7時からの放送だったようですから、我が家ではきっとサザエさんを見終えて、チャンネルはそのままフジテレビになっていたか、7時のNHKニュースに切り替えられていたのでしょう。

『ドリーム』は映画だけでなく本もお読みになっていたのですね。

返信する
COBOL (冬野)
2019-01-14 21:09:58
1986年頃に仕事で使ったNECのN5200はCOBOLでした。アプリの表計算ソフト『LANPLAN』はサクサク動いて快適でした。ただリターン後のカーソル移動方向の切り替えが少し深い所にあったのが難でした。その頃MS-DOSではLotus 1-2-3でした。
返信する

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。

コンピュータ」カテゴリの最新記事