Category Archives: 本おすすめ

読書メモ:ヒトの目、驚異の進化 (ハヤカワ文庫NF)

ヒトの目、驚異の進化 (ハヤカワ文庫NF) (日本語) 文庫
マーク・チャンギージー (著), 柴田裕之 (翻訳)
価格: 1,166円
早川書房 (2020/3/5)

視覚についての新たな視点。大変興味深く面白く読ませていただいた。この本を読むことで見ることの視座が変わる。

みずほ銀行システム統合、苦闘の19年史 史上最大のITプロジェクト「3度目の正直」

みずほ銀行のシステム統合の失敗とそれを受けての勘定系システムの更新は他山の石とするべきものだ。ITシステムに限らず、高度成長期に作られたシステム、建築が老朽化し、その刷新やメンテナンスが喫緊の課題になっている。

みずほ銀行の失敗は、この国で起きがちな失敗例であり、どこにでも存在する、現在進行形で起こっていることでもあり、先の大戦に負けた理由でもある。一方その様なダメなこの国の日常から抜け出すには何が必要なのかをみずほ銀行の勘定系システム刷新が一つの方法を示していると思う。

みずほ銀行の勘定系システム刷新からわかってくるのは、それに必要なのが強いリーダーシップとリーダーのプロジェクトへのコミットメントだと言う事がわかる。何を捨て、何を残し、何を作り直すのかの判断をするにはリーダーに高い知見と資質が求められる。一つ一つの決断に確固たる理由と理論があり、それを実現するだけの組織運営が必要になる。ITシステムに限らない、我々の社会が目指すべきもののヒントの一つがこの中にある。

ブクログから転載)

O’Reilly Programming C# 8.0 – Ian Griffiths著

Programming C# 8.0
価格: 8,059円
Oreilly & Associates Inc (2020/1/7)

Early Access版から読み進めてかれこれ1年近くになるが、何よりも無事出版されたことが喜ばしい。何故喜ばしいかというと、Programming C# 7.0はEarly Access版のまま頓挫し出版されなかったためだ。むしろそれぐらいここ数年はC#と.NETが激動の時期だったととも言える。

本書は、旧版のProgramming C#に比べると、ASP.NET、WPF/WCF開発や.NET Frameworkの相互運用性に関する話題、Dynamicsに関してはごっそり削られている。ランタイムに関する説明も、.NET Frameworkでは無く、.NET Coreのランタイムを中心的に扱うように変更され、本書の内容もよりC#の言語機能に対してフォーカスされている。C# 8.0に至るまでの様々な言語仕様拡張は網羅されており、C# 8.0を学ぶためには最高の一冊だ。章立てもその順序も絶妙で、恐らく今手に入る中で最高のC#学習書(入門書に非ず)だと思う。逆に言えば本書だけではアプリケーションの開発まで完結出来ないが、それは他の各フレームワークにフォーカスされたより詳細な書籍に当たるべきなのだろう。

筆者は本書の読者像を”Who This Book is For”の中でこう説明している。

I have written this book for experienced developers—I’ve been programming for years, and I set out to make this the book I would want to read if that experience had been in other languages, and I were learning C# today. Whereas earlier editions explained some basic concepts such as classes, polymorphism, and collections, I am assuming that readers will already know what these are. The early chapters still describe how C# presents these common ideas, but the focus is on the details specific to C#, rather than the broad concepts.
私はこの本を経験豊富な開発者向けに執筆しました。長年プログラミングしており、その経験が他の言語であった場合に読みたい本にしたいと思い、今日はC#を学びました。以前のエディションでは、クラス、ポリモーフィズム、コレクションなどの基本的な概念について説明していましたが、読者はすでにこれらが何であるかを知っていると思います。初期の章では、C#がこれらの一般的なアイデアをどのように提示するかについて説明していますが、焦点は広範な概念ではなく、C#に固有の詳細です。

C#プログラマーにそしてこれからC#プログラマーになろうという人に是非手に取って欲しい。

P.S.: Safari Books Onlineでも購読可能です。

目次

  1. Introducing C#
  2. Basic Coding in C#
  3. Types
  4. Generics
  5. Collections
  6. Inheritance
  7. Object Lifetime
  8. Exceptions
  9. Delegates, Lambdas, and Events
  10. LINQ
  11. Reactive Extensions
  12. Assemblies
  13. Reflection
  14. Attributes
  15. Files and Streams
  16. Multithreading
  17. Asynchronous Language Features
  18. Memory Efficiency

もっと早く読んでおけば良かったプログラミング本

There are so many programming books out there, sometimes it’s hard to know what books are best. This book list is a curation of the most valuable books for each major Software category.

