SSブログ

書籍『プログラミング作法』再出版されました [本]

プログラミング作法

プログラミング作法

  • 作者: Brian W. Kernighan
  • 出版社/メーカー: KADOKAWA
  • 発売日: 2017/01/30
  • メディア: 単行本

アスキーから出版されていて絶版になった書籍『プログラミング作法』が再出版されました(Kindle版もあります)。著者は、Go言語の生みの親の一人であるRob Pike、そして、『プログラミング言語Go』の共著者であるBrian Kernighanです。

この本に関しては、2011年4月27日に次のように書いています
The Practice of Programming (Addison-Wesley Professional Computing Series)

The Practice of Programming (Addison-Wesley Professional Computing Series)

  • 作者: Brian W. Kernighan/Rob Pike
  • 出版社/メーカー: Addison-Wesley Professional
  • 発売日: 1999/02/04
  • メディア: ペーパーバック

1999年に若手技術者に基本的なことを学んでもらうために、当時はこの英語版を利用して第1章「Style」と第2章「Algorithms and Data Structures」の早朝勉強会を海老名プライムタワー(海老名市)、KSP(川崎市)、岩槻(さいたま市)の3拠点で私が出向いて開催しました。その時に作成したのが「勉強会ノート」です。

勉強会ノート: http://www001.upp.so-net.ne.jp/yshibata/TPOP.pdf

その後、日本語版が出版されました。

プログラミング作法

プログラミング作法

  • 作者: ブライアン カーニハン
  • 出版社/メーカー: アスキー
  • 発売日: 2000/11
  • メディア: 単行本
日本語版を使用して始めた社内教育が「プログラミング作法」教育です。当初は、以下の3部から構成される1日の教育コースでした。
  • 「ソフトウェアエンジニアの心得」
  • コードレビューの重要性とコードレビュー・ガイドの説明
  • 『プログラミング作法』の第1章「スタイル」の教育
4社※1でソフトウェア系技術者の新卒新人向け教育として行っていましたので、受講生の多くがすでに30代前後です。書籍『プログラミング作法』には多くの有益なことが書かれていますので、この教育では受講生に書籍が配布されていました。

「ソフトウェアエンジニアの心得」は、私が雑誌の記事に書いたものが付け加えられる形で内容が年々膨らんでいき、現在の「ソフトウェアエンジニアの心得」教育や講演の内容となっています。

転職後※2は、一日コースではなく、「ソフトウェアエンジニアの心得」と「プログラミング作法(スタイル)」に分離して、別々の社内教育コースとして行っています。「ソフトウェアエンジニアの心得」は、技術系新人の集合教育にお願いして入れてもらい話をしています。今年は子会社※3の集合教育にも入れてもらい、話をました。

書籍『プログラミング作法』の第1章「スタイル」は、私でなくてもできる教育なので、本当は若手エンジニアか中堅のエンジニアが行ってもらいたい内容ですが、残念ながら社内教育としてはまだ私が行っています。※4
※1 富士ゼロックス、富士ゼロックス情報システム、富士フィルム、富士フィルムソフトウェア
※2 リコー
※3 リコーITソリューションズ
※4 富士ゼロックスでは若手技術者が講師となって行ってくれているようです
1999年に勉強会で使ってから18年が経過したことになります。勉強会で使った勉強会ノートの表紙には、次のように書いています。
1 章と 2 章だけでなく、すべての章で有益なことが書かれていますので、是非全体を読んでください。初心者には分かり難い部分も多いですが、その場合には、職場の経験ある先輩に聞いてください。でも、正しく説明出来る人は多くないと思います。「The Practice of Programming」に書かれている内容がすべて説明できるようになれば、一人前のソフトウェア・エンジニアと言っても過言ではないでしょう。
2000 年 5 月 14 日 柴田 芳樹
ほとんどC言語で書かれていますが、若い人達には是非読んで学んでもらいたい内容です。

拙著『ソフトウェア開発の名著を読む【第二版】』でも紹介しています。

ソフトウェア開発の名著を読む 【第二版】 (技評SE選書)

ソフトウェア開発の名著を読む 【第二版】 (技評SE選書)

  • 作者: 柴田 芳樹
  • 出版社/メーカー: 技術評論社
  • 発売日: 2009/10/21
  • メディア: 単行本(ソフトカバー)


書籍『プログラミング原論』再出版されました [本]

eop.jpg

2010年にピアソン桐原から出版され、その後、絶版になった『プログラミング原論』が、東京電機大学出版局から再出版されました。再出版に際して原著の正誤表をすべて反映していますし、著者による「日本語版の読者へ」(下記)が新たに追加されています。また、本もB5版になり文字も大きくなっています。

プログラミング原論

