small medium large xlarge

New Mag, SQL Antipatterns, Language Implementation Patterns

January 05, 2010

Welcome to 2010! To kick off the new decade, we’ve got new books and a fresh copy of the January 2010 issue of our magazine, PragPub. Language Implementation Patterns is back from the printers and now shipping. If you use SQL, you’ve probably seen a lot of SQL Antipatterns before—it’s easy to write really bad SQL that almost works. Learn how to avoid the common mistakes and disasters-in-waiting. See below for details.

Having trouble sticking to those New Year’s resolutions already? If you haven’t yet, buy a copy of Pomodoro Technique Illustrated: The Easy Way to Do More in Less Time and don’t let this year’s resolutions end up like last year’s :-).

Tell your friends! Tweet this

PragPub Issue #7, January 2010

<img src=“” width=120 style=“float: right; border: 0px; margin-left: 20px;”/>

This issue includes New Year’s resolutions for software developers, how to build a slide rule (from scratch!) and great feature articles:

  • The Daily Shoot — a clever idea that builds your skills while keeping the dust off your camera.
  • Against SEMAT — Is this software development call for action necessary?
  • Touching the Core — a new Core Data class that can make your iPhone, iPod Touch, and Mac apps significantly richer.
  • Much Ado About Nothing — Explore the depths of nothingness to show the power of metaprogramming in Ruby.

Plus: Up Front, Choice Bits, Get a Life, The Working Geek, Swaine’s World, The Quiz, Calendar, Shady Illuminations, Back Issues

Now available (free!) in PDF, mobi, and epub format from Back issues #1-#6 are still available. Please share these issues with your co-workers and friends. Heck, you could even send a copy to your boss.

Language Implementation Patterns

Knowing how to create domain-specific languages (DSLs) can give you a huge productivity boost. Instead of writing code in a general-purpose programming language, you can first build a custom language tailored to make you efficient in a particular domain.

The key is understanding the common patterns found across language implementations. Language Implementation Patterns identifies and condenses the most common design patterns, providing sample implementations of each.

The pattern implementations use Java, but the patterns themselves are completely general. Some of the implementations use the well-known ANTLR parser generator, so readers will find this book an excellent source of ANTLR examples as well. But this book will benefit anyone interested in implementing languages, regardless of their tool of choice. Other language implementation books focus on compilers, which you rarely need in your daily life. Instead, Language Design Patterns shows you patterns you can use for all kinds of language applications.

You’ll learn to create configuration file readers, data readers, model-driven code generators, source-to-source translators, source analyzers, and interpreters. Each chapter groups related design patterns and, in each pattern, you’ll get hands-on experience by building a complete sample implementation. By the time you finish the book, you’ll know how to solve most common language implementation problems.

Now available from

SQL Antipatterns

Your database is the foundation of your application. Many programmers assume it’s also the bottleneck of productive software development, but with the right techniques, this doesn’t have to be true. SQL Antipatterns illustrates some of the most common misconceptions and pitfalls software developers face using relational databases. This book helps you to use a database to produce the most efficient results. You’ll turn sluggish, inflexible code and thankless late-night hours into high-quality, reliable solutions and a job well done.

The SQL database programming language is the core of most software in the world, but if you’re like most software developers, you’re self-taught in SQL, and you know just enough to get by. As a result, you might design fragile databases that cannot scale as the business grows, write queries that produce incorrect results and not know why, or deploy applications that are vulnerable to hackers. Don’t reinvent the wheel to solve problems SQL was designed to solve—this book will teach you new SQL techniques for getting your job done.

Whatever platform or programming language you use, whether you’re a junior programmer or a Ph.D., SQL Antipatterns will show you how to design and build databases, how to write better database queries, and how to integrate SQL programming with your application like an expert. You’ll also learn the best and most current technology for full-text search, how to design code that is resistant to SQL injection attacks, and other techniques for success.

Now available from

Coming Soon:

Recently Released:

Thanks for your continued support,

Dave & Andy