プログラマとしての一般教養


まぁ、なんだかとても偉そうなページですな・・・標題だけ・・・
でもあまりにも素朴な疑問と言うものは中々解消仕切れないもので、そしてまた 人にも聞きにくく探しても当たり前過ぎて情報が見付からないなんてことを 書いてみようかと思います。



make

よくtar玉を使ってインストールするときにmakeってやりますよね。
これは本当に良くできたプログラミングの支援ツールなんです。 数百行程度のプログラムならば
gcc -o hoge hoge.c -lhage
なんてコンパイルするのですが、ちょっと大きなプログラムになってくると 分割コンパイルしていると何れを更新したのか分からなくなったり、 ソースを更新したのにオブジェクトファイルを更新していなかったりするもので そんなときに、このmakeを使うと対象物(makeのね)が依存するソースが更新されていたら その更新されているソースからたどって対象物に必要な動作をするのです。
まぁ、更新されたかされていないかはファイルの更新時刻欄比較しているようです。
実はプログラムのコンパイル意外にも使えるのです。




gdb

gdbは、デバックツールです。 デバッグするには、まずバグのあるプログラムを作らなければならない( ̄∇ ̄;あれ?。




pipe

多分、ファイルデスクリプタの説明を始めにして次にforkの説明をしてからパイプの説明をしたほうが良いのだろうが・・・そこまでは基本ですから当然知ってますよね。
いきなりパイプです。




socket

パイプが来たら当然ソケットでしょ。パイプよりも有利な点と言えば異なるプロセス間や異なるホスト間でのプロセス間通信が可能だと言うことです。




シンボル

本来ならばCプログラミングと一緒に(それ以前にPCの動作として)覚えなければならない ことでしょう。




ライブラリ

これもCプログラミングと一緒に覚えなければならない。 でも、ライブラリを作成したりライブラリからオブジェクトを取り出したりするのは 必須ではない。