C++言語の習熟度について考える

  • C++言語は、非常に奥が深く複雑だが、初心者でも簡単にプログラムが書ける寛容さも兼ね備えている。
  • 古いエンジニアは、C言語を習得した後にC++を学習した。そのため、C言語で得たノウハウを駆使し、C++の機能を充分に使わずとも仕事としてC++を使うことができた。
  • C++は1990年初頭から比べると進化しており、特にテンプレートの使い方に至っては現在でも日々進化している。
  • 新しいテクノロジを学ぶ事は楽しいが、職業としてプログラミングしている者にとって、学習の時間は有限である。しかも、落とし穴があるかもしれない新しいテクノロジを仕事で採用するのはリスクが伴う。
  • 冒険好きなエンジニアは、リスクを恐れず新しいテクノロジにチャレンジするだろう。堅実なエンジニアは、枯れた技術を駆使し、手堅い仕事をするだろう。
  • どちらが良いという議論ではない。いずれも度が過ぎれば悪い方向に働くことは確かだ。要は、バランスだと私は考える。
  • では、C++でのプログラミングを職業とするエンジニアにとって、どの程度のC++言語についての習熟が必須だろうか? また、行き過ぎたリスクの高いテクノロジは、どのあたりを指すのだろうか。
  • 状況は日進月歩で変わっていくが、とりあえず2010年初頭に置いての習熟度の分類を考えてみる。

C++習熟度 (h.godaiの独断です。^^; )

C++習熟度一覧表
Level度合い該当事項
Level-0C++を知ってるとは言えないvirtualの意味がよくわからない
Level-1C++初心者継承を使って抽象化を行っている
Level-2C++初級者const や pure virturlを使っている
Level-3C++中級者継承の乱用は避けるべきだ
Level-4C++上級者STLは便利だ。boostも部分的に使っている。
Level-5C++マスター自前のtemplateライブラリを作っている。boost無しでは生きていけない。
Level-6C++変人レベルSTLのソースコードを読むのが楽しい。テンプレートメタプログラミング(mpl)が好きだ。
Level-7C++廃人レベルboostのソースコードを読んで理解できる

※ C++の経験年数と習熟度の統計と取ったら面白いかも。
※ ちなみに、私は「変人レベル」です。
※ おそらく、仕事で必要なスキルは、Level-4~Level-5だと思います。

アンケート

C++習熟度の統計を取ってみたいと思います。あなたが該当するレベルのボタンを 押してみてください。

選択肢 投票
Level-1 53  
Level-2 23  
Level-3 30  
Level-4 55  
Level-5 26  
Level-6 4  
Level-7 10  

つづく。。。

FrontPage


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2018-08-14 (火) 20:36:04 (4d)