コンピュータを学ぶという事

 コンピュータは大衆化したが、コンピュータを学ぶ事は以前より難しくなっている。

 世にマイコンというものが出始めて、それがパソコンになって、CP/MPC-DOS/MS-DOSになり、WindowsMACになり、本家UNIXが崩壊し、BSDクローンやLinuxが出現し、PCのパフォーマンスがかつてのメインフレームのパフォーマンスの軽く凌駕するようになり、そしてスマホの時代になった。

 自分にとって幸せだったのは、1980年前後から、つかず離れず適度な距離を持ってコンピュータに関わってこれた事で、近過ぎれば過労死していただろうし、遠すぎれば無縁の存在になっていた。

 勤務先で業務としてコンピュータに関わっていた頃、啓蒙の為にマイコン時代から現在に至るまでのCPUの集積度の推移をまとめてみた事がある。資料を作っているうちに、気持ち悪くなってしまったのを覚えている。

 FM16βを買った時には別売の技術資料等も購入したが、当時の家人に「その資料どれくらい判っているの?」と聞かれて2%と答えたのを覚えている。

 16βのCPUは80286で集積度が13万4千。それでも凄いと思ったのだが、現在では千万とか億のレベルになっている。

 初期のコンピュータは低レベルのオペレーションしかできなかったから、操作マニュアルが膨れ上がり、それを使いこなせるユーザーは限られていた。

 ユーザーの裾野を広げる為にOSのユーザーインタフェースは拡張され、その為のリソースがハードウェアに要求された。ソフトウェアは複雑怪奇に膨れ上がり、ハードウェアの集積度とクロックは上がり続けてきた。古いハードウェアは新しいOSではパフォーマンス不足、新しいハードウェアは古いOSではサポートされていないという循環で、新陳代謝が進み、提供側の思惑通りユーザーの裾野は広がっていった。

 しかしまぁ、一般ユーザーがコンピューターに望むコンピュータとしての機能は、今も昔も表計算ワープロと通信機能くらいのもの。その程度なら、8086時代に既に実現されていた。音楽や画像、動画のコーデックなんて所詮オマケに過ぎない。

 インターネット通信の複雑化とコンピュータの大衆化ひいては社会インフラへの組み込みが、コンピュータ犯罪を誘発しコンピュータの脆弱性の問題がクローズアップされるようになった。コンピュータ犯罪と脆弱性への対応はイタチゴッコの様相を呈しており、システムの複雑さを加速化している。

 で、結局、個人が趣味でコンピュータを学ぶにはどうしたら良いか。古き良き時代のように、まず概観的に全てを把握しようとするのは、今では不可能だ。まずは糸口を見つける事が重要。

 自分はコンピュータについて正規の教育を受けた事はない。勤め先の資格手当てを目当てに情報処理試験を受けようと思った事はあるが、実務には役に立たないと判断して受験しなかった。勤め先には大学でコンピュータを学んで入社してきた社員もいたが、彼を見ていて何を学んでもバカは結局バカだと思った。浅薄な知識で専門家を気取っているのは滑稽だった。

 結局のところコンピュータが好きか嫌いかだと思う。コンピュータが好きで適性があり他に興味のある分野がなければ、コンピューターサイエンスを専攻するべきだ。しかしコンピュータに興味も適性もないのに、就職に有利というだけで大学や専門学校に通ったところで何の得にもならない。既にIT土方の市場はインドや中国に移っている。

 特定のソフトウェアを使うという事とコンピュータを使うという事は異なる。

 ソフトウェアを使うだけなら一般ユーザーに過ぎない。ソフトウェアの指示通りに操作するだけなら、まぁ誰にでもできる。そのソフトが難解で使いこなせないのなら、もっと易しいソフトに乗り換えればいいだけの話。マシンの自作もプラモデルの組み立てと変わらない。OSのインストールもインストーラーが完備されていて、デフォルトのセットアップなら特に難しくもない。

 これが職業なら、給料を貰えるだけの仕事がこなせるかどうかという事になる。

 給料を貰えるだけの仕事というのは職場によって千差万別だろう。自分の場合は、勤めていた会社にパソコンに詳しい人間があまりいなかったというのがある。システム担当部署はあったが、メインフレームのお守りと予算管理が主業務で、実務は少し前にアウトソーシングされており、パソコンに関しては素人以下だった。

 WEBアプリケーションが一般企業に浸透しつつある時期だったから、当初はそれ絡みの各種プロジェクトへの参加と、それに伴う雑務など。社内のシステム通意識高い系と業務委託先とのインタフェースめいた事。2~3のサーバーを立ち上げた後、最後に立ち上げたサーバーの運用と維持管理を十年ほど。実務はJSPを弄る程度で、難しい事は業務委託先に投げていた。時代はITバブルの真っ只中で、だからこそ可能だったのだろう。今なら有無を言わせず業務委託先に丸投げだろう。

 基本的に自分にとって、コンピュータは趣味だ。業務でやっている時も趣味的な要素が多分にあった。そうでもなければ、仕事としてコンピュータなんていじっていられない。会社としても趣味としてパソコンに強かった人間をそこに持ってきたわけだから、それはそれでいいのだろう。就業末期では、エンタープライズ指向のパッケージ製品が増えてきて、個人の発想での口出しは難しくなっていた。また個人的には早期退職を考え始めていたので、後任への引継ぎを前提に、システムの属人性が強くなり過ぎないよう、システム改変は当たり障りのない範囲に絞っていた。

 業務としてコンピュータに関わって得た事は、WebServerの仕組みとJakartaプロジェクトに少し詳しくなった事。JSPを書けるようになったくらいの事。

 それほどたいした事のないサーバーを立ち上げるだけで、企業の場合は、開発費として億単位の費用が動く事は驚きだった。

 業務として得たスキルが日常生活がどれほど役に立つかというと、ほぼ役に立たない。細かい事は忘れてしまっているし、日常的な作業も限定されたWebServiceの世界内の事に過ぎない。

 で結局、コンピュータを使うとは、、、。

 自分なりの世界を作る事だと思う。与えられたもの、押し付けられたものではなく、自分の発想で、今使えるものを使って、自分なりの世界を作っていく事。趣味なら私的な世界、仕事としてなら関係者のコンセンサスを得た世界を作る事になる。

 コンピュータを学ぶという事は、自分の世界を作る為に、どんなものが今使えるかという事を知り、それを実際に使ってみて評価する作業だと思う。そして最終的に作るべき世界観を具体的に想像できる事。仕事としてコンピュータに関わるなら、多様な世界を想像できようになるべきだ。

 自分はもう趣味でしかコンピュータに関わる気がないから、学ぶべき事は、自分は欲する世界の構成要素だけでいい。