macroscope

( はてなダイアリーから移動しました)

わたしの計算機利用の経験と現状 (OS、プログラム言語などの概略)

【まだ書きかえます。どこをいつ書きかえたかを必ずしも明示しません。】

【この記事は、個人的覚え書きです。読者にとって有用な知識の提供をめざしていません。また、意見をふくむことはありますが、意見の表明をねらった記事でもありません。】

- 1 -
計算機利用について、なにか意見を言おうと思ったり、問題に感じていることを書こうと思うことがある。主張の背景として、自分がなにものなのかを説明しておく必要を感じることがある。ところが、それを書きはじめると、きりがなくなる。背景説明を別の記事にしておいて、意見や問題をのべる記事から「背景は別の記事を見てほしい」という形で参照できるようにしておいたほうがよさそうだ。これは、その「別の記事」である。

- 2 -
わたしは、1980年代には、計算機を大量につかう人だった。共同利用の大型計算機を長時間占有していた。その計算機のつかいかたについてのノウハウをもっていて質問にこたえる人でもあった。しかし、その特定のシリーズの計算機がすたれるとともに、わたしは、計算機が得意な人ではなくなり、単なる計算機利用者になった。

1990年代には、計算機のつかいかたをおしえる人だった。ちかい将来に主流となりそうなやりかた (Unix系 OS、X Window system など) をえらんだ。実際、それにちかいつかいかたがひろまったから、わたしは平凡な計算機利用者になった。しかし、その後の世間の計算機利用は、ちがう方向にむかった。わたしは、世間の変化についていけなくなり、計算機がにがてな人になった。

いまわたしは、計算機の専門家とはなのらない。気象の専門家となのる。気象についておしえるたちばである。しかしわたしは気象の現場観測の実地指導はごく初歩しかできない。わたしのとりえは、気象のデータを計算機であつかう方法をおしえられることだ。その技能はみがきつづける必要があると思っている。

- 3 -
わたしの計算機とのかかわりを、はじめから、OS (オペレーティングシステム) とのかかわりを中心に、のべてみることにする。

わたしが最初に実質的につかった計算機は、1980年代に「大型計算機」あるいは「メインフレーム」とよばれたものだった。1行 「英数」80字のパンチカードによる利用も経験したが、それには熟練しなかった。わたしが大学院に入学した 1980年 の途中から、東京大学 大型計算機センター (「東大センター」と略すことがある) の計算機が、HITAC Mシリーズにかわった。OSは「VOS3」だった。あとで知ったのだが、日立のHITACのMシリーズは、富士通のFACOMのMシリーズ とともに、IBMのメインフレームの互換機で、そのOSはIBMのMVSをまねたところがあった。VOS3では (おそらくMVSでもそうだったはずだが)、端末機から対話型でつかうための「TSSコマンド」(TSS は time sharing system の略だがもはや原語を意識しなくなっていた) が、パンチカードを想定したバッチジョブ用の「JCL」(job control language) とは別に発達していた。東大センターは、バッチジョブでも JCLは「JOBカード」1行だけで あとは TSS コマンドをつかうスタイルをローカル標準とした。わたしが熟練したのはその TSS コマンドの操作と、Fortran 77 のプログラミングだった。

東大センターでは「副システム」として、DEC社のVAX上でBSD Unixが動いていた。わたしは1982年ごろからそれにふれる機会があった。しかし、わたしが研究でつかっていたデータの量は当時のVAXであつかいきれるものではなかった。わたしはUnixにのりかえることなく、VOS3ユーザーをつづけた。(文書処理も、欧文(英語)にかぎってだが、VOS3でやったことがある。Unix上で発達した文書整形ソフトウェア roff が (たぶんセンター職員によって) VOS3 に移植されていて、わたしはそれをつかって修士論文をプリントした。)

時代は分散処理にむかっていた。わたしは「マイコン」とよばれたころは手をださなかったが、「パソコン」がでてきてからはつかった。1983年当時、パソコンについていたソフトウェアは、BASIC言語インタプリタが 初歩的なOSの機能をかねるものだった。1985年ごろには MS-DOS が事実上の標準になった。まず文書処理につかった。日本語は「一太郎 (ver. 3)」、英語は「WordStar」が事実上の研究室標準だった。表計算をやる気はなかったのだが、紙にかかれた表のデータを計算機に入力する需要はたくさんあり、自作のプログラムではもどって修正することができなくてこまっていたら、「MultiPlan」ならできるといわれ、それ以来、表計算ソフトウェアを表入力ソフトウェアとしてだけ常用してきた。パソコンは大型計算機の端末にもなった。また、パソコン上でカラーの図の作成やアニメーションを試みたこともあった。しかし、当時のパソコンのデータ受信や保管の能力はとぼしかったから、大量の白黒の図を出す作業はあいかわらずVOS3上でやっていた。