プログラミング原論

  • 作者: アレクサンダー ステパノフ
  • 出版社/メーカー: 東京電機大学出版局
  • 発売日: 2015/11/10
  • メディア: 単行本(ソフトカバー)

日本語版の読書者へ

 私達は,日本語版の読者向けにまえがきを書く機会を提供してくれた出版社および訳者の柴田芳樹氏に深く感謝しています。
 この本の精神は,日本の美学にあります。この本は,必要最低限の数の言葉で,できる限り多くを説明しようとしています。古くからの俳句のように17語まで減らすことはできませんが,俳句が少ない語数で表現することに影響を受けました。この本は,あまり厚くはありません。実際,無駄な厚みが全くないことを願っています。私達は,すべての言葉が意味を持つように努めました。
 故障しない自動車や修理を全く必要としないテレビでもって,日本のエンジニアが世界を変え始めた頃に,私達は大人になりました。私達の望みは,ソフトウェアに対する私達の取り組みによって,自動車やテレビと同じように頑強なものを,プログラマが作り出すことを可能にすることです。日本のエンジニアのおかげで,一般の人々が自動車に関する機械知識を持っている必要がなく,自動車は常に走ると想定できるように変わったのです。ソフトウェア業界も自動車業界と同じように予想できるようになってもらいたいと思っています。そうすれば,ソフトウェアは,直感的で芸術家肌のプログラマではなく,有能なプログラマによって生み出されるようになるでしょう。
 この本は,出発点に過ぎません。ソフトウェア開発を工業化するための努力のほとんどは,これからの未来に行われます。この本の読者の方々が,その未来をより現実的にしてくれることを望んでいます。
 訳者である柴田芳樹氏には,注意深い翻訳だけでなく,誤りを見つけてくれたことにも感謝します。
Paul McJones,Alexander Stepanov
米国,カリフォルニア州
2015年8月


書籍『プログラミング原論』予約受付中 [本]

プログラミング原論

プログラミング原論

  • 作者: アレクサンダー ステパノフ
  • 出版社/メーカー: 東京電機大学出版局
  • 発売日: 2015/11/10
  • メディア: 単行本(ソフトカバー)

2010年にピアソン桐原から出版され、その後、絶版になった『プログラミング原論』が、東京電機大学出版局から再出版されます。再出版に際して、原著の正誤表をすべて反映しています。また、著者による「日本語版の読者へ」が新たに追加されています。

5年前に出版された『プログラミング原論』は、こちらです。

プログラミング原論

プログラミング原論

  • 作者: アレクサンダー ステパノフ
  • 出版社/メーカー: ピアソン桐原
  • 発売日: 2010/12/24
  • メディア: 単行本(ソフトカバー)


書籍『Writing Solid Code, 2nd Edition』 [本]

CEoouQhUkAEhIoq.jpg

Steve Maguireの『Writing Solid Code, 2nd Edition』を購入しました。米国のAmazonで注文したのですが、実際には出版社から直接発送扱いでした。さらに、日本には発送してくれないということで、米国の知人先に送付するようにして、それから日本に送ってもらいました。

写真の左が初版です。私は、1998年9月23日に、この英語の初版を読んだのですが、日本語版は、その直前に出版されています。

WRITING SOLID CODE (Microsoft Programming Series)

WRITING SOLID CODE (Microsoft Programming Series)

  • 作者: Steve Maguire
  • 出版社/メーカー: 日経BP社
  • 発売日: 1998/08/11
  • メディア: ペーパーバック

原著の初版は、1993年に出版されており、第2版は2013年なので、ちょうど20周年記念版という感じです。

書籍『その数式、プログラムできますか?』 [本]

その数式、プログラムできますか?

その数式、プログラムできますか?

  • 作者: Alexander A. Stepanov
  • 出版社/メーカー: 翔泳社
  • 発売日: 2015/05/19
  • メディア: 単行本(ソフトカバー)

C++のSTLを設計したAlexander A. Stepanovが共著者として執筆した『From Mathematics to Generic Programming』の日本語版が発売されるようです。この本の中で『Elements of Programming』への多くの言及があります。
Many of the programming topics in this book are also covered from a different perspective, and more formally, in Elements of Programming by Stepanov and McJones. Readers interested in additional depth may find that book to be a useful companion to this one. Throughout this book, we occasionally refer interested readers to a relevant section of Elements of Programming.
1.3 Prerequisites, From Mathematics to Generic Programming
『Elements of Programming』の日本語版は、『プログラミング原論』です。

プログラミング原論

プログラミング原論

  • 作者: アレクサンダー ステパノフ
  • 出版社/メーカー: ピアソン桐原
  • 発売日: 2010/12/24
  • メディア: 単行本(ソフトカバー)

