Small Memory Software: Patterns for systems with limited memory (Software Patterns Series)

3.56 avg rating
( 9 ratings by Goodreads )
 
9780201596076: Small Memory Software: Patterns for systems with limited memory (Software Patterns Series)

The phenomenal increases in processing power and memory capacity of computing hardware over recent years have allowed manufacturers to produce smaller and smaller computer systems such as palmtop PCs, smart cards and embedded control systems on domestic and industrial appliances. New techniques such as dynamic memory management and object-orientation help programming but tend to require additional memory. Standard programming techniques do not cope with these limited memory-capacity environments. This book will provide practical help for programmers developing software for this kind of environment. The major content is a series of patterns developed by the authors based on solutions which have been found to work in real-life situations. They range from small system design patterns and process management patterns, to patterns for User Interface development, compression and memory storage. This book will appeal to developers using Windows CE or building mobile telephones, smart cards, embedded devices, set-top computers - in short, all programmers working with memory-constrained systems.

"synopsis" may belong to another edition of this title.

From the Inside Flap:

Preface
Once upon a time computer memory was one of the most expensive commodities on earth, and large amounts of human ingenuity were spent trying to simulate supernova explosions with nothing more than a future Nobel prize winner and a vast array of vacuum tubes. Nowadays many people have enough computer memory to simulate the destruction of most of the galaxy in any one of their hand-held phones, digital diaries, or microwave ovens.

But at least two things have remained constant throughout the history of computing. Software design remains hard (Gamma et al. 1995), and its functionality still expands to fill the memory available (Potter 1948). This book addresses both these issues. Patterns have proved a successful format to capture knowledge about software design; these patterns in particular tackle memory requirements.

As authors we had several additional aims in writing this book. As patterns researchers and writers we wanted to learn more about patterns and pattern writing, and as software designers and architects we wanted to study existing systems to learn from them. In particular:
¥ we wanted to gain and share an in-depth knowledge of portable small memory techniques; techniques that work in many different environments;
¥ we wanted to write a complete set of patterns dealing with one single force Ñ in this case, memory requirements;
¥ we wanted to study the relationships between patterns, and to group and order the patterns based on these mutual relationships, and lastly
¥ we wanted an approachable book, one to skim for fun rather than to suffer as a penance.

This book is the result. It's written for software developers and architects, like ourselves, whether or not you happen to be facing memory constraints in your immediate work.

To make the book more approachable (and more fun to write) we've taken a light-hearted slant in most of our examples for the patterns and with Duane Bibby's cartoons. If frivolity doesn't appeal to you, please ignore the cartoons and the paragraphs describing the examples: the remaining text is as rigorous as we can make it.

This book is still a work in progress. We have incorporated the comments of many people, and we welcome more. You can contact us at our website, smallmemory/

acknowledgements
No book can be the work of just its authors. First, we need to thank John Vlissides, our indefatigable series editor: we still have copies of the e-mail where he suggested this mad endeavour, and we're grateful for his many comments on our patterns, from the original EuroPLoP paper to the final drafts. Second, this book would not be the same without Duane Bibby's illustrations, and we hope you like them as much as we do.

We take the blame for this book's many weaknesses, but credit for most of its strengths goes to those members of the Memory Preservation Society (and fellow travellers) who took the time to read and comment on drafts of the patterns and the manuscript. These people include but are not limited to John Vlissides (again), Paul Dyson, Linda Rising, Klaus Marquardt, and Liping Zhao (EuroPLoP and KoalaPLoP shepherds for these patterns), Tim Bell, Jim Coplien, Frank Buschmann, Alan Dearle, Martine Devos, Martin Fowler, Nick Grattan, Neil Harrison, Benedict Heal, David Holmes, Ian Horrocks, Nick Healy, Dave Mery, Matt Millar, Alistair Moffat, Eliot Moss, Alan OÕCallaghan, Will Ramsey, Michael Richmond, Hans Rohnert, Andreas RŸping, Peter Sommerlad, Laurence Vanhelsuwe, Malcolm Weir, and the Software Architecture Group at the University of Illinois and Urbana-Champaign, including: Federico Balaguer, John Brant, Alan Carrol, Ian Chai, Diego Fernandez, Brian Foote, Alejandra Garrido, John Han, Peter Hatch, Ralph Johnson, Apu Kapadia, Aaron Klish, An Le, Dragos-Anton Manolescu, Brian Marick, Reza Razavi, Don Roberts, Paul Rubel, Les Tyrrell, Roger Whitney, Weerasak Witthawaskul, Joseph W. Yoder, and Bosko Zivaljevic.

The team at Addison-Wesley UK (or Pearson Education, we forget which) have been great in dealing with two authors on opposite sides of the globe. We'd like to thank Sally Mortimore (for starting it all off), Allison Birtwell (for finishing it all up), and Katherin Ekstrom (for staying the distance). Credit goes also to two artists, George Platts for suggesting illustrations and Trevor Coard for creating many of them.

