OSの提供する機能を使用するためのシステムコールや、C言語などで利用されるライブラリ関数について詳しく知りたくなった時には、UNIXプログラミングを学習することになります。
とは言っても、情報工学系の学科の人なら授業である程度教えてもらうことができますが、そうでない人は独学するくらいしか手段がありませんよね。
というわけで、今回はUNIXプログラミングを学習する際にオススメの参考書を紹介していきます。
ふつうのLinuxプログラミング Linuxの仕組みから学べるgccプログラミングの王道
私が一番初学者におすすめしたい本はコレです。
この本では物事の純粋な説明だけではなく、コマンドを実装する例題などが載っているので、実際に手を動かしながら、LinuxのAPIやシステムコールを勉強したい方には売ってつけの本です。
難易度もそこまで高いものではないので、C言語を一通り学んだ人は、この本でUNIXプログラミングを勉強すると良いでしょう。
ふつうのLinuxプログラミング 第2版 Linuxの仕組みから学べるgccプログラミングの王道
例解UNIX/Linuxプログラミング教室: システムコールを使いこなすための12講
C言語の学習では、ひたすら文法を覚えて実行して・・という作業の繰り返しでしたが、UNIXプログラミングの学習では、ソケット通信などの新しい概念そのものを理解していくことになります。
この本では、そんな新しい概念や単語の説明を例えを使ってわかりやすく説明してくれているので、純粋なプログラミングの実装能力だけではなく、理論としての知識を付けていくことができます。
したがって内容の説明も比較的わかりやすく書かれているので、しっかり理解をしながらプログラミング学習をしていきたい方にはオススメです。
例解UNIX/Linuxプログラミング教室: システムコールを使いこなすための12講
詳解UNIXプログラミング
UNIXプログラミングの入門書を一通り読んでさらに深く勉強したくなった人や、自分の専門として学びたい人は、上級書としてコレを持っておくと良いでしょう。
プログラミング中に困った時には、だいたいこの本があれば解決しますし、ただシステムコールの使い方を学ぶだけではなくOSの基本的な部分を理解することもできます。
結構分厚い本なので持ち運ぶには不便ですが、電子書籍版も販売されているので好みでどっちを買うのか選ぶことができます。