CodeZine(コードジン)

特集ページ一覧

設計者自らが書き下ろす「C++入門書」とは~Bjarne Stroustrup氏との対話~

第2回

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2008/08/11 14:00

目次

対話のポイント:入門書のレベルを超えた入門書

 Stroustrup氏からの回答メールによれば、当初の8月出版予定が10月以降に延期されるようです。技術的な内容の吟味はずっと前に完了しているとのことですから、C++の言語文法やその使い方などの説明手順ではなく、”プログラミングとはそもそも何なのか”への回答探しにかなりの時間が割かれていることが想像できます。公式サイトからダウンロードできるPDFファイルの「preface」には、「本書で紹介するプログラミング概念は、JavaやC#などの他の言語にもそのまま適応できる」という文が含まれています。

 Stroustrup氏は、「存在するのは問題とソリューションだけである」「コードは自分のためではなく、ユーザーのために書くものである」「プロ意識(professionalism)」などの基本用語を多用し、従来のプログラミング書との違いを強調しようとしています。

 

 回答メール内に含まれている”depth-first”、”concrete-first”、あるいは、”concept-based”などといった英語を今回は訳出していません。1回のメール交換でこれらの意味を説明する拙速を避けたいと思います。この対話連載がさらに進めば、より本質的な議論が展開されることになるはずです。

 筆者は「目次」を吟味し、”Type”の前に”Object”を説明している真意を尋ねています。筆者は極めて短絡的にOOP的な視点から尋ねたのですが、結果的に、議論が噛み合っていませんでした。しかし、Stroustrup氏の回答メール内で触れられている「”Object”はメモリ領域である」という説明は、正直な感想として、プログラミング入門書のレベルを超えている印象を受けます。

 Stroustrup氏はObjectについて、自らのWebサイトで次のように説明しています。

object - (1) a contiguous region of memory holding a value of some type. (2) a named or unnamed variable of some type; an object of a type with a constructor is not considered an object before the constructor has completed and is no longer considered an object once a destructor has started executing for it. Objects can be allocated in static memory, on the stack, on on the free store. TC++PL 4.9.6, 10.4, 10.4.3, D&E 2.3, 3.9.

 新しい書籍の「目次」を構成する”Objects”、”Types”、”Types”は、このObject解説の第1定義をそのまま使用しているようです。「”Object”は(型を持つ)メモリ領域である」Stroustrup氏が入門書籍内でこの文の意味をどのように説明するのか、本当に楽しみです。

 今回は少し技術詳細に入りすぎた感じがあるので、次回は「プロ意識(professionalism)」について伺う予定です。Stroustrup氏は執筆中の入門書籍内で、「ソフトウェア開発者としてのプロ意識の重要性」を殊のほか強調しています。同氏が考えている”プロ意識”とは一体なんでしょうか。お楽しみに。



  • LINEで送る
  • このエントリーをはてなブックマークに追加

バックナンバー

連載:Bjarne Stroustrup氏との対話

著者プロフィール

  • 豊田 孝(トヨタ タカシ)

    「Windows PowerShell実践スクリプティング―オブジェクト指向と集合指向の統合シェル」(秀和システム発行)と「IT技術者として生き抜くための十ヶ条」(翔泳社発行)の近著2冊にて本音の数%を吐露。最近の活動傾向は、こちらを参照してください。  

あなたにオススメ

All contents copyright © 2005-2021 Shoeisha Co., Ltd. All rights reserved. ver.1.5