Finally, we must thank all the members of the patterns community, especially those who have attended the EuroPLoP conferences in Kloster Irsee. We are both admirers of the patterns literature (in the same way one might be might be a fan of science fiction literature) and hope this collection of patterns will be a worthy contribution to the canon.

0201596075P04062001

From the Back Cover:

'Anyone who has ever uttered the joyous words, "I saved eight bytes!" will feel at home with this coherent, easy-to-use set of patterns for limited memory systems. As the computing world moves toward hand-held and specialized tiny computing devices, these patterns will continue to show their worth. This book should be on the shelf of every person who writes software for small systems.'
- Neil Harrison, Avaya Inc.

"Many of us have been waiting for someone to tackle the hard problems of resource shortages. In the growing collection of patterns, this book will provide some guidelines for these problems in a well-written, thoroughly enjoyable style. The authors share their real-world experience in the best patterns tradition--all the examples provide ample opportunity to see the solutions at work. This is a "must have!""
- Linda Rising

"The 1980s and 1990s can be described, harshly but accurately, as decades when software developers were increasingly careless about how much memory their software consumed. In "Small Memory Software", Weir and Noble give a timely wake-up call, pointing out some unexpected merits of more thoughtful usage of memory - and giving clear practical advice that should help reverse what has been a most unfortunate historical trend."
- David Wood, Executive Vice President, Symbian


The market for PDA software is huge and growing. Within five years, a significant proportion of the world population will use an smart, Internet-ready mobile phone. A PC in every home? Maybe, but just as likely is a PDA in every pocket! This book offers you state-of-the-art programming solutions for small memory devices. You will learn the best, most successful design techniques for object-oriented programming in constrained memory.

If you are a developer, team leader, or manager building applications for limited-memory systems, you will find everything you need to design and implement effective software with success.

· 27 patterns, fully illustrated with implementation notes for reference plus example code in C++ or Java
· Patterns organized into five major techniques: small data structures, memory allocation, compression, secondary storage, and small architecture
· Easy-to-use layout, with a quick-reference pattern index on the inside covers
· Tips on efficient memory allocation, dealing with memory exhaustion, using ROM instead of RAM, avoiding memory leaks, and automatically recycling unused memory
· An accompanying web-site, www.smallmemory.com, containing detailed implementations of all the substantial examples in the book, which can be used as templates for your own implementations



0201596075B06012001

"About this title" may belong to another edition of this title.

Top Search Results from the AbeBooks Marketplace

1.

James Noble; Charles Weir
Published by Addison-Wesley Professional (2000)
ISBN 10: 0201596075 ISBN 13: 9780201596076
New Paperback Quantity Available: 1
Seller:
Irish Booksellers
(Rumford, ME, U.S.A.)
Rating
[?]

Book Description Addison-Wesley Professional, 2000. Paperback. Book Condition: New. book. Bookseller Inventory # M0201596075

More Information About This Seller | Ask Bookseller a Question

Buy New
US$ 54.11
Convert Currency

Add to Basket

Shipping: FREE
Within U.S.A.
Destination, Rates & Speeds

2.

James Noble, Charles Weir
Published by Pearson Education (US), United States (2000)
ISBN 10: 0201596075 ISBN 13: 9780201596076
New Paperback Quantity Available: 10
Print on Demand
Seller:
The Book Depository US
(London, United Kingdom)
Rating
[?]

Book Description Pearson Education (US), United States, 2000. Paperback. Book Condition: New. Language: English . Brand New Book ***** Print on Demand *****. The phenomenal increases in processing power and memory capacity of computing hardware over recent years have allowed manufacturers to produce smaller and smaller computer systems such as palmtop PCs, smart cards and embedded control systems on domestic and industrial appliances. New techniques such as dynamic memory management and object-orientation help programming but tend to require additional memory. Standard programming techniques do not cope with these limited memory-capacity environments. This book will provide practical help for programmers developing software for this kind of environment. The major content is a series of patterns developed by the authors based on solutions which have been found to work in real-life situations. They range from small system design patterns and process management patterns, to patterns for User Interface development, compression and memory storage. This book will appeal to developers using Windows CE or building mobile telephones, smart cards, embedded devices, set-top computers - in short, all programmers working with memory-constrained systems. Bookseller Inventory # AAV9780201596076

More Information About This Seller | Ask Bookseller a Question

Buy New
US$ 65.74
Convert Currency

Add to Basket

Shipping: FREE
From United Kingdom to U.S.A.
Destination, Rates & Speeds

3.

Noble, James, Weir, Charles
Published by Addison-Wesley Professional (2000)
ISBN 10: 0201596075 ISBN 13: 9780201596076
New Paperback Quantity Available: 2
Seller:
Murray Media
(North Miami Beach, FL, U.S.A.)
Rating
[?]

Book Description Addison-Wesley Professional, 2000. Paperback. Book Condition: New. Never used!. Bookseller Inventory # P110201596075

More Information About This Seller | Ask Bookseller a Question

Buy New
US$ 63.80
Convert Currency

