Linux/gccプログラミングをこれから始める人にお勧めしたい本
7月ももう終わりですね。
会社の新人研修も一通り修了し、新人達が現場にぼちぼち配属され始めた頃でしょうか。うちの会社はお盆明けからですが。
さて。プロジェクトに配属され、Linux上でのCプログラミングをしなければいけなくなった人達へ、お勧めしたい本を紹介します。本質的な内容の書籍よりは、読みやすいもの、平易なものを選んでみました。
導入編
新人達は、Linuxを触るのも初めて、という人も多いでしょう。という事で、まずは、Linuxとはどんなものなのかを理解してください。
Linux標準教科書 無料ダウンロード LPI-Japan LPICレベル1対応|Linux技術者認定機関 LPI-Japan [エルピーアイジャパン]
このたび、特定非営利活動法人エルピーアイジャパンは、Linux技術者教育に利用していただくことを目的とした教材、「Linux標準教科書(Ver1.1)」を開発し、インターネット上にて公開し、提供することとなりました。この「Linux標準教科書」は、多くの教育機関から、Linux を「基礎」から学習するための教材や学習環境の整備に対するご要望があり、開発したものです。公開にあたっては、「Linux標準教科書」に添付されたライセンス(クリエイティブ・コモンズ・ライセンス)の下に公開されています。本教材は、最新の技術動向に対応するため、随時アップデートを行っていきます。
なんと、こんなに素晴らしい教科書が無料で公開されてます。読むべきです。
Linuxの基礎に関しては、この教科書を読むだけで十分です。他にも「Linuxサーバ構築標準教科書」もあるので、こちらも併せて読みましょう。
もう一つ、手元にあると何かと重宝するコマンドリファレンス本も用意しておくと便利です。
【改訂新版】 Linuxコマンド ポケットリファレンス (Pocket Reference)
- 作者: 沓名亮典,平山智恵
- 出版社/メーカー: 技術評論社
- 発売日: 2009/04/08
- メディア: 単行本(ソフトカバー)
- 購入: 9人 クリック: 99回
- この商品を含むブログ (16件) を見る
gccプログラミングの第一歩
C言語の基礎を一通り学び、Linuxのコマンドも少し使えるようになったら、さっそくLinux上でプログラムを作り始めてみましょう。
ふつうのLinuxプログラミング Linuxの仕組みから学べるgccプログラミングの王道
- 作者: 青木峰郎
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2005/07/27
- メディア: 単行本
- 購入: 35人 クリック: 450回
- この商品を含むブログ (149件) を見る
C言語プログラミングテクニック編
プログラミングテクニック―UNIXコマンドのソースコードにみる実践プログラミング手法 (UNIX MAGAZINE COLLECTION)
- 作者: 多治見寿和
- 出版社/メーカー: アスキー
- 発売日: 2003/11
- メディア: 単行本
- 購入: 9人 クリック: 141回
- この商品を含むブログ (47件) を見る
定本 Cプログラマのためのアルゴリズムとデータ構造 (SOFTBANK BOOKS)
みたいな書籍で学ぶのも良いのですが、こういったテクニック本で実際のソース上でどのように使われるのか、という視点から入るのも良いでしょう。両方勉強するのがベストではありますが。
Linuxシステムプログラミング
ここからが本番。
Linuxプログラミング―例題で学ぶUNIXプログラミング環境のすべて
- 作者: ニールマシュー,リチャードストーンズ,Neil Matthew,Richard Stones,葛西重夫
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2004/08
- メディア: 単行本
- 購入: 4人 クリック: 69回
- この商品を含むブログ (20件) を見る
- 作者: 冨永和人,権藤克彦
- 出版社/メーカー: ピアソンエデュケーション
- 発売日: 2007/09/28
- メディア: 単行本(ソフトカバー)
- 購入: 6人 クリック: 185回
- この商品を含むブログ (22件) を見る
どちらも例題での実践的なプログラム作成を通して、システムコール/APIの使い方や、プロセス、シグナルの制御、ネットワークプログラミングなどを理解することができます。
本来は、
Linuxシステムプログラミング
詳解UNIXプログラミング
UNIXネットワークプログラミング〈Vol.1〉ネットワークAPI:ソケットとXTI
みたいな本を読むべきなんでしょうが、ある程度の知識が読み進めないですし、何よりブ厚すぎて、萎えてきます。必要な時に調べるリファレンス的な存在として、会社に一冊ずつ常備しておくような本ですね。
シェルスクリプト
VisualStudioとかEclipseみたいなリッチなIDEではなく、なぜエディタとコンソールで開発するのか。それはおそらく、シェルスクリプトがあるから、と答える人が多いんじゃないのでしょうか。
プログラミングするうえでの様々な(もしくは面倒な)作業を1つのコマンドにまとめて何度も実行したり、複数のファイルに対して同じ処理を繰り返し実行したり、という事が簡単に実現できます。
入門UNIXシェルプログラミング―シェルの基礎から学ぶUNIXの世界
- 作者: ブルース・ブリン,Bruce Blinn,山下哲典
- 出版社/メーカー: ソフトバンククリエイティブ
- 発売日: 2003/02
- メディア: 単行本
- 購入: 18人 クリック: 331回
- この商品を含むブログ (62件) を見る
デバッグ
VisualStuioにもEclipseにも高機能がデバッガが搭載されていて、一度使い始めるともうそれなしでは開発できないくらいになります。では、エディタ+コンソールだけの環境では、どうなのでしょうか。
Debug Hacks -デバッグを極めるテクニック&ツール
- 作者: 吉岡弘隆,大和一洋,大岩尚宏,安部東洋,吉田俊輔
- 出版社/メーカー: オライリージャパン
- 発売日: 2009/04/27
- メディア: 単行本(ソフトカバー)
- 購入: 12人 クリック: 419回
- この商品を含むブログ (73件) を見る
内容はかなりレベルが高いのですが、セグメンテーション違反のバグが直せねーよー!と泣いているときに開いて読んでみると、かなりの確率で問題が解決できるんじゃないのかと思います。
エディタ
達人プログラマー―システム開発の職人から名匠への道に書かれてるのですが、生産性の高いプログラマになるには、エディタを使いこなす必要があるようです。それこそ「エディタは手の延長だ」とまで言えるようなレベルまで習得すべきでしょう。
UNIX/Linuxを代表するエディタといえば、Emacsとviです。
- 作者: Debra Cameron,James Elliott,Marc Loy,Eric Raymond,Bill Rosenblatt,宮下尚,半田剣一,新井貴之,鈴木和也
- 出版社/メーカー: オライリー・ジャパン
- 発売日: 2007/03/12
- メディア: 大型本
- 購入: 14人 クリック: 331回
- この商品を含むブログ (117件) を見る
- 作者: リンダラム,アーノルドロビンス,Linda Lamb,Arnold Robbins,福崎俊博
- 出版社/メーカー: オライリー・ジャパン
- 発売日: 2002/05
- メディア: 単行本
- 購入: 14人 クリック: 193回
- この商品を含むブログ (75件) を見る
Emacsはカスタマイズをして自分好みのエディタに育てあげていくものなのですが、逆を言えば、カスタマイズしなければ非常に使いづらいという一面もあります。ですので、自社での自分の用意した環境で仕事をするときはEmacsを、よそ様の環境ではviという使い分けもしています。
あとは好みですので、自分にあったエディタを探してみてください。
以上になりますが、本を読むだけでは何にもならなくて、実際にソースを書く、動かしてみる、という事が何より大切です。
本物のプロフェッショナルになれるよう、まずは一歩目を踏み出してみてください。