見出し画像

C言語を覚えた道のり

C言語教室なんて始めてしまったのですが、この言語をどうやって覚えたのかは、実はあまり良く覚えていないのです。

C言語教室

最初は愛読していたbit誌に書いてあるコードを見ているだけでした。まあGAME言語をかじっていましたし、PASCALとかに比べればCPUのアーキテクチャが丸見えで、システムを書くには良さそうだなぁ。という程度で眺めていました。APPLE][でもCP/Mを立ち上げれば動かせるC言語のサブセットは見つけたのですが、たちまちハングアップするようなコードばかり書いてしまい、デバッガのセットアップが先だなぁというあたりで終わっていました。

晴れて大学生になった頃、たちまち先輩が立ち上げた会社に「連行??」され「君はC言語が出来るんだよね?」ということで実戦投入されてしまいました。そこから数ヶ月の先輩によるスパルタ教育のお陰で、瞬く間に”ファイルから読み込んだパラメタを使って、構造体に関数ポインタを格納したリストを作って、動的に実行する”なんていう何を言っているのかわからないようなコードを書くようになり、デバドラにバグがあるから直したよ。みたいな話まで出来るようになりました。

こんな具合ですから、どうやってC言語を覚えたのかと聞かれても、ひたすら人の書いたコードを読んで、自分で書いたコードをコンパイルして出来たバイナリをデバッガで追いかけることを繰り返したとしか言えません。幸い某所から手に入れたUNIXカーネルのソースがあったので、貪るように読んだ覚えがあります。勉強にはなりましたが古いコードなので、お作法としては褒められないコードでしたね。むしろC言語のお作法が確立していく過程で、どう書くのが良いのかというのを後から覚えていった気もします。どうしてもコードにはお里が出るようで、C言語から入ったような人からは「BASICの匂いがする」と指摘されたこともあります。どこがそうなのかは未だに良くわかっていないのですが。

まあ実に多くのプログラミング言語と付き合ってきたので、言語自身はどれも似たりよったりで、それよりも標準的なライブラリを如何に使いこなすかと、どうデバッグするのかといったツールと、ビルドとかパッケージ化、バージョン管理といったエコシステムを覚えるほうが余程大変です。そして共通するのがドキュメンテーションかな。

C言語

ヘッダ画像のロゴは、以下のものを使わせていただきました。
https://commons.wikimedia.org/wiki/File:The_C_Programming_Language_logo.svg

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