SSブログ

『Javaパフォーマンス』読書会 終了 [読書会]

Javaパフォーマンス

Javaパフォーマンス

  • 作者: Scott Oaks
  • 出版社/メーカー: オライリージャパン
  • 発売日: 2015/04/11
  • メディア: 大型本

2015年4月27日(火)から始めた社内の『Javaパフォーマンス』読書会ですが、開催しない週があり進捗が悪かったのですが、今日終わりました。5名で始めた読書会でしたが、途中1名が転職したので4名で終了しました。

2月に大森事業所から海老名へ転勤後の勉強会でしたが、なんとか終わらせることができました。12月7日からは新横浜事業所勤務になります。

技術的負債(6) [技術的負債]

Becoming a Better Programmer: A Handbook for People Who Care About Code

Becoming a Better Programmer: A Handbook for People Who Care About Code

  • 出版社/メーカー: O'Reilly Media
  • 発売日: 2014/10/03
  • メディア: Kindle版

この本の「Chapter 13: A Tale of Two Systems」からの抜粋(p.122)です。

Technical Debt

Technical debt is a term coined by Ward Cunningham that’s widely used in the software industry today. The metaphor leans on the financial world: making a decision to help ship software quickly is like taking on a loan. It can enable you to do something now that you would not otherwise be able to do.

But you can’t ignore that loan—you always have to pay it back. The longer it takes to pay back, the more it costs you. If you fail to make timely repayments, you’ll be stuck paying off interest on the loan, and your purchase power diminishes.

In the software world, that means return to your code to update it, or else your progress will slow as the code bogs down in accrued debt. This is important: in the long run, lower code quality means longer development times, but a responsible short-term loan can speed things up.

Technical debt might be deferred refactoring, design adjustments that reflect what you’ve discovered, waiting to update libraries or toolchains until after the next major release, or rationalising the logging/debugging scaffolding.

This is a colourful metaphor that can be misused: technical debt does not just mean doing something badly. Sometimes writing bad code is justified as being “pragmatic”; there is a difference between a pragmatic choice and a sloppy one.

Consciously managing technical debt is a powerful weapon in your development arsenal. Don’t let debt build up, and keep it visible. Like a real loan, pay back debt as early as possible to avoid suffering excessive interest and charges.
技術的負債に全く関心を払っていないソフトウェア組織が最後はどうなってしまうのかというのも関心事ですが、最近の個人的関心事は、そのような組織で働くことで個々のソフトウェアエンジニアの成長に対して何が起きるのかということです。

書籍『The Go Programming Language』(9) [golang]

The Go Programming Language (Addison-Wesley Professional Computing Series)

The Go Programming Language (Addison-Wesley Professional Computing Series)

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

すでに紙の本とKindle版が発売されているので、購入された人も多いと思います。紙の本の索引(Index)のRob Pikeのところに次のようにあります。
Pike, Rob xi, xiii, 67, 107
ところが、この最後のp.107にはRob Pikeの名前は登場しません。索引を作り間違えたのかと思いましたが、そうではないそうです。

p.107には次のようなコード例が掲載されいます。
array              ["gold", "silver", "bronze"]
object             {"year": 1980,
                    "event": "archery",
                    "medals": ["gold", "silver", "bronze"]}
実は、これはRob Pikeに関連する例なので、索引が追加されています。関連しているのは1980、archery、silverの三つです。私は知らなかったのですが、これはRob Pikeに関するよく知られたジョークのようです。

Rob Pikeは経歴にジョークで、1980年のオリンピックのアーチェリ競技で銀メダルを取ったと書いていたようです。1980年のモスクワオリンピックを、米国およびカナダ(それに日本)はボイコットしたので彼がオリンピックで銀メダルを取ることはできるはずもないということです。詳しくは、http://c2.com/cgi/wiki?RobPike を参照してください。

