or
Sign in to turn on 1-Click ordering.
 
 
Express Checkout with PayPhrase
What's this? | Create PayPhrase
More Buying Choices
38 used & new from $39.95

Have one to sell? Sell yours here
 
   
Practical API Design: Confessions of a Java Framework Architect
 
 

Practical API Design: Confessions of a Java Framework Architect (Hardcover)

~ Jaroslav Tulach (Author)
Key Phrases: runtime container, final void write, clueless assembly, Design Fest, Buffered Writer, Beware of Using Other (more...)
4.6 out of 5 stars  See all reviews (5 customer reviews)

List Price: $74.99
Price: $59.99 & this item ships for FREE with Super Saver Shipping. Details
You Save: $15.00 (20%)
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
In Stock.
Ships from and sold by Amazon.com. Gift-wrap available.

Only 1 left in stock--order soon (more on the way).

Want it delivered Tuesday, November 17? Choose One-Day Shipping at checkout. Details
27 new from $40.80 11 used from $39.95

Formats

Amazon Price New from Used from
  Kindle Edition, July 28, 2008 $47.99 -- --
  Hardcover, July 27, 2008 $59.99 $40.80 $39.95

Frequently Bought Together

Practical API Design: Confessions of a Java Framework Architect + Effective Java (2nd Edition) + Java Concurrency in Practice
Price For All Three: $133.25

Show availability and shipping details

  • This item: Practical API Design: Confessions of a Java Framework Architect by Jaroslav Tulach

    In Stock.
    Ships from and sold by Amazon.com.
    This item ships for FREE with Super Saver Shipping. Details

  • Effective Java (2nd Edition) by Joshua Bloch

    In Stock.
    Ships from and sold by Amazon.com.
    This item ships for FREE with Super Saver Shipping. Details

  • Java Concurrency in Practice by Brian Goetz

    In Stock.
    Ships from and sold by Amazon.com.
    This item ships for FREE with Super Saver Shipping. Details


Customers Who Bought This Item Also Bought

Clean Code: A Handbook of Agile Software Craftsmanship

Clean Code: A Handbook of Agile Software Craftsmanship

