Showing posts with label programming. Show all posts
Showing posts with label programming. Show all posts

C# Programming Tips & Techniques Review

C# Programming Tips and Techniques
Average Reviews:

(More customer reviews)
I have a Master's degree in Computer Science with 3 years of programming experience in C++. This book is by far the most useless and horribly written programming book I've ever read. There are 600 pages in this book that tell you absolutely nothing other than how to map very basic C++ operations to C#.
It mentions classes in some chapters that aren't defined until later chapters. When it does mention specific classes, it rarely lists all of their methods in a convenient and easy to read format. Instead, you have to look at the example code and hope there is some type of matching method that may be useful.
It is also missing very important and useful classes such as the DateTime class.
If you strictly want a book that maps basic C++ operations to C#, then this may be for you. Otherwise it is useless as a reference and not very well structured.

Click Here to see more reviews about: C# Programming Tips & Techniques

A resource for intermediate and advanced developers interested in incorporating C# into their applications, this book contains more than 400 tips and techniques. Programmers should save time, money and resources with these tested and proven tips, techniques and solutions. The tips and techniques are organized by subject and are extensively indexed and cross-referenced for easy access. Overall the book contains short, easily accessible sound bites on how to use the C# technology.

Buy Now

Click here for more information about C# Programming Tips & Techniques

Read More...

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...

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...

The LEGO MINDSTORMS NXT 2.0 Discovery Book: A Beginner's Guide to Building and Programming Robots Review

The LEGO MINDSTORMS NXT 2.0 Discovery Book: A Beginner's Guide to Building and Programming Robots
Average Reviews:

(More customer reviews)
I (a hardware/software developer and radio ham for some 30 years) bought LEGO Mindstorms for my now eight-year-old son last Christmas. Being a LEGO nut since he was old enough not to swallow the pieces, he's had great fun with Mindstorms since then.
But after you've built the models detailed in the Mindstorms kit, where do you go next? The Mindstorms online help is pretty good, but tiresome to read on the screen, and not the best medium for a youngster. The Alpha Rex etc. are impressive but it's hard for a child to try to make his own models of a similar complexity on the basis of the models in the Mindstorms kit. There is a huge gap between copying ready-made models and learning to create real robots from scratch, and Laurens Valk's book fills that gap perfectly.
As "the missing manual", this book thoroughly explains the NXT hardware and NXT-G software, in enough technical detail to satisfy a seasoned programmer like me, but without overloading someone who is completely new to the technology. That is no mean feat!
The building instructions are of a similar quality to those provided in the all-too-slim Mindstorms manual, and my son was able to follow them and the programming instructions with only minimal guidance from me (usually because we hadn't yet read the accompanying text! :-)
Now, there are several ways to approach this book. To get started quickly, you or your child genius can simply follow the detailed building and programming instructions to create any of the eight robots detailed in the book. My son had almost no trouble doing this: in fact, he first went after the more complex models like the Strider featured on the cover, followed by the very impressive Chimney Climber. If, like us, you're new to the LEGO Technic and Mindstorms systems, you'll be surprised how they can be made to do such remarkable things.
The program instructions feature a simplified overview - essentially a flow diagram - that lets you follow the basic structure of the program and learn about loops, "if-then-else" blocks, etc. Your young robotics engineer can learn about the how-and-why of the programs, and gradually improvise to deepen his/her understanding of what the NXT controller is "thinking", and then devise clever ways to change it.
Then there are the challenges, or "discoveries" to use Laurens' word: 87 of them in all. Once we have settled down to reading the book together start-to-finish (give us a chance, we've only had this book for a week!), the discoveries will provide many new paths to explore and consolidate our understanding of robotic systems.
I would have expected to pay three times what Amazon is charging for this book, based on similar books aimed at software developers. At under $20, it is excellent value for money and an essential "NXT" step on any robot designer's path of discovery. Buy it!

Click Here to see more reviews about: The LEGO MINDSTORMS NXT 2.0 Discovery Book: A Beginner's Guide to Building and Programming Robots

Discover the many features of the LEGO MINDSTORMS NXT 2.0 set. The LEGO MINDSTORMS NXT 2.0 Discovery Book is the complete,illustrated, beginner's guide to MINDSTORMS that you've been lookingfor.The crystal clear instructions in the Discovery Book will showyou how to harness the capabilities of the NXT 2.0 set to build andprogram your own robots. Author and robotics instructor Laurens Valkwalks you through the set, showing you how to use its various pieces,and how to use the NXT software to program robots. Interactive tutorials make it easy for you to reach an advanced level of programming as youlearn to build robots that move, monitor sensors, and use advancedprogramming techniques like data wires and variables. You'll build eight increasingly sophisticated robots like the Strider (a six-leggedwalking creature), the CCC (a climbing vehicle), the Hybrid Brick Sorter (a robot that sorts by color and size), and the Snatcher (an autonomous robotic arm). Numerous building and programming challenges throughoutencourage you to think creatively and to apply what you've learned asyou develop the skills essential to creating your own robots.Requirements: One LEGO MINDSTORMS NXT 2.0 set (#8547)Features
A complete introduction to LEGO MINDSTORMS NXT 2.0
Building and programming instructions for eight innovative robots
50 sample programs and 72 programming challenges (ranging from easyto hard) encourage you to explore newly learned programming techniques
15 building challenges expand on the robot designs and help youdevelop ideas for new robots
Who is this book for?This is a perfect introduction for those new to building and programming with the LEGO MINDSTORMS NXT 2.0 set. The book also includes intriguing robot designs and useful programming tips for more seasoned MINDSTORMSbuilders.-

Buy Now

Click here for more information about The LEGO MINDSTORMS NXT 2.0 Discovery Book: A Beginner's Guide to Building and Programming Robots

Read More...