CodeZine(コードジン)

特集ページ一覧

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

第2回

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

目次

Stroustrup氏の回答2:構成は言語の機能ではなく、テクニックに基づいて決めた

Here is an explanation of the structure of the book:

    This book consists of four parts and a collection of appendices:
     
    Part I "The basics" presents the fundamental concepts and techniques of programming together with the C++ language and library facilities needed to get started writing code. This includes the type system, arithmetic operations, control structures, error handling, and the design, implementation, and use of functions and user-defined types.
     
    Part II "Input and output" describes how to get numeric and text data from the keyboard and from files, and how to produce corresponding output to the screen and to files. Then, it shows how to present numeric data, text, and geometric shapes as graphical output, and how to get input into a program from a graphical user interface (GUI).
     
    Part III "Data and algorithms" focuses on the C++ standard library's containers and algorithms framework (the STL). It shows how containers (such as vector, list, and map) are implemented (using pointers, arrays, dynamic memory, exceptions and templates) and used. It also demonstrates the use of standard library algorithms (such as sort, find, and inner_product).
     
    Part IV "Broadening the view" offers a perspective on programming through a discussion of ideals and history, through examples (such as matrix computation, text manipulation, testing, and embedded systems programming), and through a brief description of the C language.
     
    Appendices provide useful information that doesn't fit into a tutorial presentation, such as surveys of C++ language and standard library facilities, and descriptions of how to get started with an integrated development environment (IDE) and a graphical user interface (GUI) library.

 本書の構成は次のようになっています:

    本書は次の4つの部と付録で構成されています。
     
    第1部: ”The Basics”
    コードを書き始めるために必要なプログラミング概念とテクニックを取り上げながら、同時に、C++言語とライブラリ機能の概要を説明します。具体的には、型の体系、算術演算、制御構造、エラー処理に加え、設計と実装、関数とユーザー定義型などを取り上げています。
     
    第2部: ”Input and output”
    キーボードやファイルから数値とテキストデータを受け取り、処理結果を画面に表示したり、ファイルに保存する手順を説明します。その後、数値データ、テキスト、幾何図形をグラフ出力する技術と、GUI(Graphical User Interface)経由でデータを受け取るプロセスを解説しています。
     
    第3部: ”Data and algorithms”
    C++標準ライブラリのコンテナーとアルゴリズムフレームワーク(STL)に焦点を当てています。具体的には、vector、list、mapなどの実装内容(ポインタ、配列、動的メモリ、例外、テンプレートなど)と応用方法を説明します。また、分類、検索、内積などの標準ライブラリが採用しているアルゴリズムにも触れています。
     
    第4部: ”Broadening the view”
    プログラマー向けの一般教養を提供します。プログラミングの歴史と哲学から始まり、マトリック演算、テキスト操作、テスト、組込みプログラミングなどの具体的な例、そして、C言語の解説まで取り上げています。
     
    付録:
    初心者用の教材の範疇に入らない情報を提供します。具体的には、C++言語と標準ライブラリ機能のユーザー調査結果、統合開発環境(IDE)とGUIライブラリの基本的な使い方などを取り上げています。
10月発売予定の著書、「Programming Principles and Practice Using C++」
10月発売予定の著書、「Programming Principles and Practice Using C++」
The order of topics is determined by programming techniques, rather than programming language features.

I characterize my approach as "depth-first." It is also "concrete-first" and "concept-based." Part I resembles a traditional course except that it moves very fast and use higher-level types, such as string and vector right from the start, rather than being constrained by the built-in types. By the end of Part I, the students can use and write simple classes. Part II is where object-oriented programming (uses of inheritance) comes into the picture and Part III is heavily influenced by generic programming. Part III is also where pointers and free store enter the picture.

 トピックの出現順は、プログラミング言語機能ではなくプログラミングテクニックにより決定されています。

 私は本書で採用したアプローチの特徴を”depth-first”と呼んでいます。また、”concrete-first””concept-based”と呼ぶこともあります。

 第1部の内容は、従来の書籍構成に類似していますが、説明テンポを速くし、内蔵(ビルトイン)型に加え、かなり早期の段階から文字列やベクタなどの高度な型が登場します。第1部を終了する頃までには、読者は単純なクラスを定義し、活用できるようになります。第2部は、オブジェクト指向(クラス階層)概念を取り上げています。第3部は、ジェネリックプログラミング(GP)の解説を中心に、ポインタとフリーストアを概観します。


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

バックナンバー

連載:Bjarne Stroustrup氏との対話

著者プロフィール

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

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

あなたにオススメ

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