SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Bjarne Stroustrup氏との対話

開発者には”プロ意識”が必要である~Bjarne Stroustrup氏との対話~

第3回

  • X ポスト
  • このエントリーをはてなブックマークに追加

Question 3:あなたは入門書を誰のために書いてるの?

Thank you for introducing your new book. It's clear that many developers here are very interested in it. You characterize your new approach as "depth-first", "concrete-first and "concept-based". To be frank, all those characters do not seem to be easy to understand. Would you give us some more details about them? Your "preface" says that you have a fundamental assumption. It's about "professionalism". In this context, your book is written for serious readers, as C++ was designed for the use of serious professional programmers. I know you have been repeating over the past several years that real-world applications should not be software toys. I also understand that expressing real-world ideas is a very serious task. Is your new book really an introductory version? Who are your ideal readers?

 新しい書籍のご紹介、ありがとうございました。わが国の多くの開発者は、あなたの書籍に強い関心を示しています。これは間違いありません。

 書籍の特徴として”depth-first””concrete-first”、および”concept-based”という3種類の用語が登場していますが、率直なところ、それら3つの特徴の意味を理解することは簡単ではないようです。少し具体的に説明していただけますか?

 「序論」に目を通してみると、あなたは1つの基本的な前提を設定していらっしゃいます。その前提とは”プロ意識(professionalism)”です。ということは、プログラミング言語C++がまじめなプロ意識を持つプログラマのために設計されているように、次期入門書籍はまじめな読者を想定していることになります。あなたはこれまで「現実のアプリケーションはオモチャであってはならない!」と繰り返し主張してきました。アイデアの表現には開発者側の真剣な取り組みも必要でしょう。

 こうした点を承知の上でお尋ねします。あなたの書籍は実際に入門書と言えるものでしょうか? もしそうなら、理想とする読者像を教えてください。

Stroustrup氏の回答 1:C++初心者、3つのグループ

I think readers who will benefit most from my new book will be individuals from one of three groups:
  1. Someone who has never programmed before but is willing to work hard to get a good start with programming. Maybe such a person would like to become a programmer or find some other role in the software industry.
  2. Someone who have been taught programming but feel the need to write better code and wants to understand why some techniques leads to more correct and maintainable code than others. I feel that a lot of teaching in programming is very weak in its treatment of principles and their practical application, so my book fills a need.
  3. Someone who have programmed in a language that is not C++ and would like to become a good C++ programmer, rather than just carry over habits and techniques from another language. Different languages have different strengths and weaknesses and different styles are idiomatic in different languages(often for good reasons), so blindly carrying over habits (say from a scripting language to C++) is nowhere near optimal.
All three groups are novices, but novices in different ways. They all need a tutorial and it remains to be seen to which extent my book can serve all three. My priorities when writing the book was to focus on [1], but never forget [2] and [3]. My guess is that [1] will typically have a teacher to help them, whereas [2] and [3] will more often be self study.

 私は、次の3つのグループのいずれかに属する人すべてに、次期書籍の購入をお勧めします。

  1. プログラミング経験はまったくないが、プログラミング学習に真剣に取り組む決意をしている人。このような人は、将来プログラマになることを目指しているか、あるいは、このソフトウェア業界で他の何らかの職を得たいと考えているはずです。
  2. プログラミング教育を受けたことがあるが、より良質のコードを生産する必要性を自覚し「正確、かつ、保守性に優れた」コードを記述するために必要なテクニックを学びたいと考えている人。現在のプログラミング教育の多くは、「原理を教え、次に、それを現実へ応用する」という教育ニーズを満たしていないと思われます。私の書籍はこのニーズを満たしています。
  3. C++以外の言語でのプログラミング経験があり、心機一転C++プログラマを目指している人。個々のプログラミング言語は、短所と長所を併せ持っています。プログラミングスタイルの多くは、それぞれの言語の世界でイディオム化されています。しかし、ある言語における習慣というものを他の言語、例えば、スクリプト言語の習慣をC++に、無条件で持ち込むのは好ましいことではありません。これでは、新しい言語の持つ機能を最大限に活用できなくなります。

 これら3つのグループに属する人々は全員C++初心者ですが、初心者の意味がグループごとに異なっています。彼ら全員がプログラミング教材を必要としています。しかし、私の書籍がどの程度彼らの役に立てるかは、現時点では予測できません。私は第1グループを主に意識しながら執筆していますが、第2と第3グループに所属する初心者の存在を決して忘れていません。第1グループの人々は教育者の助言を必要とするでしょう。一方、第2と第3グループに属する初心者は独学の道を歩むことになるでしょう。

Stroustrup氏愛用の品々
Stroustrup氏愛用の品々

次のページ
Stroustrup氏の回答 2:半人前だからコードを書けないわけではないし、すべてを理解したうえでコードを書き始める必要もない

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
Bjarne Stroustrup氏との対話連載記事一覧

もっと読む

この記事の著者

豊田 孝(トヨタ タカシ)

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

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/2971 2008/09/18 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング