C++プログラミング言語を採用するメリット
「C++プログラミング言語の歴史と特徴」連載第28回目の今回も前回に引き続き次の公開論文を精読していきます。
第1回連載資料論文
今回は、「7 Use of C++」の第3段落を読みます。この段落は9行で構成される比較的小さな段落です。注意深く読んでいくと、次のような用語が鍵となっていることが分かります。
・Performance
・Maintainabiliby
・Ease of extension
・Ease of testing
・Reliability
・Stability
・Compatibility
・Scalability
まずはこの用語リストをじっくり眺めてみましょう。IT業界で長い間活動している人は、このリストの中にRobustness(堅牢さ)という用語が含まれていないことに気づくと思います。そして、堅牢さの意味を今改めて考えてみると、その語彙には具体的な意味が一切含まれていないことにも気づかされるはずです。堅牢さという用語は、おそらく、マーケッティング部門が選択した用語の1つでしょう。"堅牢さ"という用語の中には、このリスト内の用語の意味がすべて含まれていますから、マーケッティング部門の語彙選択の巧みさには驚かされます。
筆者はこの用語リストを整理したとき、"これはソフトウェアビジネスを行う上で参考になる、プログラミング言語や技術インフラ(実行・仮想環境)の選択基準ではないか"、と思いました。最初のPerformanceは、次のように敷衍されています。
However, the large amount of code is not in such sections.
これはどういうことを意味するかといえば、"Performanceが要求されるコードはそれほど多くはない"ということです。開発作業におけるPerformanceの優先順位を高く設定(つまり、品質優先を掲げること)すれば、生産されるコードは一部の熟練開発者の芸術品に等しくなります。芸術的なコードは決して軽視されるべきものではありませんが、ソフトウェアで生計を立てる場合、Performance指向は利益を生み出しません。一部のコードが高性能を誇っても、Maintainabiliby、Scalability、Compatibilityなどの他のビジネス要素に悪影響を与えるようでは、全体として、ビジネスになりません。Stroustrup氏は、ここで、ソフトウェアビジネスの現実を指摘しています(つまり、本音を語っていること)。
筆者の個人的な考えを述べれば、優れた実装技術を身に付けるのではなく、優れたライブラリを選択する能力の方が利益を生み出すと思います(特に、わが国のようなソフトウェア輸入大国では、作業効率が大切です!)。受託と派遣ベースの、これといった独自技術を必要とされないソフトウェアビジネスでは特に、開発方針などより、経営判断が重要だと思います。筆者の観察では、技術習得への熱心さはビジネス成功の保障を与えてくれていません(高度な技術力を備えた人の価値がかなり軽んじられている)。しっかり基礎を固めた上で、"売りになる、高度な専門技術"を見い出すことが重要ではないかと思います。筆者は常にこのように心掛けています。
C/C++プログラマの中には、Visual Basicプログラマをさげすむ人が結構います。"それはプロが使用する言語ではない!"、というわけです(参考記事)。筆者はそのような意見に同意しません。ソフトウェアビジネスはコンピュータの勉強会ではありません。ビジネスである以上、最終的には収益を生み出せばよいのです。筆者の知人の中には、ビジネス収益を重視し、Visual Basicを採用している人がたくさんいます。同様の理由で、Javaを使っている人も多数います。
プログラミング言語や技術インフラ(実行・仮想環境)の選択はたいへん難しい問題です。Stroustrup氏は、C++はあまたあるプログラミング言語の一つであり、開発道具にすぎない!、と繰り返します。と同時に、現時点では最良の選択肢であることも強調します。筆者は、C++の設計思想を理解していれば、他の言語(と実行インフラ)の習得は容易であると考えています。C++思想の影響力は、JavaやC#をはじめとする、他の有力言語に及んでいます。
前へ |
次へ
Copyright©豊田孝 2004-
2009
本日は2009-01-07です。