高卒プログラマーでも30年現場で戦えます。(2)C言語

高卒で、アセンブラによる組込制御のソフト開発からプログラマーデビューをした後、転職して今度はPC-9800シリーズ上でのパソコンソフト開発の仕事に就きます。

アセンブラ言語での仕事は、ソフトとハードが一体になった製品開発ですが、今回は社内プログラマーと言われる社内で使用するソフト開発でした。

時代は、DOSからWindows3.1に変わろうとしていた時でした。
とは言え、Windows3.1はDOSの上で起動するシェルみたいなもので、Windows95が登場するまで、まだまだコマンド入力が必要なOSでした。

そして、C言語での仕事はDOS上で動作するソフト開発です。
グラフィック性能も640×400しか表示できませんが、当時はそれで十分な性能でした。

社内ソフトは、商品の在庫などを管理するソフトで、当初はスタンドアローンでの動作を目指していましたが、ネットワーク化されクライアントサーバシステムになります。

このネットワーク化により、DBとネットワークサーバの技術を身につける事になりました。

在庫管理ソフトは、2人でのチーム開発となり、表示部と処理部を分担、私は表示部の開発担当になりました。
C言語での開発で、現在のような多様なライブラリもなく、グラフィック性能は640×400、しかもPC-9800シリーズは機種性能に差があり8色16色または256色と、表現可能な色数に違いがあるなど、まあまあ厄介なシロモノです。

今ならOSや、ライブラリ側でハードの違いをほぼ補正してくれるのですが、当時は機種の選定も必要でした。

選定の結果、16色を基本とする開発になりました。
アセンブラ言語と比べてかなり高級なC言語ですが、PC-9800シリーズでグラフィック描画となると泥くさい作業となり、高級言語の意味がない開発ばかりでした。

そして、C言語でつまずく人が多い要因の「ポインター」ですが、アセンブラ言語の経験者からすると便利な仕組みであり、簡単に理解できました。

とは言え、バクの多くはメモリー管理が原因で、ポインター操作ミスかヒープ領域不足です。
Windows3.1時代でも、現在のような大容量メモリーではなく、乏しいメモリー資源をやりくりしての開発でした。

それでもC言語での経験が、これから先のプログラミングでは重要なことばかりでした。

変数・配列
今では当たり前の言葉ですが、アセンブラ言語ではレジスターとメモリをプログラマーが意識して使用しないとダメでした。

構造体
最近は耳にしない言葉ですが、ここからclassが生まれたのでしょうね。(多分)
PHPだと連想配列とか?

データ型
多くの言語で、数値型とか文字型とか言われるデータ型は、アセンブラ言語にはないですね。

今では当たり前の知識を学ぶことができたのが、C言語です。
そしてこの後、ネットワークとデータベースを一気に学ぶことになりました。

次回は、今は亡き(?)ノベル社のネットウェア(NetWare)によるネットワーク(クライアントサーバ)の仕事を書きたいと思います。

いいなと思ったら応援しよう!