C言語しか知らない私
プログラミング言語って何種類あるのでしょうかね。調べたことがないのでわかりません。たくさんある言語の中で私が知っているのはC言語だけです。
C言語(以下C)との出会い
入社後すぐの新人研修で対面しました。以後30年以上のお付き合いになるとは思っていませんでした。
Cは人間が理解しやすい高級言語の側面と、機械が理解しやすい低級言語の側面を持っています。他にそんな言語があるのだろうか?
当時の私は低級言語の側面の代表であるポインタがまったく理解できませんでした。そして一度C言語とお別れすることになったのです。
Cとの再会
その後、開発案件でUNIX上でCを使うことになりました。短期間でした。私の担当はqsortを使って配列をソートする関数の作成。
qsortはポインタを使わずに動かすことができません。だから必死で勉強し直しましたよ!仕事ですから。
道中、ポインタのポインタを使うことになり、もう頭の中は大混乱したことを今でも覚えています。
その後
なんの因果か、専門学校の先生をやることになって、そこからC言語でいろいろと作り始めます。と言っても学生相手ですから、それほど複雑なものを作るわけではありません。
その頃のPCは今のようなWindowsではなく、MS-DOSという真っ黒な画面に文字が表示されるだけの味気ないものでした。マウスもポピュラーなものではなかった。
やればやるほど面白い
CはなんといってもUNIXを作るために開発された言語。ですからなんでも作れるし、なんでも破壊できます。ちょっと試しにブート時にパスワードを入力するプログラムを作ったらバグがあって、PCが使えなくなる時もありました。どうやって切り抜けたのか、覚えていませんが。
3年ほどで専門学校から離れ、社会人向けに教える仕事へ。そこでもUNIXとは縁があり、新たにPerlやシェルスクリプトを学びました。Perlもシェルも基本はCと同じです。ポインタはないけどね。
そこで思ったのは「Cさえわかれば、どんな言語でもわかるのでは?」という仮説です。
また、その後
以後はずっとインフラの仕事ばかりしていたので、言語による開発からはずーっと離れていました。
最近になってPythonやC#などに少し関わることになりました。うん。Cさえわかれば簡単!ただしオブジェクト指向の概念は知っておかないと太刀打ちできません。
今後も何らかの言語に携わることがあるのかもしれませんが、若い時にCをどっぷりやっていて本当に良かったと思います。
いただいたサポートは、おじさんの活動費としてとんでもなく有用に使われる予定です。