はじめての C

[Learning GNU C]
アルゴリズムを 用いた プログラムや バッファ処理 等々の 解決は 後まわしにして、"Learning GNU C" を しばらく 訳していくことにします。
http://www.nongnu.org/c-prog-book/online/
(ぼくと 同じで 英語が ダメダメなために C に 近づけない人も 多いだろうし ...)

Learning GNU C

はし書き

1. 対象となる 読者層

ようこそ Learning GNU C へ。 この本の 目的は GNU ユーザが どうすれば C で software が 書けるかを 教えることだ。 それは 第一に 初心者のための tutorial として 書かれたが、経験をつんだ プログラマにとっての reference としても 十分に 役だてられる。 基本は 初めの 数章で すべて 規定されていて、初心者は 以前の 復習のために ざっと 目を通すことで これらの章を 注意深く 読むことができる。 そこでの 全ての 情報には それ以前に プログラムの知識は 想定していない。

読者には GNU の システムを 備えた コンピュータに アクセスできることが 想定されている。 対象となる 読者層が GNU の ユーザであるにも かかわらず、この本の 内容は また OpenBSDFreeBSD あるいは NetBSD の ユーザへも 98% は 適切な ものだろう。 全ての コマンドは プログラミングの 例題に 並べて 説明されているが、コンピュータを shell (コマンドライン) から 使う ある程度の あなたの 知識が 役にたつはずだ。 あなたが その経験を 必要とする software の 唯一のものは テキストエディタだ。 どんな テキストエディタでも 実行されるだろう。 GNU Emacsプログラマにとって 特に 優れたものだ。 それは 20年以上に わたって 開発され 何百もの 役だつ 特徴を 含む。 GNU Nano は あなたが 使える シンプルな テキストエディタであり、プログラマの 一部では vi (vee eye と 発音) を 好んで 用いている。 もし あなたに すでに お気に入りの テキストエディタが あるなら それを 使うことが できる。 また プログラマのために 適応した Anjuta や K Development のような グラフィカルな エディタも あるが、多くの プログラマは テキストに もとづく エディタのほうを 好む。

2. このテキストの 範囲

この本の 内容は 2つの 課題に 分けることが できる -- C の 核となるもの、それと プログラマが 利用できるよう つくられた 標準機能だ。 私が 挙げる 標準機能は GNU Libc に 用意されていて、それは あらゆる GNU の システムの 一部で C の 機能である ライブラリだ。 これらの課題は どちらも それ以外の ものが ないと 使いようは それほど ないが、language の 核のところを スタートし始めた時の、そして 最終的には より多くの Libc を 検討する際の 要 (かなめ) と なる。 C Programming を 教えることを 企図した この課題の 処理では、そこで それぞれの章が 前のものの 上へと 組み立てることで (自然と) 増していく 方法を とっている。 この language の いくつかの 特色は -- それは 終わりに 近づくと 現われるが -- ただ プログラマが 経験して 実際に 使ってみることだ。

C language では それ自身が、コマンドの 反復、データ保存 それに 数式の 実行という 結果を だす。 同じように 重要なのは それが こうした Libc という 特別な 機能を 用いる 方法を 備えていることだ。

Libc では、ファイルの 読み書き、データの ソートや 検索、ユーザからの 入力受理、ネットワーク越しの 交信、簡便な translatable program の 作成、その他 多くのことを 機能として 備えている。