1990年ごろには、Unix系のOSをもつ「ワークステーション」を学科でもつことができた。メーカー版のウィンドウシステムではなく、MIT版のX Window system を入れ、xterm または (その日本語版である) kterm の窓を開いてキーボードから Unix のコマンドをうちこむ、というつかいかたを経験した。しかし、自分の席にあるのは Unix ワークステーションではなくMS-DOSのPCだったから、研究の計算はPCを端末としてVOS3でやっていた。

- 4 -
1992年、東京都立大学に異動した。都立大学には IBM のメインフレーム機がはいっていたから、VOS3 でやっていたしごとをそこにうつすつもりだった。ところが、そのメインフレーム機のOSは、MVS ではなく VM/CMS で、つかいがってが VOS3 や (やはり MVS をまねていた) FACOM の MSP と 全然にていなかった。VM/CMS は、各ユーザーがそれぞれパソコンをもっていてそれが通信でつながっているかのような概念でつくられていたが、同じIBMによるシングルユーザー・マルチタスクのパソコンOS 「OS/2」 (こちらにはわたしはなじむことができた) とも操作がまったくちがっていた。 わたしは、VM/CMSのコマンドをおぼえるよりも、Unix 上にしごとをうつすことを決断した。学科にあったワークステーションや、全学の情報基礎教育用のワークステーションを利用した。理学部の計算機更新の際には Unix 系 OSにすることを主張し、それがとおってからは積極的につかった。端末画面をひらいてキーボードからコマンドをうちこみ、 Fortran プログラムをコンパイルして走らせるスタイルで、自分もつかい、授業でもおしえた。

文書処理などは MS-DOSでやっていた。NECのPC98シリーズをつかうことがおおかったが、IBM PC互換機での英語版PC-DOS や日本語対応の DOS/V もつかった。計算も MS-DOS 上でやれるものは やった。Fortran や C のコンパイラを入れたこともあったが、よくつかったのは Pascal (Borland社のTurbo Pascal) と Awk (GNU Awk) だった。

Microsoft が Windows を MS-DOS にかわる OS にするという予告は早くからあったが、実現したのは1995年の Windows 95だった。わたしは、Windows 95を、市販のソフトウェアをうごかすためにはつかった。地図、辞書、OCR、機械翻訳など、Windows でしか動かないアプリケーションがいろいろあった。(Macでうごくものもあったが、わたしは Mac に手をだしたくなかった。) しかし、Windows上でプログラミングをする気はおきなかった。Windows というOSの機能のよびだしかたをおぼえるのがめんどうだった。Borland社は Delphi という Pascal コンパイラをだしてきた。構文は Turbo Pascal と互換だったが、グラフィックスはまったくちがっていて、わたしはならう気をなくした。DOS上の作図をふくむプログラミングをおしえてきたわたしが、Windows上ではまったくのしろうとになってしまった。

ちょうど「パソコンUnix」がはやっていた。BSD系とLinuxがあった。Windows 95がはいっていたノートパソコン (日本語化された IBM PC 互換機) に、ハードディスクを分割して、Linux をいれてみた。GUI (graphical user interface) は最小限にしたかったので、Slackwareというディストリビューションで、基本的な X Window system の window manager の twm をうごかした。Slackwareについて開発されていた日本語拡張を入れて、kterm をうごかした。かつて Sun のワークステーションで経験したスタイルが再現できた。それから15年ほど、ノートパソコンに「Slackware+日本語拡張」から発達した「Plamo Linux」をインストールして、計算だろうが文書処理だろうが Linux 上でやってきた。(Window manager は fvwm をつかっていた。) 地図やグラフの作図は GMT (Generic Mapping Tools)、気象データのquick look は GrADS (Grid Analysis and Display System) をつかうことがおおくなった。GMTはUnixのシェル (cshでもbashでもよいが) と Awk を、GrADSは X Window systemを前提としており、Linuxではすぐつかえた。(Windowsでつかっている人はいたが、技巧が必要で、わたしはその勉強をしたくなかった。) Fortran コンパイラは GNU の g77 (いまでは gfortran) を日常につかった。パソコンでは数値計算の性能が必要なしごとをしなかったから有料のコンパイラは導入しなかった。

しかし、教員として、学生にこのスタイルをおしえることはあまりできなかった。Unixワークステーション (実体はわたしが Linux をいれたデスクトップパソコンのこともあったが) で気象データをあつかうことは指導できたが、文書づくりなどは「WindowsでもMacでもかってにやれ」のようになってしまった。それでもなんとかなっていたのは、ほかの先生が指導してくださったのか、学生どうしでおしえあっていたのだと思うが、くわしいことはわからない。

