KMC活動ブログ

京大マイコンクラブの活動の様子を紹介します!!

終焉のC++ とは?

この記事はKMCアドベントカレンダー 9日目の記事です。

昨日の記事は、id:asRagi さんの【KMCAdventCalendar2016】アプリ・ゲーム制作者のためのエフェクト制作入門(Effekseer) - らぎメモでした。

Introduction

KMC 5回生のhatsusatoです。

最近は学校が忙しくてあまり趣味のコーディングができていなかったので、ネタがなくて困っていました。そのことを部室でこぼしたところ、終焉のC++のことを書くとよいと言われ、なるほどと思ったので書きます。

What is the 終焉のC++?

C++"expert friendly"*1とも言われるように、初心者にはとても習得の難しい言語です。まともに書けるようになるまでには長い道のりがあります。

終焉のC++とは、その名の示すとおり、C++についての見識を深め、よりよいC++プログラマになるために、C++の参考書を輪読する勉強会です。KMC内では終焉と略されて呼ばれたりします。僕はこの勉強会において、他人より長くC++に触れてきた経験を活かして、参考書の内容を強調したり、否定したり、*2コメントしたりするチューターの役割をしています。単に読み進めるだけでなく、どの部分を重視すべきかという視点を与えるのは、とても価値のあることだと思います。

History

これまでこの勉強会の存在は、外部にほとんど宣伝されることなく*3来たので、この機会にちょっとした経緯を書いておきます。

終焉のC++は2013年に初めて始まりました。なお、この終焉のC++というタイトルは、「はじめての...」*4などといった初心者向けの内容と比べて、もっと深い内容を扱いたいという思いから、割と適当な感じでつけたものです*5。このころは僕を中心とした少人数でEffective C++を読んでいました。殆どの部分を自分ひとりで発表していたので、とても疲れた記憶があります。Effective C++を読み終えた後は、少人数つまり需要が少なかったこともあって、この勉強会はそこで一度終了します。

その後ブランクを挟んで2015年、新入生の間にC++の勉強会の需要を見出したので、終焉のC++は再開しました。メンバーがほとんど新入生だったので、また一からEffective C++を読むことにしました。十分な人数を確保できたので、担当をローテーションして発表してもらう輪読形式で行うことができました。

今年の終焉のC++は、去年からの続きとして、前期にEffective STLを、後期にEffective Modern C++を読んでいます。

Future

現在は、まもなくEffective Modern C++も読み終えようというところ*6に来ているので、そろそろ次に何の本を読むか考える必要があります。 これまでEffective...系の本ばかりを読んできているので、まだ読んでいないC++の参考書はたくさんあります。 しかし、新入生に対して、C++の学習を進める上で欠かせない*7Effective C++を啓蒙する活動もまた重要です。 その一方で、Effective C++には今となっては古い記述や間違いになってしまっている記述*8も多々あるので、非常に悩ましいです。

また、KMC 5回生となった今、いつまで主導権を取って勉強会を進めるのかという問題もあります。 まだしばらくはチューターとして活躍するつもりですが、C++に詳しい新入生*9も入ったので、いずれは引き継いでいかないとなあなんて思ったり。

いずれにせよ、今後も引き続きC++の啓蒙活動は行っていくことでしょう。

Conclusion

終焉のC++とは、KMC部員をC++"expert"に近づけることで、C++に対して"friendly"な人を増やす勉強会です。

明日のKMCアドベントカレンダーはnonamea774さんのroot就任おめでとうの予定です。

*1:by Bjarne Stroustrup, The Problem with Programming

*2:関連する内容を

*3:KMC内にはもちろん周知されているのですが。

*4:特に具体的な本を意識したわけではなかったのですが、調べてみたら案の定実在しました。

*5:もしかしたらKMC内でもあまり由来は知られていないかもしれない。

*6:1月中に読み終える予定。

*7:もはやバイブルのようなものになっていると言っても過言ではないと思います。

*8:多くはC++11がリリースされたことに起因する。

*9:規格書を読んだりする程度には詳しい。