最速でC/C++の基礎を学ぶ方法

  1. ロベールのC++教室で学ぶ
  2. codepadで実行する
  3. blogに書く

これだけ!
ブラウザだけで全てが完了する。

プログラミング言語のポイント

プログラミング言語を学ぶとき、ポイントとなるのは以下の3点だと思う。

  • 文法/概念
  • ライブラリ
  • 開発環境

僕がC言語を勉強したのは、仕事で少し使うというのもあったけど、なによりポインタを知りたかったからだ。
ポインタを知らないJavaプログラマは迫害されてしまうので・・・。
ポインタを知るなら、C言語の「文法/概念」を理解すればいい。
ちょっと勉強したくらいで使いこなすことはできないが、概念や動作を理解するだけでも何も知らないよりずっとましだと思う。
ちなみに、勉強してから思ったけど、ポインタは面白い。

Cの壁

C言語を学ぼうとすると、動かすまでに壁がある。

僕はLinuxgccemacsを使っていた。
これはこれで楽しかったけど、やっぱり面倒だった。
もちろんちゃんと開発するならgccgdbの使い方をある程度覚えなくてはいけないが、気軽に試してみたいだけなら覚えなくてもよいと思う。
気軽にさくさく試せると、楽しくコードを書けるし、モチベーションも上がる。

ブログ駆動開発(Blog Driven Development)

勉強したことはアウトプットしたほうがよいと思っている。
唸りながら、悩みながら勉強して、成果はどんどんblogに書く。
codepadで動いたコードは、blogに簡単に貼り付けられるし、パーマネントリンクもできる。
ブログ駆動開発(Blog Driven Development)にすれば、前に書いたコードを忘れてもblogに張ったリンクからすぐに実行できる。

まとめ

ロベールさんのところには、勉強するのにちょうどよいコードと解説がたくさんある。
僕はまだ第1章の途中だけど・・・。
「やさしいC」で勉強したけど、ほとんどの内容はロベールさんのところに書いてある。というか、もっと高度なこともたくさん書いてある。
codepadを知ったときは、自分に使える言語がなくて、あまりメリットを感じなかった。
でもちょっとコアな言語を、さくっと試してみたいときに便利だ。
遅延評価を試してみたいけど、わざわざHaskellをインストールのは面倒だな、というようなときにさくっと試せる。


こんなひとはけっこう多いのではないだろうか。

そんなひとはブラウザで気軽にCを書いてみればいいと思う。

http://codepad.org/g4jIZWTc

#include <iostream>

int main(void){
  printf("Hello C World!");
  return 0;
}