Foreword

“I believe raising the level of abstraction is fundamental in all practical intellectual endeavors.”

—Bjarne Stroustrup, 2004

The story of software engineering has been the story of increasing the level of abstraction at which we as programmers work, from logic encoded in hardware to toggle switches representing binary digits, through machine code, assembly language, low-level languages, and high-level languages both procedural and functional. More recently, we have declarative models of business processes that can be shared and discussed with folks who have no formal training in computer science at all. I’d wager that most readers were nodding along with my list above until I got to the last item. Has abstract modeling become a proven ...

Get Practical Code Generation in .NET: Covering Visual Studio 2005, 2008, and 2010 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.