現役でC言語を使って仕事を使っている私が、最初にどうやってC言語を覚えていったか紹介します。最後に私が実際に使った入門書も紹介します。
C言語を最初に学んだのは
大学の講義ででした。
私の大学は情報系の大学だったので、大学の講義でLinuxのパソコンを使ってコンソール上でプログラミングしたのを覚えてます。
ただ、大学卒業後に入社した会社ではC言語ではなくモデリングツールを使ったプログラミングでしたので、C言語全く使わず、ほとんど忘れてしまいました。。
転職後、本格的にC言語を勉強
最初の会社で仕事がうまくいかず、年末年始も誰もいない会社に出勤し続けて何かが吹っ切れました。。
その年の3月にもう嫌だ!と思い次の転職先も決まらないまま辞めました。その後、数カ月実家で暮らすも親の目も気になり2カ月後に、また同じような小さいソフト開発会社に再就職。
その会社ではC言語を使うため、仕事をしながら少しづつ覚えていきました。
C言語はIF文が全て
C言語を使っていて思うのは基本的にIF文(分岐命令)が全てだということ。
もちろん他にもFor文(繰り返命令)だったりありますが、For文は最悪使わないでも何とかなります。同じ処理を必要な分だけコピペすればいいだけなんでね…(ただ可読性はめっちゃ落ちますし、スマートでないですが)
Switch文なんかもIF文の書き方買えただけですしね。
大体躓くのはポインタ
C言語について書いてるどんな本でもサイトでも大体躓くのはポインタだといわれてます。
ポインタは何かっていうと、場所を示す住所みたいなもんです。変数がその場所にある家とかです。
日々使っているくせに説明しろと言われるとなかなかいい例がうかばないという…
これだけなので理解してしまえばなんてことはないと思います。
ただ2重ポインタとかになってくるとややこしくなってきます。
2重ポインタとは何か、っていうと住所を頼りにその場所にあったらまた住所が書いてあったみたいな感じです。
なので大抵2重ポインタは理解しづらくバグの元になるので、使われないことが多いです。会社によっては使用禁止になってるとこもあったりします。
私が実際に使った入門書
言語が使ってなんぼ、ということで解きながら学んでいくような本のこちらを選びました。いつの間にか”新”とかついちゃってますが、中身はそんなに変わってないと思います。
それと調べたいときにすぐに探せるように辞書的なものを1つ買いました。こちらも”新”とかついちゃって時代を感じます…
中古で19円とか!?私は定価で2,300円で買いましたがね…
まぁこういう入門書系の本はやたら高くて、買ったときは高いとは思いましたが、これで10年以上食っていけているわけで、そう考えたら安い買い物だったといえるでしょう。
これら2つは今での私の本棚にあります。もう何年も開いてないので埃かぶってしまってますが。
最後に
今回はC言語について書きましたが、その後私はVisial C++とかC#とかを仕事で経験し、最近ではPythonとか使ったりしてます(メインのソフト開発で使う自作の開発ツールなんかに)
でもそれぞれ書き方はちょっと違うものの、基本はすべて分岐命令と繰り返し命令です。
なので1つの言語さえ理解すれば他の言語もちょっと調べれば使えるようになると思います。
アセンブラも基本そうなんですが、あれだけはCPUごとにちょっとづつ書き方違ったりして今でもパッと見ただけじゃなにやってるかサッパリ…
コメント