ビジネス WinDbgアプリケーション開発技術 Windowsカーネルと型


プログラミング言語C++学習上のつぼ

 「C++プログラミング言語の歴史と特徴」連載第29回目の今回も前回に引き続き次の公開論文を精読していきます。

第1回連載資料論文

 今回は、「7 Use of C++」の第4段落目以降を読みます。Stroustrup氏は、C++に関する次の指摘は正しい、と述べています。

"C++は小さなプログラミング言語でもなければ、分かりやすいプログラミング言語でもない"

 Stroustrup氏は、この指摘は正しいもの、と認めます。これは裏を返せば、C++の習得は難しいため、適切な学習方法を採用すべきである、ということになります。Stroustrup氏は、現在のC++出版書籍や教育方法には問題があると明確に指摘しています。こうした事情もあり、同氏は自らこのような教育論文を一般公開しています。筆者も目を通しましたが、残念ながら、この論文はかなりのベテランプログラマ向けのものと判断されます。どちらかといえば、C++を"C的に使っているプログラマの考え方を正す"という性格を持っており、平均的なプログラマでは論文内容を味わうことは難しいと思われます(Bjarne Stroustrup氏の教育論を平易に解説した本「IT談話館」の関連連載はこちら)。

 Stroustrup氏は、C++は難しいプログラミング言語という指摘を肯定した上で、C++の特徴を最終的に次のような7つの形容詞で整理しています。

・Clean
・Realistic
・Efficient
・Flexible
・Available
・Comprehensive
・Commercial

 これら7つの形容詞の意味を理解するためには、C++の壁をある程度乗り越えなければなりません。その壁さえ乗り越えれば、このような7つの形容詞が処々に光り輝く平原がそこに横たっているはずです。

 C++学習上の壁を効率的に乗り越える方法はあるのでしょうか。あるとすれば、それはいったいどのような方法なのでしょう。筆者は、Stroustrup氏の考え方をまず理解することではないかと思います(C++設計思想)。プログラミング言語C++の世界が同氏の世界観の表現である以上、言語文法やサンプルコードを学習する前に、Stroustrup氏の考え方を理解する必要があります。これを逆にすると、いつまでたっても、"C++を偶然使用しているCプログラマ"となってしまいます。

JavaC#などの比較的新しいプログラミング言語の設計者の発言内容を読んでみると、必ずC++への言及があります。C++以降の言語の設計者たちは、Stroustrup氏の考え方を理解しています。さらにいえば、SunやMicrosoftの主要なベンダーの文化も、Stroustrup氏の考え方に影響されています(C++の弱点を突く記事)。

前へ | 次へ



 WinDbg入門  ホーム


Copyright©豊田孝 2004- 2009
本日は2009-01-07です。