Showing posts with label software development. Show all posts
Showing posts with label software development. Show all posts

Efficient C++: Performance Programming Techniques Review

Efficient C++: Performance Programming Techniques
Average Reviews:

(More customer reviews)
The authors are developers of network and web server software for IBM. They specifically target performance issues related to C++ programming. The primary topics of discussion are constructors & destructors, virtual functions, return value optimization, temporary objects, inlining, memory managers, and reference counting. Learn how to create efficient constructor functions. Learn how to avoid the costly construction of temporary objects. The authors promote "lazy evaluation" and nail "useless computations" and "obsolete code." Algorithm and data structure discussions are referred to other standard references, however there is coverage of the STL structures (insertion, deletion, traversal, and find operations). An additional bonus is the excellent coverage of multithreading issues.

Click Here to see more reviews about: Efficient C++: Performance Programming Techniques

Far too many programmers and software designers consider efficient C++ to be an oxymoron. They regard C++ as inherently slow and inappropriate for performance-critical applications. Consequently, C++ has had little success penetrating domains such as networking, operating system kernels, device drivers, and others. Efficient C++ explodes that myth. Written by two authors with first-hand experience wringing the last ounce of performance from commercial C++ applications, this book demonstrates the potential of C++ to produce highly efficient programs. The book reveals practical, everyday object-oriented design principles and C++ coding techniques that can yield large performance improvements. It points out common pitfalls in both design and code that generate hidden operating costs. This book focuses on combining C++'s power and flexibility with high performance and scalability, resulting in the best of both worlds. Specific topics include temporary objects, memory management, templates, inheritance, virtual functions, inlining, reference-counting, STL, and much more. With this book, you will have a valuable compendium of the best performance techniques at your fingertips.0201379503B04062001

Buy Now

Click here for more information about Efficient C++: Performance Programming Techniques

Read More...

AI Techniques for Game Programming (Premier Press Game Development) Review

AI Techniques for Game Programming (Premier Press Game Development)
Average Reviews:

(More customer reviews)
Beauty is in the eye of the beholder, so let me tell you what I was looking for: a non-academic AI book with practical examples for implementing genetic algorithms and neural nets. I don't have a math degree (though I understand basic algebra and remember a bit of trig), and I learn best by doing hand's on project, not by theorizing.
This book fits the bill perfectly. It is well written, humorous, clear and patient. The examples are interesting enough that you can see how they would be useful for solving other problems, not necessarily game related.
One caveat: if you don't have a decent intro to basic Win32 API programming, get Charles Petzold's Programming Win32 book and get busy. Yes, the first two chapters of AI Techniques are a Win32 refresher (which was good for me because I last wrote Win32 3 years ago...I now do Java only), but I'm pretty sure if you haven't seen it before you'll be lost.
BTW, just to give you an idea how clear the concepts were presented, I've recoded Chapters 3 and 5 as properly OOPed (MVC, etc) Java applications. Just MHO, but Java is a much better platform for this stuff. ...

Click Here to see more reviews about: AI Techniques for Game Programming (Premier Press Game Development)

"AI Techniques for Game Programming" takes the difficult topics of genetic algorithms and neural networks and explains them in plain English. Gone are the tortuous mathematic equations and abstract examples to be found in other books. Each chapter takes readers through the theory a step at a time, explaining clearly how they can incorporate each technique into their own games. After a whirlwind tour of Windows programming, readers will learn how to use genetic algorithms for optimization, path-finding, and evolving control sequences for their game agents. Coverage of neural network basics quickly advances to evolving neural motion controllers for their game agents and applying neural networks to obstacle avoidance and map exploration. Backpropagation and pattern recognition is also explained. By the end of the book, readers will know how to train a network to recognize mouse gestures and how to use state-of-the-art techniques for creating neural networks with dynamic topologies.

Buy Now

Click here for more information about AI Techniques for Game Programming (Premier Press Game Development)

Read More...

Concepts, Techniques, and Models of Computer Programming Review

Concepts, Techniques, and Models of Computer Programming
Average Reviews:

