h.nkgwのメモ書き

自分のためのメモです

C++をメインで使わない人にどう教えるのが良いか?

プログラムの勉強といったら、昔は大抵C言語から始めて、C++を勉強するという人はほとんどでしたが、最近はJavaC#を先に学んだり、PerlJavaScriptなどのスクリプト言語などから入ったり、様々な経験を積んでからC++を学ぶ人が増えてきていると思います。

そのように他の言語から入ると、結構変なところで躓いていたりするのですが、話を聞いてみると、やはりC++って難しいと感じるところが多々あるので、少し自分なりにどの順番に説明するのがよいか考えて見ようと思います。

やはり最初はHello worldから入るのが無難だと思います。コンパイルの方法とか実行方法とかの説明になると思います。


#include <iostream> using namespace std; int main() { cout << "Hello world" << endl; return 0; }

結構面倒なのがincludeの説明です。他のファイルの中身が展開される的な話になるのですが、他の言語ではどのライブラリを使いたいか描くという意味合いのものが多く、ベタに必要な宣言をすべて取り込んでいるものは珍しいのではないでしょうか。

実際、下記のように相互に関数を呼び合う場合、プロトタイプ宣言が必要だというのは、今考えると結構ハードルが高いと思います。


void func2(); void func1() { func2(); } void func2(){ func1(); }