プログラム言語の習得において、どの言語から勉強を始めるのか、はあまり意識されることがないのだが、かなりの重要事項だ。最初の言語学習を通じて養われた知見、認識が、2つ目以降の言語を学ぶ際の橋渡しをしてくれる。さらに異なる言語の学習を続けると、言語間の共通概念、ある言語独自の機能や概念が体系的に構成、認識され、学習効率は向上する。
一方、最初に学ぶ言語、2つ目以降に学ぶ言語のコンセプトが違い過ぎる場合、その橋渡しが良好に機能せず、2つ目の言語習得に要する負担は、一つ目のときと変わらないこともあり得る。
英語学習を想像してみるとよい。日本人が英語を苦手とするのは、日常生活で英語を用いない、学校教育云々、色々言われるのだが、原理原則で考えてみてほしい。日本語はウラル・アルタイ語族に、英語はインド・ヨーロッパ語族に分類されている。両言語系統は、分類上、最も遠くに位置している。つまり全く特性の違う言語ということだ。原理原則として、タイプの異なる言語を学ぶのは難しい。プログラム言語も一緒だ。
この観点から、プログラムの初学者が初めて学ぶ言語としてC言語は、かなり良好なポジションにある。C言語を用いた場合の制約や問題をきっかけに、後発の言語へ派生している経緯もあり、C言語で学んだ概念は他の言語でも通じやすい。
学習範囲が広がれば、結局のところC言語に限らず、どの言語でも構文には、それ程変わりがないことを知る。言語特有の機能や概念を学ぶことを重視するようになる。
初学者は、まず構文を学び、加えて特有の要素を学ぶ必要があるため、最初だけは学習負荷が大きいのだ。
『スッキリ分かるC言語入門』(以下、スッキリ~)はタイトル通り、C言語の入門書だ。特にC言語特有の機能であるポインタの紹介を工夫しており、初学者にお勧めの書籍だ。
- 2つの特徴
- String型の定義
- からくり構文
- 再び本題
- 作業環境について
- 余談
- プログラミング言語C
- C言語でゲームを作る
- 参照