残念ながらピアソン桐原から出版された『プログラミング原論』は、現在、絶版となっています。しかし、原著の4th printingまでの正誤表を反映した日本語版を、別の出版社から新たに発売する予定です(具体的な発売日は未定です)。

書籍『Core Java for the Impatient』 [本]

Core Java for the Impatient

Core Java for the Impatient

  • 出版社/メーカー: Addison-Wesley Professional
  • 発売日: 2015/02/06
  • メディア: Kindle版

紙の書籍はまだ発売になっていませんが、Kindle版が発売されています。

出版前にレビューした書籍としては、この本は私にとって5冊目となります(Acknowledgmentsに名前が掲載されています)。

目次は次の通りです。
Preface
Acknowledgments
Chapter 1 Fundamental Programming Structures
Chapter 2 Object Oriented Programming
Chapter 3 Interfaces and Lambda Expressions
Chapter 4 Inheritance and Reflection
Chapter 5 Exceptions, Assertions, and Logging
Chapter 6 Generic Programming
Chapter 7 Collections
Chapter 8 Streams
Chapter 9 Processing Input and Output
Chapter 10 Concurrent Programming
Chapter 11 Annotations
Chapter 12 The Date and Time API
Chapter 13 Internationalization
Chapter 14 Compiling and Scripting
Java言語およびクラスライブラリを全般的に学ぶための書籍となっています。節によっては、次の『Java SE 8実践プログラミング』と内容が同じ部分があったります。

Javaプログラマーなら習得しておきたい Java SE 8 実践プログラミング

Javaプログラマーなら習得しておきたい Java SE 8 実践プログラミング

  • 作者: Cay S. Horstmann
  • 出版社/メーカー: インプレス
  • 発売日: 2014/09/22
  • メディア: 単行本(ソフトカバー)

『Java SE 8 実践プログラミング』は、Java 8での新たな言語機能やクラスライブラリだけの内容となっており、今までJava言語に慣れ親しんできた人がJava 8を素早く学ぶための本となっています。

どちらの書籍も同じスタイルで書かれており、章末には、練習問題が多数用意されています。

著者Horstmann氏が長年執筆してきた『Core Java』の第10版が出版されるのは、まだ、もう少し先になると思います。

Core Java Volume I--Fundamentals (10th Edition)

Core Java Volume I--Fundamentals (10th Edition)

  • 作者: Cay S. Horstmann
  • 出版社/メーカー: Prentice Hall
  • 発売日: 2015/07/09
  • メディア: ペーパーバック

なお、『Core Java』は、長年翻訳されていませんし、次の第10版も翻訳されないのではないかと思います。『Core Java for the Impatient』に関して言えるのは、少なくとも、私は翻訳していないということです。

書籍『From Mathematics to Generic Programming』 [本]

From Mathematics to Generic Programming

From Mathematics to Generic Programming

  • 作者: Alexander A. Stepanov
  • 出版社/メーカー: Addison-Wesley Professional
  • 発売日: 2014/11/17
  • メディア: ペーパーバック

今朝気付いたのですが、Alexander A. Stepanov氏が新たな本を執筆していました。彼は、私が翻訳した『プログラミング原論』の著者ですし、C++ STLの設計者でもあります。

プログラミング原論

プログラミング原論

  • 作者: アレクサンダー ステパノフ
  • 出版社/メーカー: ピアソン桐原
  • 発売日: 2010/12/24
  • メディア: 単行本(ソフトカバー)

書籍『Linuxによる並行プログラミング入門』 [本]

Linuxによる並行プログラミング入門

Linuxによる並行プログラミング入門

  • 作者: 猪平 栄一、重松 保弘
  • 出版社/メーカー: 共立出版
  • 発売日: 2014/10/24
  • メディア: 単行本

大学時代の私の恩師である重松先生の新刊です。C言語のプログラミング中級クラスの方を対象としているそうです。内容を見ていないですが、POSIX Threadによる並行プログラミングが書かれているのではないかと思います。



私がいわゆる並行プログラミングを学んだのは、アセンブリ言語でマルチタスクプログラミングをしていた大学時代を除けば、会社で学んだMesa言語によるものです。そうは言っても、Mesa言語でコードをたくさん書いた訳ではなく、既存のコードを修正・デバッグすることが主でした。

本格的なマルチスレッドプログラミングは、1993年からSolaris 2.3を用いてC++言語で行いました。主に、Solarisに付属するマニュアルで学習しながらプログラミングしていました。

開発がほぼ終盤になった1995年の暮れに、出版されたばかりの『Threads Primer』を読みました。それまでは、スレッドプログラミングの本がなかったので、復習を兼ねて読んだことになります。

Threads Primer: A Guide to Solaris Multithreaded Programming

