訳者まえがき 『APIデザインの極意』 [訳者まえがき・あとがき]

APIデザインの極意 Java/NetBeansアーキテクト探究ノート
- 出版社/メーカー: インプレス
- 発売日: 2014/05/23
- メディア: Kindle版
訳者まえがき
私自身がJava 言語を学び始めたのは、1996 年の夏でした。その後、Java 関連の技術雑誌の記事を執筆したり、2001 年に『プログラミング言語Java 第3 版』を翻訳したりしました。しかし、それまでは、API 設計に関しては、初心者の域を出た程度でした。API 設計に対する私自身のレベルを大きく押し上げてくれたのが、2001 年に翻訳したJoshua Bloch 氏の『Effective Java プログラミング言語ガイド』でした。そして、Jaroslav Tulach 氏のこの『API デザインの極意』(Practical API Design)は、さらにAPI 設計に対する私のレベルを大きく押し上げてくれました。Tulach 氏の言葉を借りれば、私の水平線を大きく押し広げてくれました。
API 設計は、大学で体系的に教えられることはないですし、企業でも教えられることはないと思います。その結果、日本企業においては、いわゆるSDK と呼ばれるソフトウェアを外部へ提供していても、必ずしも優れたAPI になっていないことがあります。私自身も、数多くの悪い設計のAPI を見てきました。しかし、なぜ、そのようなソフトウェアが量産されるのでしょうか。それは、何が良いAPI で何が悪いAPI であるかを分からないレベルのソフトウェアエンジニアが開発しているからかもしれません。あるいは、きちんとしたレビューを受けていないのかもしれません。あるいは、レビューできちんと指摘できるレベルのソフトウェアエンジニアがいないのかもしれません。
きちんとしたAPI 設計を学ぶには、ある程度独学で書籍を通して学習して、実践して習得していくしかありません。その意味では、Joshua Bloch 氏の『Effective Java』は必読書と言えますし、デザインパターンなども学ぶ必要があります。しかし、残念ながら、API を発展させていく観点でAPI 設計について書かれている書籍は、まれです。
この本には、オープンソースプロジェクトであるNetBeans のアーキテクトとしてTulach 氏が経験してきたことがまとめられています。Tulach 氏が行った様々な誤りが説明されており、それらの経験からAPI の発展を考慮した設計とはどのような設計かが説明されています。また、どのようにして、NetBeans の非推奨のAPI を終焉させてきたかも述べられています。そして、最後に、この本に述べられている方法論をアジャイルAPI 設計(Agile API Design)と呼ぶことにすると述べられています。
この本は、プログラミングの初心者向けではありませんし、Java に関する知識が必要であり、『プログラミング言語Java 第4 版』の内容の知識が必要です。多くのJava プログラマが不慣れと思われる箇所に関しては、『プログラミング言語Java 第4 版』の該当箇所を訳注として示しています。
この日本語版が、API 設計に対する読者のみなさんの水平線を押し広げることの助けになれば幸いです。
2014-09-11 06:15
コメント(0)
コメント 0