Programming Books C Java PHP Python Learn more Browse Programming Books
Buy New
$23.70
Qty:1
  • List Price: $34.95
  • Save: $11.25 (32%)
FREE Shipping on orders over $35.
Only 3 left in stock (more on the way).
Ships from and sold by Amazon.com.
Gift-wrap available.
Add to Cart
Want it Monday, April 21? Order within and choose One-Day Shipping at checkout. Details
Have one to sell?
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more

Write Portable Code: An Introduction to Developing Software for Multiple Platforms Paperback


See all 2 formats and editions Hide other formats and editions
Amazon Price New from Used from Collectible from
Paperback
"Please retry"
$23.70
$4.13 $0.22

Frequently Bought Together

Write Portable Code: An Introduction to Developing Software for Multiple Platforms + Cross-Platform Development in C++: Building Mac OS X, Linux, and Windows Applications
Price for both: $72.49

Buy the selected items together

NO_CONTENT_IN_FEATURE

Image
Looking for the Audiobook Edition?
Tell us that you'd like this title to be produced as an audiobook, and we'll alert our colleagues at Audible.com. If you are the author or rights holder, let Audible help you produce the audiobook: Learn more at ACX.com.

Product Details

  • Paperback: 272 pages
  • Publisher: No Starch Press; 1 edition (July 1, 2005)
  • Language: English
  • ISBN-10: 1593270569
  • ISBN-13: 978-1593270568
  • Product Dimensions: 9.3 x 7.1 x 0.8 inches
  • Shipping Weight: 1.2 pounds (View shipping rates and policies)
  • Average Customer Review: 4.0 out of 5 stars  See all reviews (11 customer reviews)
  • Amazon Best Sellers Rank: #935,816 in Books (See Top 100 in Books)

Editorial Reviews

Review

Packed with specifics which lend... an overall understanding of concepts and the ability to troubleshoot common problems. -- Midwest Book Review, Internet Book Watch, September 2005 (http://www.midwestbookreview.com/ibw/sep_05.htm)

This sample chapter examines the issues you'll run into when moving code between processor architectures. -- Tech Republic, August 4, 2005

Within the first few chapters, I’ve already learned about a new tool. -- GBGames’ Blog, July 21, 2005

About the Author

Brian Hook is a professional software developer and author who has worked primarily in the gaming and entertainment industries. His experience developing cross-platform software at companies such as id software, 3Dfx Interactive, and Pyrogon gives him a unique view into the process of cross-platforms software development.

More About the Author

Discover books, learn about writers, read author blogs, and more.

Customer Reviews

4.0 out of 5 stars
5 star
4
4 star
4
3 star
2
2 star
1
1 star
0
See all 11 customer reviews
This is an excellent book about writing C and C++ that it agnostic to the operating system.
Jack D. Herrington
As such, the book spends time explaining issues that are easily resolved by relying on these include files and libraries.
John Selbie
The book is very C/C++-centric, but many of the concepts are directly portable to other languages such as (yes) Java.
Ivan Milles

Most Helpful Customer Reviews

14 of 16 people found the following review helpful By David Chazin on February 19, 2006
Format: Paperback Verified Purchase
This book is an excellent read. The material is presented completely, concisely, and in an easy to understand manner. However the title of this book is misleading. It really should be "Write Portable code in C". There is some limited discussion of C++, but mostly to discourage you from using it. All other languages are dismissed out of hand, or just completely ignored. As long as you understand this caveat there is much to learn from this book.

This book is really focused on writing software that will run on essentially any platform that has a C compiler, which today is almost all processors. If you need to write software that will run on embedded 16 bit processors as well as the latest 64 bit ones, then you should read this book. However, there are large classes of software that have a more limited notion of portability (such as running on most 32 bit Unix or Windows platforms, or any platform that g++ can target) where Standard C++ or Java are the way to go. Unfortunately the book does not adequately address the tradeoffs, design, and implementation decisions one should make in these cases. In particular, I am puzzled by the total lack of Java solutions.

Since the book emphasizes C programming, there is minimal content on GUI programming, Web programming, database programming, and similar areas where C programming is rarely used anymore.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
9 of 10 people found the following review helpful By Ivan Milles on September 24, 2005
Format: Paperback
Enter Brian Hook's Write Portable Code. Portability is a sort of a holy grail for programmers, and there is no lack of knowledge floating around Usenet and Internet. However, Brian Hook tried to recommend a book on the subject to a friend, and didn't find one. So he set out to write his own.

The result is a tome that should reside on every programmers desk sooner or later. The book's cover pictures a donkey striving uphill, and I can definitely releate to that. Portability is not only a target hard to aquire, but it is also a target roaming about in a minefield. I consider myself a best-practice programmer: stability and portability is important to me. However, while reading this book, I quickly realized that I know nothing. Each and every chapter contained possible gotchas that have eluded me for years. This book does two things: it points out those gotchas, and it gives the reader oodles of clever tricks, background info and solutions. And best of all, those tricks are often of the stablest possible quality.

Diving into this book, I had to break up old ideas about what is safe and not. For can you rely on sizeof(int)? Are you sure main() is your entry point? What if you need to move to a mixed-endian platform? Westwood's assumptions about floating point behaviour made it impossible for Aspyr to implement network play across platforms for Command & Conquer: Generals. Deciding on portability is also a matter of choosing your platforms. Hook points out that you can write a program that runs the same on a clustered super computer as well as a coffee machine, but it doesn't make much sense. Instead, establishing a baseline will go a long way towards keeping your sanity.
Read more ›
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
5 of 5 people found the following review helpful By James Holmes on August 25, 2005
Format: Paperback
This book is an in-depth discussion of issues involved in getting C/C++ code from one platform to another. Hook dives deep into arcane topics such as processor memory access alignment, floating point operation platform differences, and exception handling. The book's not for the faint-of-heart, and it's rather specific to C/C++; however, readers brave enough to push through the book should get interesting insights regardless of what platform and development environment they're working with.

This appears to be a great resource for folks who are actively porting software. It's a very good guidebook of issues to address if you're even thinking about porting. I'd also say it's a good skimming read for most developers if only to get an understanding of some engineering principles to consider when building your systems. You never know when your platform might fold or get deprecated.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
5 of 5 people found the following review helpful By Adam MacBeth on November 28, 2005
Format: Paperback
This is the only book I've seen that covers this material in-depth (The Practice of Programming by Kernighan and Pike touches on the basics). If you've never worked on the development of a piece of cross-platform software, this book will help you avoid a lot of the pitfalls that many programmers have overcome through trial and error. Otherwise, there's not much novel material here for you.

The first half of this book decribes the method for writing portable code with a good high-level philosophy (introduce abstraction and indirection wherever necessary) as well as delving into a lot of the specifics of how to accomplish it. All the bases are covered. The second half of the book offers an unfortunately shallow review of the different subsystems that differ between platforms without giving any real options for how to bridge the gaps.

Overall, the book is well written and correct. On the downside there's nothing ground-breaking here and the effective length of the book is about half of its actual length given the disappointing second half.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again

Product Images from Customers

Most Recent Customer Reviews

Search
ARRAY(0xa669dc18)

What Other Items Do Customers Buy After Viewing This Item?