情報源: Programming Books You Wish You Read Earlier

元々の情報源: もっと早くに読んでおけばよかったプログラミング本 – YAMDAS現更新履歴

 実際の書籍はそれぞれの情報源を読んでもらうとして、この手の非実装(特定言語・環境に依存しないという点で)なアカデミズム寄りの技術本は、本当に読むのも大変なのだけど、それよりも、まず手に取るまでの壁も高く、財布の壁も正直高い。ただ、私の中途半端なエンジニア人生を振り返ってみても、本当に技術的に苦しいときに自分の身を救ってくれたのは、こういう小難しい本ですし、基礎と入門の違いがわかります。基礎は難しい。

 特に将来に野望を抱く若者には、時間と体力に余裕があるうちに、これらの本に是非チャレンジして欲しい。必ず、躓くときの杖になるし、もしそうなる体験が将来なかったとしたら、その職場は君にとっては簡単すぎるという事だ。

書評: 自叙伝 ジャン=リュック・ピカード

ブクログよ転載:

ジャンリュック・ピカード大佐(元)の自叙伝。意外とやんちゃだった若い頃(TNG作中でも書かれる)、スターゲイザーでの経験、エンタープライズ艦長になった経緯とそこでの冒険、データとの出会い、現在フィルムでは描かれていない、Qによるデータの復活、バルカン大使時代、ビバリーとの結婚が書かれている。もちろん創作なのだけど、それを感じさせない密度と濃さを持った内容になっています。

書評:MSVジェネレーション ぼくたちのぼくたちによるぼくたちのための「ガンプラ革命」

以下ブクログより転載。

40台半ばの人間にとってMSVは至福であり呪詛でもある。この世代は「アニメ」からガンダムに入ったのではなく、プラモデルからガンダムに入っているからだ。ボクらにとってのモビルスーツはアニメ論に於ける記号ではなく、その世界に実在する兵器であり、ジョニー・ライデンやシン・マツナガはその世界の実在したエースパイロットだ。そうした世界観の幅の深さがボクらの求めるリアリティで有り、ボクらが20代で、わかったようなわからないような「セカイ」感を持つエヴァンゲリオンに熱狂し、そして近年ガンダムユニコーンやヤマト2199/2202に熱狂した遠因でもある。いわばボクらにとってMSVはその後の人生を何か縛り付ける呪詛であり、そのセカイにいられることは至福である。現に毎月ほぼ「ジョニーライデンの帰還」を読む為だけにガンダムエースを購入しているし、ガンダムセンチュリーをやったモデルグラフィックスは特別な模型詩のままでいる。本書はそうしたいかれたボクらにとって、その呪詛をお焚き上げするための護符のような物であり、多くの同年代が本書によって少しでも軽くなってくれればと思う。ま、そんな簡単に剥がれるような呪詛じゃないけどな。

書評: 明治維新とはなんだったのか-世界史から考える

以下ブクログより再掲。

もう明治維新150年とか薩長土佐で勝手にやってくれと思っている人たちにとっては当たり前の視点・史観では有るけど、それがこの2名の対談でより明確になっていて大変心地が良い。よく太平洋戦争の総括が不十分である事への指摘が多いが、そもそも日露戦争当時戦争への総括が不十分であり、その実際が広く国民に知らしめられなかった事により、再び「鎖国」となり、それ太平洋戦争へ繋がっているという指摘は重要だし、それは今の我が国の現状にも重なって見える。戦争は外交・政治の一手段である、これは即ち戦争中であろうとその前段階であろうと相手との対話と交渉が必要である事を示している。日中戦争時の近衛内閣の「国民党とは交渉に値せず」は、現状の我が国の北朝鮮政策と重なって見えてきて仕方がない。右手で棍棒で殴り合いながらでも、左手の指一本ぐらいは相手と繋いでおくのが外交であり、政治である。結局戦争は政治の一手段である以上対話でしか終わらないのだ。

書評: 入門 Python 3

最近Pythonの復習と学習を進めている。きっかけは二つ。SQL Serverに搭載された事、二つ目はPythonが現代の”Basic”だと感じたからだ。感じたと書いたのはそれがすごくフィーリング的な事だからだ。ボクらの世代はPCを使う事は大なり小なりBasicを憶える事だった。少なくとも”LOAD”命令を憶えないとテープからゲームがロードできなかったし、少ない小遣いで楽しむためには、雑誌に書かれたコードは意味はわからなくても書き写して何らかのプログラムが動かす必要があった。そして、そのうちに雑誌に書かれた呪文の方が気になるようになり、プログラムを憶えた。もちろん”Basic”だ。そのうち、ゲームよりもプログラミングやPC自体を知る事の方が楽しくなる。今のPythonは子供達が初めて出会うプログラミング言語の一つであるだけでなく、ボクらが8bitのPCとBasicで憶えたコンピュータと操るという楽しみを、Raspberry PiとPythonが今の子供達に与えている。また、Pythonはそういった初学者向けのプログラミング言語と言うだけでなく、実用的な業務システム、コンシューマ向けのサービス、深層学習などのAI分野や科学技術計算やシミュレーションでも使用されている。かつて”Basic”が数世代のプログラマのコモンセンスだったように、今はPythonがその地位に(否、それ以上の地位を)占めている。Pythonがコモンセンスだ。

