Home :: Books :: Computers & Internet  

Arts & Photography
Audio CDs
Audiocassettes
Biographies & Memoirs
Business & Investing
Children's Books
Christianity
Comics & Graphic Novels
Computers & Internet

Cooking, Food & Wine
Entertainment
Gay & Lesbian
Health, Mind & Body
History
Home & Garden
Horror
Literature & Fiction
Mystery & Thrillers
Nonfiction
Outdoors & Nature
Parenting & Families
Professional & Technical
Reference
Religion & Spirituality
Romance
Science
Science Fiction & Fantasy
Sports
Teens
Travel
Women's Fiction
Code Generation in Action

Code Generation in Action

List Price: $44.95
Your Price: $29.67
Product Info Reviews

<< 1 2 >>

Rating: 5 stars
Summary: Worth Exploring
Review: Code Generation in Action by Jack Herrington describes, with comprehensive examples, various techniques of code generation. This book is definitely interesting in understanding how code generation works and how to utilize it. I found many interesting ideas and highly recommend this book as worth exploring for everyone interested in learning techniques of code generation.

Rating: 5 stars
Summary: A highly motivating guide to code generation
Review: Code generation used to be an almost unexplored region in the realm of software development techniques, with barely a few winding paths crossing it. Some pioneer developers came back from it with a wealth of good news, while others almost got lost.

Jack Herrington, with contributions from Eric Rollins, has thoroughly explored that region and paved those paths, as well as opening up new paths: his "Code Generation in Action" will prove itself an excellent and motivating guide, compass, and even dictionary, allowing software engineers, software architects, and managers to get the best value out of code generation techniques, and, in Jack's words, "create consistent and high quality code more quickly".

Small projects will probably prefer to build their own generators, whereas medium to large projects will likely opt for customizable, off-the-shelf generators.

Readers of this book can safely rely on Jack's pragmatic and realistic advices, such as his pros/cons analysis (see, in particular, pages 8, 15-17, 23-24), or the emphasis he puts on software testing (pp. 77, 81, 86, 93, 142-143, 287), as they clearly derive from his own direct and successful experience (pp. 12, 15, 25-26, 94, 101, 119-120, 190-192).

Rating: 5 stars
Summary: The Code Generation Bible
Review: Essential reading for anyone interested in learning about code generation - written by one of the world's leading code generation gurus.