- 5 -
2000年、研究職に異動した。研究所では大量のデータを置くことができる計算機が常時動いていた。そのOS は Unix系のものだった。わたしは、小規模の試作を Linux を入れたパソコンでやり、大量処理を研究所の計算機でやるというスタイルで、データ解析型の研究を進めることができた。文書作成も、当初は Linux 上の道具で対応できていた。

ところが、2006年ごろから、研究プロジェクトのための文書づくりがおおくなった。国の事業で特定メーカーのソフトウェアを指定するのはまずいと思うのだが、役所の担当者が書式をきめてきて、そのほとんどがMicrosoftの Word, Excel, Powerpoint だった。英語圏の文書の書式指定ならば、Linuxでも動く オープンソースの OpenOffice (いまならば LibreOffice) で、じゅうぶん互換性がある。ところが日本語圏の書式は芸がこまかすぎて、OpenOffice でつくると位置があわず、ページ数がふえてしまうこともよくあった。(MS Officeどうしでさえ、Windows版とMac版や、旧版と新版で、フォントや改行コードなどの不一致で苦労しているのを見た。) わたしは MS Office が必要なときは研究室共有のWindowsマシンをつかうことにしていたが、自分の席にいる時間よりも研究室のパソコンべやにいる時間のほうが長くなった。

- 6 -
2011-2012年、一時的に転職して、計算型の研究職からはなれ、調査のオフィスワークをした。職場そなえつけのWindows マシンをつかわないといけなくなった。ただし、(そういう職場ではめずらしいことかもしれないが) ノートパソコンをもちこんで 電波をとばして 個人契約したインターネットプロバイダにつなぐことはゆるされた。しかし、その通信機能にLinuxが対応していなかったので、こちらも Windows になった。夜や休みの日にも Linux にふれる余裕がなくなって、Linux については未熟練者にもどってしまった。かといって MS Office の操作がうまくなったわけでもなく、「計算機がにがてな人」になってしまった。

- 7 -
2013年に研究所にもどったが、計算型研究者のしごとのスタイルをとりもどせなかった。まわりの人たちはそれぞれいそがしく、わたしのリハビリテーションのために時間をさいてもらうわけにいかなかった。わたしは、生産性が低い計算型研究者、いわば窓ぎわ族として、任期切れまでの4年間をすごすことになった。

GMT や GrADS をうごかしたり、Fortranプログラムで計算をさせるために、Linux マシンは必要だった。Plamo はまだあったが利用者コミュニティの情報交換がとぼしくなっていたので、デスクトップ型の利用についての情報が世間にひろまっている Ubuntu にした。しかし、自分が Linux にむかっている時間は少なくなり、Linux 上での作業のカンはなかなかもどってこなかった。

- 8 -
2017年に研究所を去って、おもに自宅にいることになったが、大学の非常勤講師をつづけていて、講義科目なので計算機のつかいかたを指導する時間はとれないのだが、ときたま計算機をつかってみる実習 (わたしが用意した例文をちょっとだけ変えて動かしてもらう形になってしまうが) をやった。Windows でも Linux でも (わたしはつかわないが Mac でも) 動くソフトウェアで、学生が卒業してからもつかえる技術にしたかった。表計算しかないという状況に妥協してワークシートをつくってみたこともあったが、R を入れてもらってからは R 上での教材整備にとりくんだ。

- 9 -
2021年から大学で気象学をおしえることになった。前任の先生は Excel の VBA プログラミングで教材をつくり、学生にもおしえようとしていたが、わたしはそのまねをしたくはなかった。しかし、(気象モデルの専門職につく人を例外として) いまさら Fortranでもあるまいと思った。わたしよりも若いが職場では先輩である同僚たちが、Python による教材を整備しはじめていたので、わたしものることにした。R でつくりかけていた教材も Python への翻訳をすすめている。Excel でやってきた4年生にも Windows上の Python で動く例文をあたえてそこからくふうしてもらうことにした。【わたしのこのみとしては Python よりも Ruby がよいのだけれど、Ruby と R とは構文の見かけがにていてどちらを書いているのかわからなくなるので、Ruby での教材整備はあきらめた。】

これまでの職場とちがうのは、大学や学部のレベルに たよりになる大型計算機がないことだ。同僚や学生とデータを共有するためには、研究室のレベルでサーバーを運用する必要がある。大学の外からアクセスできるようにしたいが、そのためにはセキュリティをきちんとしないといけない。わたしはサーバー管理は1990年代のセキュリティ問題がうるさくなかったころしか経験していないから、ちょっと荷が重い。必要最小限の機能ではじめてみようと思っている。

【書こうと思ったことはまだあるのだが、各論は別の記事にする。】