本書はそんなPythonの学習に適している。もう3年前の本なので内容が多少古いところもあるが、Python3が下位互換性に気をつけて開発されているおかげで(Python2?知らない子だ)、今でも問題無く通用する。ただし、多くのオライリーの言語「入門書」がそうであるように、本書は言語の入門書であってプログラミングの入門書ではないし、プログラマになるための本でも無い。本書は何れかの言語にそれなり精通した人間が自分の知っている言語と(できればオブジェクト指向プログラミング言語)と比較しながら学習するのに適している。したがって、目先の仕事をやっつけたい人には向いていないかもしれない。

Pythonは間口は広いが、薄っぺらくはない奥行きが深い言語だ。このページ数を費やして学習する意味があったと思っている。

書評: 藝人春秋2

情報源: 『藝人春秋2 下 死ぬのは奴らだ』のレビュー 水道橋博士 (Tadahiro Ishisakaさん) – ブクログ

上ブクログからの転載。

若い頃の僕にとって水道橋博士はスーパージョッキーに出てくるたけし軍団の若手芸人という人でしかなく、その後もタモリ倶楽部等で見掛けるハカセにもその印象のままだったのだけど、おや、この人はちょっと違うなと思うようになったのは宮崎哲也氏とホストを務めた博士の異常な鼎談を初めて見たときからだった。

番組ホストの構成からぱっと見で考えると、宮崎哲也氏がゲストに切り込んでハカセがいわば狂言回しの役になるのだと見始めたのだけど、実際には逆で、ハカセがゲストに切り込んでいって、宮崎哲也氏が狂言回しのようにそれの補助線を埋めていく展開でびっくりした。ハカセは無知な視聴者の代表を装いつつ、実際には恐らく沢山の時間をかけて「自分で」下調べしたことがわかる質問や話題をゲストに投げていき、うまく言質を引き出していく様に、この人は稚拙に仕事を進めるのではなく、慎重に仕事を積み重ねていく人なのだと印象が一変した。

藝人春秋もそんなハカセが積み上げた仕事から抽出された週刊誌2ページのコラムの集積だ。その集積がつまらないものであるはずがないし、道化としての藝人の仕事が全うされている。

書評 I18N: ソフトウェア・グローバリゼーション入門  I18NとL10Nを理解する – 西野竜太郎

世界で使われるソフトウェアを作るには、国際化(Internationalization, I18N)+地域化(Localization, L10N)が欠かせません。本書はアジャイル時代に対応したソフトウェアのグローバリゼーション(G11N)について、その基本から開発プロセス・具体的な手法やツールまで、G11Nの全体を解説します。

情報源: ソフトウェア・グローバリゼーション入門  I18NとL10Nを理解する – 達人出版会

まだβ版の書籍ではあるけど、紹介したいと思います。

良い技術書の多くは著者本人の問題意識から著作を始めたものが多いのですが、これもその一冊で、大変素晴らしい本です。

著者人身がI18Nに業務として関わる中でI18N/L10Nに関する日本語での情報のなさ等の問題を認識し、実際の作業に即す形でI18N/L10Nに関する基礎的な知識、作業の進め方についてまとめられています。特定のプラットフォームを対象に細かな実装にまで踏み込んではいませんが、かえってそのことにより中立的にI18N/L10Nの基礎的な知識を身につけることが出来ると思います。

ともすると国内でI18N/L10Nの知識を必要とするのは、ゲーム業界や一部ロボット/CNC関連を除くと、海外のISVが作成したソフトウェアやサービスを国内の事業所で日本向けにL10Nするエンジニアが必要としているだけと見成されるところがありましたが、今後国内の市場が飽和。縮小していく中で、国内のISVやサービスプロバイダも海外へ目を向けないと生き残りが難しい時代になっていくと思われます。そうした状況の中では、ソフトウェアエンジニアが基礎知識としてI18N/L10Nに関する知識を持つ必要が出てきます。その時にI18N/L10Nに関する知識を得るために最初に読む本として本書は優れたものになると思います。

.NETのプログラマが次の読むのはこれ。