第3期「Java 8研修」コース終了 [プログラミング言語Java教育]

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

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

  • 出版社/メーカー: インプレス
  • 発売日: 2014/09/22
  • メディア: Kindle版

この本をテキストとして学ぶコースですが、先週に続いて第3期が11月20日(金)に終了しました。修了生は8名でした。これで、延べ26名が修了したことになります。

書籍『The Go Programming Language』(8) [golang]

ちょっとした手違いがあってGoogle社のNew Yorkオフィスのメール室に放置されていた本が届きました。

IMG_0450.JPG


中を開くとメッセージと著者の二人からのサインが書いてありました。

IMG_0451.JPG


第2期「Java 8研修」コース終了 [プログラミング言語Java教育]

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

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

  • 出版社/メーカー: インプレス
  • 発売日: 2014/09/22
  • メディア: Kindle版

この本を使用した第2期が11月13日(金)に終了しました。修了生は5名でした。6回で終了を予定したコースなのですが、5回で終了しました。第3期も来週の金曜日に終了予定です。

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

eop.jpg

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

プログラミング原論

プログラミング原論

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

日本語版の読書者へ

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


Go言語関連の新刊 [golang]

Go言語関連の出版予定も入れた新刊です。

The Go Programming Language (Addison-Wesley Professional Computing)

The Go Programming Language (Addison-Wesley Professional Computing)

  • 作者: Alan A. A. Donovan
  • 出版社/メーカー: Addison-Wesley Professional
  • 発売日: 2015/11/05
  • メディア: ペーパーバック

Go in Action

Go in Action

  • 作者: Brian Ketelsen
  • 出版社/メーカー: Manning Pubns Co
  • 発売日: 2015/12
  • メディア: ペーパーバック

Go Web Programming

Go Web Programming

  • 作者: Sau Sheong Chang
  • 出版社/メーカー: Manning Pubns Co
  • 発売日: 2016/01/31
  • メディア: ペーパーバック

Go in Practice

Go in Practice

  • 作者: Matt Butcher
  • 出版社/メーカー: Manning Pubns Co
  • 発売日: 2016/03/02
  • メディア: ペーパーバック

Go言語関連は過去他にも書籍が出ていますが、翻訳は私の『プログラミング言語Goフレーズブック』だけのようです。

API設計の基礎(8) [API設計の基礎]

2009年に書き始めて、しばらく書かない期間があったのですが、とりあえず最初の版としたいと思います。また内容もかなり縮小されて3章から構成され37頁しかありません。
第 1 章 C/C++での実装の隠蔽
第 2 章 Java での実装の隠蔽
第 3 章 防御的プログラミング

「まえがき」からの抜粋です。
 1978 年に大学で初めてコンピュータに触れてから様々なソフトウェア開発に従事してきました。しかし、大学での 6 年間や社会人となってからも、非効率なソフトウェア開発をしてきたのが現実です。C 言語で実装を隠蔽することを覚えたのは、社会人となってから 7、8 年過ぎてからでしたし、防御的プログラミングを始めたのは何と社会人となってから 15 年も過ぎていました。
 本書では、C 言語、C++言語、Java 言語を中心として、日々のソフトウェア開発の中で意識して注意を払うべきことをまとめたものです。それらを実践するのとしないとでは、日々の開発の生産性が大きく左右されます。残念ながら、それらを教えられたり、指導されながらソフトウェア開発を行っているソフトウェアエンジニアは少ないです。
 私自身も、特に誰かに教えてもらったのではなく、自分で考えたり、書籍を通して学んだりしたしました。しかし、最初にきちんと学んでいれば、もっと良いソフトウェア作りができたと思っています。

・・・途中省略・・・

 本書は、私自身がソフトウェア開発を行いながら学んだことをまとめたものであり、その内容には偏りがあるかもしれません。しかし、本書を通して、みなさんが私と同じような遠回りをすることなくソフトウェア開発をされることの助けとなれば幸いです。