Concepts, Techniques, and Models of Computer Programming Review

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

(More customer reviews)
Are you looking to buy Concepts, Techniques, and Models of Computer Programming? Here is the right place to find the great deals. we can offer discounts of up to 90% on Concepts, Techniques, and Models of Computer Programming. Check out the link below:

>> Click Here to See Compare Prices and Get the Best Offers

Concepts, Techniques, and Models of Computer Programming ReviewThis 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!Concepts, Techniques, and Models of Computer Programming OverviewThis 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.

Want to learn more information about Concepts, Techniques, and Models of Computer Programming?

>> Click Here to See All Customer Reviews & Ratings Now

0 comments:

Post a Comment