(More customer reviews)
This book is a real mind-bender that illuminates paths for computer design at both the conceptual and practical levels I'd never travelled down before.
The notion that one language can be so flexible as to accomodate both the syntax and semantics of so many different computational models, or paradigms, took some unlearning of bad programming practice before its power, elegance and potential began to sink in.
It also explodes the myth that "pure" languages -- i.e., pure OO, or pure functional, etc., languages--have some kind of innate advantage over so-called "hybrid" languages. In fact, "hybrid" (or as the authors would prefer to call them, "multi-paradigm") languages come out of this book looking even more powerful than the "pure" ones, insofar as they allow the programmer to use the right model for each task, instead of trying to make OO fit, for instance, in places where it doesn't fit so well.
The idea here is that each computational model represents a completely different way of approaching a domain problem. Used by themselves, each has its niche. For instance, everybody knows OO is good for domain modelling and busines objects. Prolog-type languages are good for applications that need to apply rules over a set of data. Functional languages are great in mathematical applications. And so on. What is new here is that one can program in an environment in which all of these tools are available in a single core semantics that seamlessly weaves these computational models into a complementary whole. Used together judiciously, with an eye toward program correctness, they make things possible that have long been considered very hard -- for instance, constraint programming.
Mozart-Oz, the underlying technology, is a strange language when you first look at it. It's hard at first to get used to concepts like "higher-order programming" or "by need execution" or "lazy execution" if you are the programming grunt in the field of most modern IT shops, forced by bosses to code in your standard fare -- Java, C#, VB, etc. If OO in Java is like the hammer that makes everything look like a nail, in Mozart-Oz you have a language that is like walking into Ace hardware store, a swiss army knife of a language (conceptually speaking) that challenges you to become a highly skill code craftsman, not just a programmer.
But, if only for the personal growth you will experience grappling with the concepts in this book, I recommend it very highly even to "non academic" programmers (like myself) as well as to any advanced student of computer science. It may be painful, you may scratch your head in places where the concepts just seemed to leap over your cranium, but if you are patient, do the exercises (and at least think about what it would take to tackle some of the research projects), you will grow.
Unfortunately, you may find the languages you work on to be rather confining, and maybe even boring, after you get a whiff of what multi-paradigm programming can do. More likely, however, is that you will grasp very clearly how the language you code in today works, and that can only make you a better software engineer. So do it-buy this book!

Click Here to see more reviews about: Concepts, Techniques, and Models of Computer Programming

This innovative text presents computer programming as a unifieddiscipline in a way that is both practical and scientifically sound. The bookfocuses on techniques of lasting value and explains them precisely in terms of asimple abstract machine. The book presents all major programming paradigms in auniform framework that shows their deep relationships and how and where to use themtogether.After an introduction to programming concepts, the book presents bothwell-known and lesser-known computation models ("programming paradigms"). Each modelhas its own set of techniques and each is included on the basis of its usefulness inpractice. The general models include declarative programming, declarativeconcurrency, message-passing concurrency, explicit state, object-orientedprogramming, shared-state concurrency, and relational programming. Specializedmodels include graphical user interface programming, distributed programming, andconstraint programming. Each model is based on its kernel language -- a simple corelanguage that consists of a small number of programmer- significant elements. Thekernel languages are introduced progressively, adding concepts one by one, thusshowing the deep relationships between different models. The kernel languages aredefined precisely in terms of a simple abstract machine. Because a wide variety oflanguages and programming paradigms can be modeled by a small set of closely relatedkernel languages, this approach allows programmer and student to grasp theunderlying unity of programming. The book has many program fragments and exercises,all of which can be run on the Mozart Programming System, an Open Source softwarepackage that features an interactive incremental development environment.

Buy Now

Click here for more information about Concepts, Techniques, and Models of Computer Programming

Read More...

Boiling the IT Frog: How to Make Your Business Information Technology Wildly Successful Without Having to Learn Anything Technic Review

Boiling the IT Frog: How to Make Your Business Information Technology Wildly Successful Without Having to Learn Anything Technic
Average Reviews:

(More customer reviews)
Working as a support agent for a good number of years you start to pick things. This book points out a lot of the obvious, but goes on to explain why it is the way it is. I have and would recommend this book to anyone who is looking to progress their IT department or have a problem with their IT department. The book talks from high level, so if your looking for a technical manual this isn't your book. Great graduation present for any computer/management major.

Click Here to see more reviews about: Boiling the IT Frog: How to Make Your Business Information Technology Wildly Successful Without Having to Learn Anything Technic

Driving a car doesn't require knowledge of cylinder heads and compression ratios, and you don't have to understand software and hardware to make optimum use of Information Technology. It's the people managing and using the technology who are important - not the technology itself - and this is a book about those people, their limitations in coping with technology, and how they can better deal with those limitations. This book is for everyone who is frustrated with Information Technology, and for every non-technical person who is at the mercy of a seemingly uncooperative IT organization. It's for business people who want to better understand IT, and for IT people who want to know why their jobs are so difficult and unappreciated. Every manager, executive and knowledge worker in today's world uses information systems, and most of these people have a relationship - good or bad - with some part of an IT organization. This book gives you the information you need to improve your relationship with IT.

Buy Now

Click here for more information about Boiling the IT Frog: How to Make Your Business Information Technology Wildly Successful Without Having to Learn Anything Technic

Read More...