Add to Basket

Shipping: US$ 1.99
Within U.S.A.
Destination, Rates & Speeds

4.

James Noble, Charles Weir
Published by Pearson Education (US), United States (2000)
ISBN 10: 0201596075 ISBN 13: 9780201596076
New Paperback Quantity Available: 10
Print on Demand
Seller:
The Book Depository
(London, United Kingdom)
Rating
[?]

Book Description Pearson Education (US), United States, 2000. Paperback. Book Condition: New. Language: English . Brand New Book ***** Print on Demand *****.The phenomenal increases in processing power and memory capacity of computing hardware over recent years have allowed manufacturers to produce smaller and smaller computer systems such as palmtop PCs, smart cards and embedded control systems on domestic and industrial appliances. New techniques such as dynamic memory management and object-orientation help programming but tend to require additional memory. Standard programming techniques do not cope with these limited memory-capacity environments. This book will provide practical help for programmers developing software for this kind of environment. The major content is a series of patterns developed by the authors based on solutions which have been found to work in real-life situations. They range from small system design patterns and process management patterns, to patterns for User Interface development, compression and memory storage. This book will appeal to developers using Windows CE or building mobile telephones, smart cards, embedded devices, set-top computers - in short, all programmers working with memory-constrained systems. Bookseller Inventory # AAV9780201596076

More Information About This Seller | Ask Bookseller a Question

Buy New
US$ 67.25
Convert Currency

Add to Basket

Shipping: FREE
From United Kingdom to U.S.A.
Destination, Rates & Speeds

5.

James Noble
Published by Pearson Education (2000)
ISBN 10: 0201596075 ISBN 13: 9780201596076
New Quantity Available: > 20
Print on Demand
Seller:
Books2Anywhere
(Fairford, GLOS, United Kingdom)
Rating
[?]

Book Description Pearson Education, 2000. PAP. Book Condition: New. New Book. Delivered from our UK warehouse in 3 to 5 business days. THIS BOOK IS PRINTED ON DEMAND. Established seller since 2000. Bookseller Inventory # LQ-9780201596076

More Information About This Seller | Ask Bookseller a Question

Buy New
US$ 59.44
Convert Currency

Add to Basket

Shipping: US$ 11.99
From United Kingdom to U.S.A.
Destination, Rates & Speeds

6.

Noble, James
Published by Addison Wesley (2016)
ISBN 10: 0201596075 ISBN 13: 9780201596076
New Paperback Quantity Available: 1
Print on Demand
Seller:
Ria Christie Collections
(Uxbridge, United Kingdom)
Rating
[?]

Book Description Addison Wesley, 2016. Paperback. Book Condition: New. PRINT ON DEMAND Book; New; Publication Year 2016; Not Signed; Fast Shipping from the UK. No. book. Bookseller Inventory # ria9780201596076_lsuk

More Information About This Seller | Ask Bookseller a Question

Buy New
US$ 67.09
Convert Currency

Add to Basket

Shipping: US$ 5.17
From United Kingdom to U.S.A.
Destination, Rates & Speeds

7.

James Noble, Charles Weir
Published by Addison-Wesley Professional (2000)
ISBN 10: 0201596075 ISBN 13: 9780201596076
New Paperback Quantity Available: 1
Seller:
Ergodebooks
(RICHMOND, TX, U.S.A.)
Rating
[?]

Book Description Addison-Wesley Professional, 2000. Paperback. Book Condition: New. Bookseller Inventory # DADAX0201596075

More Information About This Seller | Ask Bookseller a Question

Buy New
US$ 68.33
Convert Currency

Add to Basket

Shipping: US$ 4.99
Within U.S.A.
Destination, Rates & Speeds

8.

Noble, James/ Weir, Charles (Illustrator)
Published by Addison-Wesley (2000)
ISBN 10: 0201596075 ISBN 13: 9780201596076
New Paperback Quantity Available: 1
Seller:
Revaluation Books
(Exeter, United Kingdom)
Rating
[?]

Book Description Addison-Wesley, 2000. Paperback. Book Condition: Brand New. 9.25x7.50x1.00 inches. In Stock. Bookseller Inventory # zk0201596075

More Information About This Seller | Ask Bookseller a Question

Buy New
US$ 74.66
Convert Currency

Add to Basket

Shipping: US$ 8.00
From United Kingdom to U.S.A.
Destination, Rates & Speeds

9.

James Noble; Charles Weir
Published by Addison Wesley (2000)
ISBN 10: 0201596075 ISBN 13: 9780201596076
New Softcover Quantity Available: 1
Print on Demand
Seller:
Rating
[?]

Book Description Addison Wesley, 2000. Book Condition: New. This item is printed on demand for shipment within 3 working days. Bookseller Inventory # GM9780201596076

More Information About This Seller | Ask Bookseller a Question

Buy New
US$ 128.64
Convert Currency

Add to Basket

Shipping: US$ 3.51
From Germany to U.S.A.
Destination, Rates & Speeds