パスワードを忘れた? アカウント作成
425794 journal

hixの日記: 廃人の略歴

日記 by hix
yuri様の日記に返信し、

>いつ頃/どのようにしてそういう知識を身に着けられたの?

という疑問へお答えしようと思ったのですが、書いているうちにやたらと長くなってしまって(前の返信も操作事故でスコア+1になっている上にやたらと長いのですが)、 ひとンちの日記を汚すのも何だと思うのと、この機会ですので、今まで何を得てきたのか?を、書いてみようと思います。

わたくしの場合、リアル工房時代に8ビット機で遊んでいて、そこから少しずつ段階的に使う機械が変わっていったのが大きいんじゃないかなぁ?と思います。
この世代の(特にパソコンやっていた)業界人は皆似たような感じなのでしょうけれど。
カイシャ入った当時はNEC PC-9801シリーズ全盛の頃でした。
というわけで、まずはDOSから始まります。

主に使うのはC言語だと言ってもCPUであるi8086やPC-9801アーキテクチャの知識は必要とされました。 バグるとどうしてもその辺りが解っていないと解決できなかったことと、 コンパイラの標準ライブラリが出来ることを超えて、DOSやらBIOSやらハードウェアやらを直接叩かなきゃならない場面も多かったですし。

Windows3.1に切り替わった時は、今まで普通とされていたプログラミングは影も形もなくなりました。 今までなら main()から始まって、コードを書いた順序で動いていたプログラムが、 Windows3.1だと、とにかくコールバック関数をシステムに登録して、 (マウスが動いたとか、自ウィンドウの上に別のウィンドウが乗っかってきたとか、それが居なくなったなどの)イベントが発生するといきなりその関数が呼び出され、 しかもさっさとシステムに処理を戻さなければならない仕組みに変わったのです。

その後のWin3.1→Win95(またはNT系)の時もそうですが、 その節目節目で「今までとは何がどう違うの?」という所が最も関心の高い問題でした。
計算機のOSがリプレースされることに伴い、今までのソフトウェアは正常に動作するのか? また、どう作り変えれば効果的なのか?とか、その辺りの判断をしなければならない立場にもなりました。
そうすると、おのずと低レベルのアーキテクチャ周りの解説を読む機会が増えます。
Win3.1は下層にMS-DOSの影を多く残していたのでさほど面白いことは有りませんでした(逆にクセがヒドくて苦労することしきりでした)が、 Win95やNT系になると本格的なマルチタスクOSなので、仮想記憶やファイルI/O、VM周りは興味深い技術が多かったと記憶しています。
まぁこの辺りの技術は実はUNIX界では既に当たり前のものですが、生粋のWindows使いにとっては新鮮でした。

実はWin95/Win98は殆ど触った事がありません。とっととNT系に移りました。
やれることは一緒です。メモリさえ充分に積めば、Win95/Win98よりNT系のほうが快適に動作します。何よりNT系はOSごとオチることが滅多にありませんし。
強いて言えば一部のゲームが動かないぐらい。
NT Workstationで動作するアプリケーションを作っているうちに、やがてインターネット時代が到来します。

というわけでPC UNIXをかじります。
FreeBSDとLinuxと、どっちにしたら良いか迷ったのですが、それぞれの256倍本を読んで面白かったほう、という理由でLinuxにしました。
それと平行してNT系をUNIX風に使うべく試行錯誤を行います。
多くの顧客はNT系のサーバを持っていましたし、わたくしやカイシャや直属のSEがNT系での開発/運用に慣れていました。
また、今ほどWindowsのセキュリティレベルの低さが問題にはならず、 「Linuxとは得体の知れない物である」という見方が大勢を占めていました。
ただ、今ほどサーバソフトウェアは充実していませんでした。
最初の頃のApacheは正式に動作すると宣言された物では有りませんでしたし、日本語処理が行えるPerlも有りませんでした。
IIS?何ですか?それは?OSのインストール時に外していますが。

とまぁ、こんな感じで、今の開発状況は、WinNT系4割、Linux6割。といったところですね。

コンソールは殆どの時間でWin2Kを使っています。
NEC PC-9801シリーズやその前の8ビット機の影響で[Ctrl]は[A]の左、[ESC]は[1]の隣に無理矢理持ってきたキーボードを使っています。
# そのくせに記号系はJISではなくASCIIなのがなんとも不思議ですが
# # なのでOSのリプレースの度にDDKの類が欠かせません

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
typodupeerror

吾輩はリファレンスである。名前はまだ無い -- perlの中の人

読み込み中...