Rating: 5 stars
Summary: Avoiding common mistakes to generate high-quality code
Review: Expertly written by Jack Herrington (a software developer of twenty years' experience), Code Generation In Action is a competent and "user friendly" guidebook and self-teaching tool to the art and science of building and using programs to write (or assist in the writing of) other programs. Avoiding common mistakes to generate high-quality code free of errors, and especially to create quick and easy code for the most repetitive or "gruntwork" tasks of a programming project are the core features of this invaluable and highly commended resource and reference which informatively covers code generation basics, CG techniques, patterns of CG design, how to deploy generators, numerous examples of generators, and so much more.

Rating: 5 stars
Summary: Finally a dedicated book on the subject
Review: I embraced code generators long time ago, so I was more than happy to finally found a dedicated book on the subject, since this is almost unexplored topic. The author clearly has a solid understanding of the topic, and manages to deliver a compelling book, with an excellent flow, where each chapter builds on previous concepts and ideas.
All the code snippets and regular expression samples are explained in a very clean, detailed way. I was pleased to see that many examples were non-trivial, covering concrete, real world, implementations. Herrington uses Ruby as an implementation language; you may like it or not, but what really matters here are the concepts, not the syntax and even if you don't know Ruby (like me), you will find the code pretty easy to follow.

Rating: 4 stars
Summary: A good introduction to meta-programming.
Review: I had already written a few code generators when I saw this book and was hoping to find some insights into improving and extending what I had already done. The introduction gives a really nice overview of the designs patterns you can use. But this book is not about programming and the author assume you have the skills to implement the program you want to meta-program already.

The author illustrates his approach using a language I had never heard of before, Ruby, which is an OO scripting language that is quite compact and powerful and included is some basic tutorial info in the appendices to help you follow the examples. Overall a good book that I am glad I own and have read. I get the feeling I am going to go back to it many times.



Rating: 1 stars
Summary: Poor choice of tools; code not very useful
Review: I have been doing language parsing and generation in C for several years: English, French, Japanese, Chinese, Korean. Still, I hoped to learn something new from CGIA for Java. I was disappointed. I think the book misdirects the reader away from more effective solutions into less productive paths.

The book suffers from two problems. (1) the regular expression technology proposed is inappropriate (2) the exercises provided are not rich enough to be useful.

I have no objection to scripting languages. I have happily used bash, gawk, python/Jpython and php. I avoided perl because I was struck by its lack of readability and writability. Ruby is no better and no worse than many scripting languages, but the documentation and error messages leave very much to be desired. CGIA offers almost nothing in the way of real help with the language. It took me some time to figure out how to install the libraries properly and debugging was a nightmare! Ruby's regular expression language is yet another variation in the regex language Babel. This is not something I would foist on developers in my organization. Especially when there are much better alternatives.

For years I have been using lex (flex actually) in C for code generation and human language processing. (I have never had much use for YACC/Bison.) When I switched to Java, I found an excellent flex equivalent called JFlex (http://jflex.de/).
JFlex.jar is around 240K. The regular expression language for JFlex is extremely close to that of lex and gawk. It is much more readable and modular than that of ruby, perl, etc. Your Java programmers and maintainers need not learn a new language or download/install/configure an additional 28 MB of libraries. Even better, they can use JFlex in runtime production code, since it produces compiled FSA's which are orders of magnitude faster than an interpreted regex processor like ruby.

Additionally, you can get with lex/flex/JFlex full grammars for C++ and Java, not the superficial variable reader that came with CGIA. And the debugging mode, while not perfect, is quite usable. (There are commercial visual tools for debugging flex grammars, if you need and can afford them.)

From the code point of view, I found nothing usable in CGIA. In my judgment most of the examples were more suited to the classroom than to work, and the solutions presented were often not competitive with alternatives. On the theory/fundamentals side the book does not contribute much to the the understanding of language parsing or generation issues.

The arguments for using code generation are cogent. But if you want to use a more useful, popular, constantly evolving (but equally poorly documented) code generation system, go for XDoclet.

My recommendation: skip CGIA. Spend your time and money learning flex/JFlex for parsing and XDoclet for generating and you will be much better off. If you want theory, sink your teeth into something like the "Dragon" classic (Aho & Ullman).

Rating: 4 stars
Summary: You Need this Book!!
Review: I have used code generating tools in the past like javadoc, xdoclet, and ejb-gen, and have always wondered about the intricacies of code generation. Well, in Code Generation in Action, by Jack Herrington, many of my questions were answered. This is an excellent book if you are developing code generation tools, are interested in code generation, or are skeptical about code generation.

The book is split into two parts. The first part explains much of the theory and structure of code generating applications. Herrington presents the four different models for code generation and compares and contrasts them effectively. In second part of the book, Herrington goes into detail about code generating solutions. Here he presents the architectures and solutions to some common code generation problems.

I found this book to be fascinating and easy to read and understand. Herrington has been doing code generation for a number of years and has a wonderful grasp on the subject matter. The writing flows from one chapter to the next and the book continually builds on previous concepts and ideas. Another thing I liked, which others may not, was that Ruby was chosen as the implementation language for all the examples in the book. This gave me a reason to learn a new programming language, while I was learning about code generation (a 2 for 1). After reading this book, I can definitely see where I can use the ideas in my day to day development and design tasks.

I would whole-heartily recommend this book to any professional programmer. Without a doubt, after reading this, you will be a better developer.

Rating: 5 stars
Summary: Take your productivity and quality to a whole new level!
Review: I purchased Code Generation in Action a few weeks ago and just couldn't put it down!

I have been a developer for 20 years now and encountered code generation for the first time back when I was writing Clipper applications for DOS. At that time I purchased a pretty good code generator package for Clipper / dBase (unfortunately I don't recall the name of it). The scripts that were supplied with the product were not very useful for my work, so I threw them out and wrote my own that suited the applications that I was responsible for producing.

I still remember my boss's reaction when I was able to produce complete working apps in a week while my peers were taking a month or two to accomplish the same work. And as the scripts I used matured, I was able to produce more robust applications with more features and more consistent interfaces.

The great experience I had caused me to become a huge fan of code generation.

Anyway, the day came when I began developing C and C++ applications in Windows, and because of a lack of tools, ended up resorting to hand coding everything again.

It was such a pleasure to find this book and learn about the great tools available for scripting today. I really appreciate how the author described so many instances where code generation can be applied and gave great ideas regarding how to construct generators for each case.

This is an outstanding book that I highly recommend.

Rating: 5 stars
Summary: Excellent work!
Review: I'm interested in code generation. Currently I started a project to generate different types of code (Java, HTML, EJB Descriptors, Database schema, etc..) starting from UML diagrams.
I found the book very useful for my work. It opened my mind about the different choises I have regarding code generation issues. It affected a lot the work I'm carring on.
I have in particular appreciated the chapter about Creating database access generators (Chaper 10) and Generatin business logic (Chapter 12).

Jack, Excellent work!


<< 1 2 >>

© 2004, ReviewFocus or its affiliates