
Description:
Editorial Reviews
Reviews:
5.0 out of 5 stars The how-to for profile-based tuning
Bentley's classic, "Programming Pearls", makes an important point, namely that you won't get good performance without careful coding and profile-based tuning. And it's made clearly, concisely and with compelling examples. The choice of language (C), and the choice of problems (those from computer science 101 we all think we know cold) betrays the sophistication of Bentley's analyses.Suppose, for the sake of argument, that you have a binary search that's holding up your loop. Or your Huffman coding just isn't snappy enough? "How is that possible?", you might say, fresh out of computer-science 201, "Didn't we just prove these algorithms are optimal?" Well yes, asymptotically up to an arbitrary constant multiplier. But this is the real world, and your code needs to go faster. If this sounds like your predicament, pull up a chair and read "Programming Pearls"; if it's not, you might wonder what all the fuss is about.Next, fire up your favorite hardware (Sparc or x86 or PowerPC), favorite language (Perl, Java, or even C), favorite release of that language, along with your favorite interpreter or compiler (Hotspot or standard? GCC or Visual C++). And you'll need a profiler; might as well treat yourself to a good one if you're serious. Then fire up your code with a representative range realistic test data and observe what happens. Function by function, byte by byte. Then try to be as clever as Bentley in (a) figuring out why, (b) trying a range of alternatives, and (c) making it all go faster with minor tuning. Typically, you'll find a single bottleneck taking an order of magnitude more time than everything else, and work on that. Repeat until fast enough.As well as this simple, yet surprisingly effective and realistic methodology, Bentley provides a range of concrete tips on making things go faster, from tweaking data structures to unfolding loops (especially precomputing low-order cases) to using accumulators and caching, all with an eye to underlying memory, communication and CPU resources.Real code that has to run fast, like the code that we write at my current company for signal processing, speech recognition and speech synthesis, typically looks like the end-product of Bentley's refactorings. And it gets that way following exactly the path he lays out: analyze the problem, choose the right algorithm (or the right few to evaluate), and then tune it up using profiling."Programming Pearls" is the beginning of the road. You will need to look elsewhere for topics such as compression for memory saving, numerical algorithms, effective concurrency and memory sharing, efficient buffered I/O, garbage collection, and the wide range of dynamic programming and heuristic techniques.
5.0 out of 5 stars nice book
nice book, well printed
4.0 out of 5 stars Back to Basics... Still a Valuable Book
I bought the 2nd edition of the book.This book takes you to the Basics of Programming: Problem definition, Algorithm design , choosing the correct data structures, Assertions, Performance considerations during Design and coding, Code Tuning, Squeezing the space.Though the examples are mainly based on searching and sorting and other primitive programming problems, the fundamental concepts and conclusions at the end of each column, are still valuable and hold true as they are 2 decades ago.The examples and the exercises are challenging and enjoyable. But, don't expect things related to modern programming like related to High Level Programming languages or Databases, this is purely a Basics book focussing on techniques of solving the problems the simplest and the best way.Some of the gem quotes or conclusions from the book are:"Coding skill is just one small part of writing correct programs. The majority of the task is problem definition, algorithm design and data structure selection.""Defining the problem is about ninety percent of the battle"Characteristics of a good Aircraft(or a good program) - "Simple, few parts, easy to maintain, very strong""A designer knows he has arrived perfection not when there is no longer anything to add, but when there is no longer anything to takeaway.""Good programmers sit back and wait for an insight rather than rushing forward with their first idea""A proper view of data does indeed structure programs. Before writing code good programmers thoroughly understand the input, the output and the intermediate data structures around"
5.0 out of 5 stars Excellent book
In my experience it is a good book for students , and also for professionals, who want the excellence in programming. All the concepts can be applied in every platform.I followed Jon since he started writing at the CACM with his column "Programming Pearls". Now, in the second edition it is actualized, and I have all those columns with theory and exercises together.
5.0 out of 5 stars true pearls of programming wisdom
If this book doesn't get you excited about programming, I don't know what will. Bentley writes about programming problems that are as glamorous as hollywood. The collective wisdom of the Bell labs super-stars shines through in the background information and problems which the author picked.I went back and read some of the columns from the ACM magazine which this book originated from. The book is definitely more up-to-date and readable.I cannot over-emphasize the value of trying out the problems in the book without cheating and looking at the answers or hints. Great way to prepare programming interview questions, whether you're an interviewer or interviewee.
5.0 out of 5 stars Little book of gems
If you want to learn about the latest web programming frameworks, design patterns, J2EE, .NET, CSS, RoR, etc. then please stay away from this book. Once you think you mastered it all, became a professional programmer with also a nice CS degree under your belt come back and start to read this book for pure pleasure and wisdom. It is with high probability that you'll have both and more than you could have imagined.Bentley's classic work is still relevant but not in ways most programmers will imagine at the beginning. You'll probably never go and write your own search routines and re-implement classical data structures (you'll use the one that comes with the standard libraries of your language of choice) but you'll always meet some problems which will puzzle you with interesting constraints. This is what Programming Pearls is all about. Study the examples for fun and maybe laugh at them for their simplicity but then remember to applied the strong principles in that book to your daily technical problems (programming related or not).
This will change the way you think
This book does require a bit of effort: the first time I picked it up I thought: "I'm way beyond this". But that was mistaken - because although you may feel you are been treated to simple stuff, in reality it is profound. Truly, a book that stays with you for your programming life.
must read book for any software programmer
i am reading this after almost 12 years, it is a must for any software programmer
Will surely make you a better programmer, regardless of experience
Wow, there are so many simple tricks and detailed explanations. Will surely make you a better programmer, regardless of experience.
Excellent !
I have not finished reading it but I really appreciate the format and the content.It is something to read and read again to refresh old knowledge and discover new ideas.Thanks!
Un fantastico libro
Este libro suele aparecer en listas del tipo "10 mejores libros de programacion" y por muy buenas razones: es realmente una caja de sabiduria y un clasico. Lastima que no se consiga en version digital.
Visit the Addison-Wesley Professional Store
Programming Pearls
AED24161
Quantity:
Order today to get by 7-14 business days
This item qualifies for free delivery
Imported From: United States
At BOLO, we work hard to ensure the products you receive are new, genuine, and sourced from reputable suppliers.
BOLO is not an authorized or official retailer for most brands, nor are we affiliated with manufacturers unless specifically stated on a product page. Instead, we source verified sellers, authorized distributors or directly from the manufacturer.
Each product undergoes thorough inspection and verification at our consolidation and fulfilment centers to ensure it meets our strict authenticity and quality standards before being shipped and delivered to you.
If you ever have concerns regarding the authenticity of a product purchased from us, please contact Bolo Support. We will review your inquiry promptly and, if necessary, provide documentation verifying authenticity or offer a suitable resolution.
Your trust is our top priority, and we are committed to maintaining transparency and integrity in every transaction.
All product information, images, descriptions, and reviews originate from the manufacturer or from trusted sellers overseas. BOLO is not affiliated with, endorsed by, or an authorized retailer for most brands listed on our website unless stated otherwise.
While we strive to display accurate information, variations in packaging, labeling, instructions, or formulation may occasionally occur due to regional differences or supplier updates. For detailed or manufacturer-specific information, please contact the brand directly or reach out to BOLO Support for assistance.
Unless otherwise stated, all prices displayed on the product page include applicable taxes and import duties.
BOLO operates in accordance with the laws and regulations of United Arab Emirates. Any items found to be restricted or prohibited for sale within the UAE will be cancelled prior to shipment. We take proactive measures to ensure that only products permitted for sale in United Arab Emirates are listed on our website.
All items are shipped by air, and any products classified as “Dangerous Goods (DG)” under IATA regulations will be removed from the order and cancelled.
All orders are processed manually, and we make every effort to process them promptly once confirmed. Products cancelled due to the above reasons will be permanently removed from listings across the website.
Similar suggestions by Bolo
More from this brand
Similar items from “Software Development”
Share with
Or share with link
https://www.bolo.ae/products/U0201657880
Visit the Addison-Wesley Professional Store
Programming Pearls