by Dean Wampler
4.4 out of 5 stars (45)  $30.96
The Productive Programmer (Theory in Practice (O'Reilly))

The Productive Programmer (Theory in Practice (O'Reilly))

by Neal Ford
4.4 out of 5 stars (22)  $26.40
Java Concurrency in Practice

Java Concurrency in Practice

by Brian Goetz
4.8 out of 5 stars (60)  $37.79
Maven: The Definitive Guide

Maven: The Definitive Guide

by Sonatype Company
3.9 out of 5 stars (7)  $23.09
Spring Recipes: A Problem-Solution Approach (Books for Professionals by Professionals)

Spring Recipes: A Problem-Solution Approach (Books for Professionals by Professionals)

by Gary Mak
4.8 out of 5 stars (24)  $33.64
Explore similar items

Editorial Reviews

Product Description

You might think more than enough design books exist in the programming world already. In fact, there are so many that it makes sense to ask why you would read yet another. Is there really a need for yet another design book? In fact, there is a greater need than ever before, and Practical API Design: Confessions of a Java Framework Architect fills that need!

  • Teaches you how to write an API that will stand the test of Time
  • Written by the designer of the NetBeans API at Sun
  • Based on best practices, scalability, and API design patterns

What you’ll learn

  • What an API is and what the theories are behind good API design
  • When and why to build an API
  • API design patterns applicable to all programming languages, especially modern, object–oriented languages
  • How to optimize and test APIs

Who is this book for?

This book is recommended to every API architect who prefers a bit more engineering design over a purely artistic one.



About the Author

Jaroslav Tulach is the founder and initial architect of NetBeans, later acquired by Sun. As creator of the technology behind NetBeans, he is still with the project to find ways to improve the design skills among all the programmers who contribute to the success of NetBeans open source project.


Product Details

  • Hardcover: 416 pages
  • Publisher: Apress; 1 edition (July 28, 2008)
  • Language: English
  • ISBN-10: 1430209739
  • ISBN-13: 978-1430209737
  • Product Dimensions: 10.1 x 7.3 x 1.3 inches
  • Shipping Weight: 1.9 pounds (View shipping rates and policies)
  • Average Customer Review: 4.6 out of 5 stars  See all reviews (5 customer reviews)
  • Amazon.com Sales Rank: #317,613 in Books (See Bestsellers in Books)

    Popular in this category: (What's this?)

    #59 in  Books > Computers & Internet > Computer Science > Software Engineering > Design Tools & Techniques

Inside This Book (learn more)

What Do Customers Ultimately Buy After Viewing This Item?

Practical API Design: Confessions of a Java Framework Architect
83% buy the item featured on this page:
Practical API Design: Confessions of a Java Framework Architect 4.6 out of 5 stars (5)
$59.99
Effective Java (2nd Edition)
6% buy
Effective Java (2nd Edition) 4.9 out of 5 stars (36)
$35.47
The Definitive Guide to NetBeans™ Platform
5% buy
The Definitive Guide to NetBeans™ Platform 3.7 out of 5 stars (3)
$50.56
Java Concurrency in Practice
3% buy
Java Concurrency in Practice 4.8 out of 5 stars (60)
$37.79

Tags Customers Associate with This Product

 (What's this?)
Click on a tag to find related items, discussions, and people.
 
(6)
(6)

Your tags: Add your first tag
 

 

Customer Reviews

5 Reviews
5 star:
 (4)
4 star:    (0)
3 star:
 (1)
2 star:    (0)
1 star:    (0)
 
 
 
 
 
Average Customer Review
4.6 out of 5 stars (5 customer reviews)
 
 
 
 
Share your thoughts with other customers:
Most Helpful Customer Reviews

 
4 of 4 people found the following review helpful:
5.0 out of 5 stars As essential to programming as Effective Java by Bloch, January 9, 2009
By mathboy (San Diego, CA) - See all my reviews
Enough said.

This and Effective Java by Bloch are the two books every Java programmer should have read. It will change the way you program and you'll be grateful for the change. The examples in this book are in Java but that's because they had to be in some language; I don't think any part of this book is specific to Java. If your code is consumed by other people, or even a future self, then this book will help you think through issues you may not have know you have. It did me.

In my opinion, this is those one of those once in a decade books that changes the game for anyone who reads it.

A totally mature, non-didactic work written by someone with that perfect combination of real-world experience, a high intellect, a no BS attitude, and humility.

This book is like getting a magical time telescope- you can see what the decisions you are making in your coding today will actually lead to in the future and what the inescapable consequences will be for you.

Actually, reading this book is a little like being put into the role of Scrooge being visited by the three ghosts of Christmas. You get to see what's going to happen to you because of your past and present actions before it happens. At it's heart it's a longitudinal study of how code is first consumed, abused and misused by other programmers and how those abuses become dependencies which determine what YOU, the code's author can and cannot do in future releases.

In a very small nutshell- totally innocent innocuous, completely legal and even recommended programming practices which you apply every day in your code can and will completely shut down any chance for your code to evolve in any rational way going forward in future releases. Why? Because you can't see the potential consequences of consumers of your code doing something you never thought they might do in ways you never meant for them to do it.

But here's a guy who did do those things and lived to pay the price.

For example, if you think that using interfaces (in Java) is usually the best way to program, then you might have a nasty surprise coming at you when other people (damn them!) actually start to program against your code.

When the book's over, you might be as happy as Scrooge that there's still time to change things before it's too late.

Like Bloch's Effective Java, the lessons in this book are so important that they're destined to become diffused throughout the general programming culture and become known to people who haven't even heard of the book. But can you wait until all that filters down to you through osmosis?
Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)



 
1 of 1 people found the following review helpful:
5.0 out of 5 stars An instant classic, April 5, 2009
Amazon Verified Purchase(What's this?)
Because I'm reading this book on my Kindle 2, I know I am exactly 25% of the way through it. I started reading it yesterday and have not been able to put it down. I was even reading part of it to my significant other this morning. Her comment (she majored in English literature) is that the book seems very well written.

The author mentions in the preface that the book "Effective Java (2nd edition)" by Joshua Block has practically become the bible of java developers. I'm reading both of these books at the same time.

update at 38% completion-- I have purchased this book and also Block's book twice: once in Kindle form and a second time in paper form. It's expensive but the knowledge these books impart is worth it. I prefer to read these two books exclusively on my Kindle 2. They seem easier to read on the Kindle than in paper form. I find it best to alternate between the two books, switching to the other book at logical points in their respective narratives.
Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)



 
1 of 1 people found the following review helpful:
5.0 out of 5 stars The book I've always been waiting for, March 2, 2009
By David Linsin (Karlsruhe, Germany) - See all my reviews
(REAL NAME)   
Practical API Design: Confessions of a Java Framework Architect is the book I've always been waiting for. Jaroslav Tulach, the founder and architect of NetBeans, created a highly recommend read for everyone in charge of developing APIs.

But even if it's not your job to define interfaces, you are somewhat alway on the other side consuming them and it's good to know what drives evolution of the APIs you work with.

The book consists of 3 parts:

Part 1 is called "Theory and Justification". It defines the terminology and background which gives you the necessary foundation to explain and justify API design.

Let me give you and example: Have you ever had problems explaining your design to a colleague? You couldn't find the right words to reasonably highlight your decision, but you know it was right? The only justification was your intuition and the feeling that your design was the right choice. Does that sound familiar?

That's where Part 1 of this book comes in and tries to give you a tool to justify and even measure the quality of your design decisions: Selective Cluelessness. It's a principle which is based on the assumption that you can achieve more by knowing less:


"The more good APIs we have, the bigger the systems we'll be able to build without understanding all their details."


"Practical Design" is Part 2 and basically puts the theory highlighted in the first part to practice. Using Java, the author provides a set of what he calls API design patterns. They are design patterns in the traditional sense, but with a focus on evolution. Most of them accompanied by an examples the the NetBeans APIs. It doesn't matter if you are not familiar with NetBeans. Due to the author's years of experience with NetBeans, he does a great job explaining the problems it was facing and how they came with a solution, which evolved into an API design pattern.

..., it's slightly more complicated to design a universe than building a house. As a result, we need an enhanced version of the design patters. We need patterns that help us building a "universe".


Part 3 of the book, "Daily Life", is a collection of advices on how to bugfix, evolve and maintain an API. The author points out how important versioning is and how NetBeans solves such a problem. He highlights the importance of compatibility and how to keep the promises to the users of your APIs.

The theory and initial design are just the tip of the iceberg. The rest is the real work.


I'm really glad I read this book, although it took me quite a while. The reason is not the 365 pages. It was all the moments I had during reading it. So many times I was reminded of mistakes I made in APIs I previously designed. I often pondered on whether a solution suggested in the book was better than the one I came up with. I think that's what makes a book interesting, if it makes you think and critically review your own solutions.

I enjoyed taking the journey through the API universe and learning how to design an API in a selective cluelessness way. As for the reasons why you should read this book:

... when you understand the API world, its needs and its laws of evolution, you can shape it into a form containing all that the creators of the oldest and most perfect science always searched for - beauty, truth and elegance. A properly API universe ain't a bad place to be.
Comment Comment | Permalink | Was this review helpful to you? Yes No (Report this)


Share your thoughts with other customers: Create your own review
 
 
 
Most Recent Customer Reviews

5.0 out of 5 stars Surprisingly Enlightening Top Notch Software Development Book for the Advanced Professional

Wow! I only wanted to brush up some of my development skills and than this rock of a book. There are problems and solutions I did not have the slightest idea of their... Read more
Published 10 days ago by ws__

3.0 out of 5 stars A curious mix
I'm not sure what I was expecting. This book is part memoir about the creation and evolution of NetBeans, part list of best practices (and a few esoteric tricks), and part... Read more
Published 8 months ago by Trevor Burnham

Only search this product's reviews



Customer Discussions

This product's forum
Discussion Replies Latest Post
No discussions yet

Ask questions, Share opinions, Gain insight
Start a new discussion
Topic:
First post:
Prompts for sign-in
 


Active discussions in related forums
Search Customer Discussions
Search all Amazon discussions
   


Listmania!

Create a Listmania! list

So You'd Like to...


Product Information from the Amapedia Community

Beta (What's this?)


Look for Similar Items by Category


Look for Similar Items by Subject

 

Feedback

If you need help or have a question for Customer Service, contact us.
 Would you like to update product info or give feedback on images?
Is there any other feedback you would like to provide?

Your comments can help make our site better for everyone.


Your Recent History

 (What's this?)

After viewing product detail pages or search results, look here to find an easy way to navigate back to pages you are interested in.