Threads Primer: A Guide to Multithreaded Programming

  • 作者: Bil Lewis
  • 出版社/メーカー: Prentice Hall
  • 発売日: 1995/10/31
  • メディア: ペーパーバック

この本は、英語の原著を読んで、私が初めて間違いを著者へ問い合わせた本です。1995年12月25日に問い合わせのメールを出して、以下の返信を29日にもらっています。
Yoshiki,

You are most correct, and I am embarrassed that this statement made it into the book, even after it was reviewed in detail by many people who should have caught it.

The 2nd printing has corrected it.

Thank you for pointing it out.

-- Bil
Javaは、まだ登場していない頃でした。
コメント(0) 

『Effective Java 第2版』の電子版(PDF)が発売になりました [本]

2つの電子出版サイトから発売となりました。

こちらは、Digital e-honのサイトです。

EFFECTIVE JAVA 第2版 (The Java Series)

EFFECTIVE JAVA 第2版 (The Java Series)

  • 作者: Joshua Bloch
  • 出版社/メーカー: 丸善出版
  • 販売開始日: 2014/10/1
  • メディア: PDF

こちらは、VarsityWave eBooksのサイトです。

EFFECTIVE JAVA 第2版 (The Java Series)

EFFECTIVE JAVA 第2版 (The Java Series)

  • 作者: Joshua Bloch
  • 出版社/メーカー: 丸善出版
  • 販売開始日: 2014/10/1
  • メディア: PDF

古い記事を間違えて上書きしたので、改めて両方を紹介します。
コメント(0) 

書籍『アンガーマネジメント入門』 [本]

パワハラ防止のための アンガーマネジメント入門: 怒り、イライラのコントロールで、職場は変わる! 成果が上がる!

パワハラ防止のための アンガーマネジメント入門: 怒り、イライラのコントロールで、職場は変わる! 成果が上がる!

  • 作者: 小林 浩志
  • 出版社/メーカー: 東洋経済新報社
  • 発売日: 2014/02/14
  • メディア: 単行本

この本のタイトルは、ちょっと紛らわしいですが、「アンガーマネジメント入門」です。アンガー(怒り)のコントロールについて書かれています。タイトルの前に「パワハラ防止のための」と付いていますが、今日では、同じことを話をするにしても、冷静に話をするのではなく、怒って話をすることがパワハラの一因になるということで、「パワハラ」を知るという章から始まっています。以下の5つの章から構成されています。
I パワハラを知る
II アンガーマネジメントは何か
III 怒りの性質を知っておこう
IV パワハラ防止に役立つアンガーマネジメント・テクニックの使用例
V 資料編 アンガーマネジメント・テクニック30

社会人となって、会社という職場で相手に怒鳴るような口調で話をする人には数名しか会ったことがないのですが、同じ言葉でも、冷静に話をすることと、怒鳴るような口調で話をすることに関して、本書で述べられていることを抜粋してみます。
  • 反射的かつ、感情に任せて怒鳴ることは人間関係をはじめ、様々なものを破壊します。後悔や反省をしたとしても、破壊したものが取り戻せるとは限りません。
  • 静かなオフィスでやみくもにガミガミ怒鳴り散らされても、「あー、なんか怒っているなー」ということはわかっても、何を伝えたいのかがわかりづらいものです。
  • 指導とは「教え、導くこと」という言葉の意味に立ち返り、相手に伝「え」るのではなく、伝「わる」ことを意識しましょう。伝われなければ、相手の成長や改善につながりません。感情に任せて怒鳴ることは、相手を傷つけ、自分自身も後悔します。
  • 今では「モーレツ社員」もいれば「イクメン社員」もいるのです。法令にのっとって働いている以上、働き方の良しあしを上司が決めることはできません。
  • 反射的に怒ると、熱くなりすぎて興奮が抑えられなくなり、強すぎる怒りの感情をぶつけてしまいがちです。
  • 人は、感情をより強く出すことで自分を表現しようとし、怒っていることが伝わらないと感じたら、余計に怒鳴ります。それは、「怒ればなんとかなる」「怒鳴ったほうが相手に響く」と信じているからです。
  • 人前で強く怒れば信頼や仕事を失う
  • 怒ればどうにかなると思い、強い言葉で説得を試みようとする人がいますが、語気を荒げたところで、相手には真意は伝わりません。むしろ、逆効果です。
  • 反射的に怒ってしまう人は、自分をコントロールできない人に見えます。怒ると、言い方が冷静さを失い、伝えたい真意も違った意味に聞こえてしまいます。
この本では、怒りをどのよう自分でコントロールするかについて述べられています。第III章「怒りの性質を知っておこう」では、怒りの性質が分類されて解説されています。第IV章と第V章では怒りを抑えて管理するためのテクニックが示されています。

コメント(0)