AED24161
Quantity:
Order today to get by 7-14 business days
This item qualifies for free delivery
Imported From: United States
At BOLO, we work hard to ensure the products you receive are new, genuine, and sourced from reputable suppliers.
BOLO is not an authorized or official retailer for most brands, nor are we affiliated with manufacturers unless specifically stated on a product page. Instead, we source verified sellers, authorized distributors or directly from the manufacturer.
Each product undergoes thorough inspection and verification at our consolidation and fulfilment centers to ensure it meets our strict authenticity and quality standards before being shipped and delivered to you.
If you ever have concerns regarding the authenticity of a product purchased from us, please contact Bolo Support. We will review your inquiry promptly and, if necessary, provide documentation verifying authenticity or offer a suitable resolution.
Your trust is our top priority, and we are committed to maintaining transparency and integrity in every transaction.
All product information, images, descriptions, and reviews originate from the manufacturer or from trusted sellers overseas. BOLO is not affiliated with, endorsed by, or an authorized retailer for most brands listed on our website unless stated otherwise.
While we strive to display accurate information, variations in packaging, labeling, instructions, or formulation may occasionally occur due to regional differences or supplier updates. For detailed or manufacturer-specific information, please contact the brand directly or reach out to BOLO Support for assistance.
Unless otherwise stated, all prices displayed on the product page include applicable taxes and import duties.
BOLO operates in accordance with the laws and regulations of United Arab Emirates. Any items found to be restricted or prohibited for sale within the UAE will be cancelled prior to shipment. We take proactive measures to ensure that only products permitted for sale in United Arab Emirates are listed on our website.
All items are shipped by air, and any products classified as “Dangerous Goods (DG)” under IATA regulations will be removed from the order and cancelled.
All orders are processed manually, and we make every effort to process them promptly once confirmed. Products cancelled due to the above reasons will be permanently removed from listings across the website.
Description:
Editorial Reviews
Reviews:
5.0 out of 5 stars The how-to for profile-based tuning
Bentley's classic, "Programming Pearls", makes an important point, namely that you won't get good performance without careful coding and profile-based tuning. And it's made clearly, concisely and with compelling examples. The choice of language (C), and the choice of problems (those from computer science 101 we all think we know cold) betrays the sophistication of Bentley's analyses.Suppose, for the sake of argument, that you have a binary search that's holding up your loop. Or your Huffman coding just isn't snappy enough? "How is that possible?", you might say, fresh out of computer-science 201, "Didn't we just prove these algorithms are optimal?" Well yes, asymptotically up to an arbitrary constant multiplier. But this is the real world, and your code needs to go faster. If this sounds like your predicament, pull up a chair and read "Programming Pearls"; if it's not, you might wonder what all the fuss is about.Next, fire up your favorite hardware (Sparc or x86 or PowerPC), favorite language (Perl, Java, or even C), favorite release of that language, along with your favorite interpreter or compiler (Hotspot or standard? GCC or Visual C++). And you'll need a profiler; might as well treat yourself to a good one if you're serious. Then fire up your code with a representative range realistic test data and observe what happens. Function by function, byte by byte. Then try to be as clever as Bentley in (a) figuring out why, (b) trying a range of alternatives, and (c) making it all go faster with minor tuning. Typically, you'll find a single bottleneck taking an order of magnitude more time than everything else, and work on that. Repeat until fast enough.As well as this simple, yet surprisingly effective and realistic methodology, Bentley provides a range of concrete tips on making things go faster, from tweaking data structures to unfolding loops (especially precomputing low-order cases) to using accumulators and caching, all with an eye to underlying memory, communication and CPU resources.Real code that has to run fast, like the code that we write at my current company for signal processing, speech recognition and speech synthesis, typically looks like the end-product of Bentley's refactorings. And it gets that way following exactly the path he lays out: analyze the problem, choose the right algorithm (or the right few to evaluate), and then tune it up using profiling."Programming Pearls" is the beginning of the road. You will need to look elsewhere for topics such as compression for memory saving, numerical algorithms, effective concurrency and memory sharing, efficient buffered I/O, garbage collection, and the wide range of dynamic programming and heuristic techniques.
5.0 out of 5 stars nice book
nice book, well printed
4.0 out of 5 stars Back to Basics... Still a Valuable Book
I bought the 2nd edition of the book.This book takes you to the Basics of Programming: Problem definition, Algorithm design , choosing the correct data structures, Assertions, Performance considerations during Design and coding, Code Tuning, Squeezing the space.Though the examples are mainly based on searching and sorting and other primitive programming problems, the fundamental concepts and conclusions at the end of each column, are still valuable and hold true as they are 2 decades ago.The examples and the exercises are challenging and enjoyable. But, don't expect things related to modern programming like related to High Level Programming languages or Databases, this is purely a Basics book focussing on techniques of solving the problems the simplest and the best way.Some of the gem quotes or conclusions from the book are:"Coding skill is just one small part of writing correct programs. The majority of the task is problem definition, algorithm design and data structure selection.""Defining the problem is about ninety percent of the battle"Characteristics of a good Aircraft(or a good program) - "Simple, few parts, easy to maintain, very strong""A designer knows he has arrived perfection not when there is no longer anything to add, but when there is no longer anything to takeaway.""Good programmers sit back and wait for an insight rather than rushing forward with their first idea""A proper view of data does indeed structure programs. Before writing code good programmers thoroughly understand the input, the output and the intermediate data structures around"
5.0 out of 5 stars Excellent book
In my experience it is a good book for students , and also for professionals, who want the excellence in programming. All the concepts can be applied in every platform.I followed Jon since he started writing at the CACM with his column "Programming Pearls". Now, in the second edition it is actualized, and I have all those columns with theory and exercises together.
5.0 out of 5 stars true pearls of programming wisdom
If this book doesn't get you excited about programming, I don't know what will. Bentley writes about programming problems that are as glamorous as hollywood. The collective wisdom of the Bell labs super-stars shines through in the background information and problems which the author picked.I went back and read some of the columns from the ACM magazine which this book originated from. The book is definitely more up-to-date and readable.I cannot over-emphasize the value of trying out the problems in the book without cheating and looking at the answers or hints. Great way to prepare programming interview questions, whether you're an interviewer or interviewee.
5.0 out of 5 stars Little book of gems
If you want to learn about the latest web programming frameworks, design patterns, J2EE, .NET, CSS, RoR, etc. then please stay away from this book. Once you think you mastered it all, became a professional programmer with also a nice CS degree under your belt come back and start to read this book for pure pleasure and wisdom. It is with high probability that you'll have both and more than you could have imagined.Bentley's classic work is still relevant but not in ways most programmers will imagine at the beginning. You'll probably never go and write your own search routines and re-implement classical data structures (you'll use the one that comes with the standard libraries of your language of choice) but you'll always meet some problems which will puzzle you with interesting constraints. This is what Programming Pearls is all about. Study the examples for fun and maybe laugh at them for their simplicity but then remember to applied the strong principles in that book to your daily technical problems (programming related or not).
This will change the way you think
This book does require a bit of effort: the first time I picked it up I thought: "I'm way beyond this". But that was mistaken - because although you may feel you are been treated to simple stuff, in reality it is profound. Truly, a book that stays with you for your programming life.
must read book for any software programmer
i am reading this after almost 12 years, it is a must for any software programmer
Will surely make you a better programmer, regardless of experience
Wow, there are so many simple tricks and detailed explanations. Will surely make you a better programmer, regardless of experience.
Excellent !
I have not finished reading it but I really appreciate the format and the content.It is something to read and read again to refresh old knowledge and discover new ideas.Thanks!
Un fantastico libro
Este libro suele aparecer en listas del tipo "10 mejores libros de programacion" y por muy buenas razones: es realmente una caja de sabiduria y un clasico. Lastima que no se consiga en version digital.
Similar suggestions by Bolo
More from this brand
Similar items from “Software Development”
Share with
Or share with link
https://www.bolo.ae/products/U0201657880