Practical API Design
Practical API Design

Author: Jaroslav Tulach
Publisher: Apress
Pages: 387
ISBN: 978-1430243175
Audience: Java API creators
Rating: 3
Reviewer: Alex Armstrong

A strange topic as not many programmers get the chance to design a public API - but with the influence of the web this is slowly changing. Is this a book you have to read?

Its subtitle is "Confessions of a Java Framework Architect" and much of the material is very Java oriented - well the practical examples are. The "confessions" part of the title suggest that it is a personal book, and indeed it is. How much you like the book does depend on how much you like the writing style and philosophy of the author - who is the founder of the NetBeans Platform. In case you missed it, the NetBeans platform is a framework for creating Swing-based applications - including the well known NetBeans IDE.




Part 1 is called "Theory and Justification". There isn't much theory in it as such; just very general observations and specialization of ideas from general software development.

Part 2 of the book is "Practical Design" and again it's mostly general ideas illustrated with some very specific, and often technical, examples. At best it serves to focus your mind on the task of API creation - otherwise you might just do it without realizing you had choices and responsibilities.

The final part of the book, "Daily Life, is about a range of general skills and tasks such as debugging, the evolution of a system and so on.

Overall this is a book full of personal philosophy well wrapped up in clever prose and similes. A lot of the ideas you will have encountered before in a more general programming context. Here they are specialized towards creating APIs but the specialization is fairly obvious. A lot of the book reads like reminiscences of creating NetBeans coupled with some philosophical musings. On the whole I didn't get much out of it.

The style of the book will be a little strange to some, especially so if you are used to the dry "do-this" approach of many programming books. For example, in discussing the benefits of immutability:

"...Resources are not actually destroyed. In some senses, their potential future states are simply trimmed down. After a thread uses a printer, a piece of paper is filled with characters or pixels. At that point, it's no longer empty; it becomes "damaged." It can never be used again."

When was the last time you saw a semicolon in a programming book! You can't help but speculate that the author would really have preferred to have been a philosopher in the mold of Wittgenstein or a novelist in the style of Proust.

If you don't mind such reflections then perhaps you will like the book more than I did. Most of the time I just found that the style and the "big world picture" got in the way of the message - so why are immutable objects a good idea?

This book does contain some useful information, and it is particularly useful if you are about to build a complex API similar in nature to NetBeans. It has a lot of coverage of best practices and discussions of what you are trying to achieve.

For the general reader and for the casual API creator there isn't much in here that will be useful or easily accessible. You have to be prepared to read a lot of philosophy to reach a few, usually esoteric, practical points.

This is not a must read book for the general Java programmer. It isn't even a must read if you are developing an API and this is possibly a shame because there are good ideas contained within. By all means try it. but i can't promise you will like it - it is all far too subjective an experience.




Build an HTML5 Game

Author: Karl Bunyan
Publisher: No Starch Press
Date: March 30, 2015
Pages: 224
ISBN: 9781593275754
Print: 1593275757
Kindle: B00V3WS8EY
Audience: JavaScript programmers
Rating: 4
Reviewer: Mike James 


If you want to build an HTML5 game is this the book you are looking for?

Raspberry Pi: A Quick-Start Guide

Author: Maik Schmidt
Publisher: Pragmatic Bookshelf
Pages: 176

ISBN: 9781937785802
Print: 1937785807
Kindle: B00JS5Z8XW

Audience: New users of Raspberry Pi
Rating: 3
Reviewer: Harry Fairhead


A quick start guide to the Pi - help just when it is needed?

More Reviews

Last Updated ( Tuesday, 28 August 2012 )

RSS feed of book reviews only
I Programmer Book Reviews
RSS feed of all content
I Programmer Book Reviews
Copyright © 2017 All Rights Reserved.
Joomla! is Free Software released under the GNU/GPL License.