最速でC/C++の基礎を学ぶ方法
- ロベールのC++教室で学ぶ
- codepadで実行する
- blogに書く
これだけ!
ブラウザだけで全てが完了する。
プログラミング言語のポイント
プログラミング言語を学ぶとき、ポイントとなるのは以下の3点だと思う。
- 文法/概念
- ライブラリ
- 開発環境
僕がC言語を勉強したのは、仕事で少し使うというのもあったけど、なによりポインタを知りたかったからだ。
ポインタを知らないJavaプログラマは迫害されてしまうので・・・。
ポインタを知るなら、C言語の「文法/概念」を理解すればいい。
ちょっと勉強したくらいで使いこなすことはできないが、概念や動作を理解するだけでも何も知らないよりずっとましだと思う。
ちなみに、勉強してから思ったけど、ポインタは面白い。
Cの壁
C言語を学ぼうとすると、動かすまでに壁がある。
- 開発環境の準備
- コンパイル
- 実行
僕はLinuxでgccとemacsを使っていた。
これはこれで楽しかったけど、やっぱり面倒だった。
もちろんちゃんと開発するならgccやgdbの使い方をある程度覚えなくてはいけないが、気軽に試してみたいだけなら覚えなくてもよいと思う。
気軽にさくさく試せると、楽しくコードを書けるし、モチベーションも上がる。
ブログ駆動開発(Blog Driven Development)
勉強したことはアウトプットしたほうがよいと思っている。
唸りながら、悩みながら勉強して、成果はどんどんblogに書く。
codepadで動いたコードは、blogに簡単に貼り付けられるし、パーマネントリンクもできる。
ブログ駆動開発(Blog Driven Development)にすれば、前に書いたコードを忘れてもblogに張ったリンクからすぐに実行できる。
まとめ
ロベールさんのところには、勉強するのにちょうどよいコードと解説がたくさんある。
僕はまだ第1章の途中だけど・・・。
「やさしいC」で勉強したけど、ほとんどの内容はロベールさんのところに書いてある。というか、もっと高度なこともたくさん書いてある。
codepadを知ったときは、自分に使える言語がなくて、あまりメリットを感じなかった。
でもちょっとコアな言語を、さくっと試してみたいときに便利だ。
遅延評価を試してみたいけど、わざわざHaskellをインストールのは面倒だな、というようなときにさくっと試せる。
こんなひとはけっこう多いのではないだろうか。
- JavaかVBかLLしか知らない
- Cはいつか勉強したい
- ポインタを知らないことで迫害された
- Javaスクールの危機 を読んで、不安になった
- C/C++のポインタの機能--配列との関係 で、みんながなぜ騒いでいるのか分からない
そんなひとはブラウザで気軽にCを書いてみればいいと思う。
#include <iostream> int main(void){ printf("Hello C World!"); return 0; }