small medium large xlarge

Seven Languages in Seven Weeks: A Pragmatic Guide to Learning Programming Languages


Cover image for Seven Languages in Seven Weeks

Seven Languages in Seven Weeks

A Pragmatic Guide to Learning Programming Languages


You should learn a programming language every year, as recommended by The Pragmatic Programmer. But if one per year is good, how about Seven Languages in Seven Weeks? In this book you’ll get a hands-on tour of Clojure, Haskell, Io, Prolog, Scala, Erlang, and Ruby. Whether or not your favorite language is on that list, you’ll broaden your perspective of programming by examining these languages side-by-side. You’ll learn something new from each, and best of all, you’ll learn how to learn a language quickly.

Just as each new spoken language can make you smarter and increase your options, each programming language increases your mental tool kit, adding new abstractions you can throw at each new problem. Knowledge is power. The Seven in Seven series builds on that power across many different dimensions. Each chapter in each book walks you through some nontrivial problem with each language, or database, or web server. These books take commitment to read, but their impact can be profound.

Customer Reviews

I have been programming for 25 years in a variety of hardware and
software languages. After reading Seven Languages in Seven Weeks, I
am starting to understand how to evaluate languages for their objective
strengths and weaknesses. More importantly, I feel as if I could
pick one of them to actually get some work done.

- Chris Kappler

Senior scientist, Raytheon BBN Technologies

I spent most of my time as a computer sciences student saying I didn’t
want to be a software developer and then became one anyway. Seven
Languages in Seven Weeks expanded my way of thinking about problems
and reminded me what I love about programming.

- Travis Kaspar

Software engineer, Northrop Grumman

Do you want seven kick starts into learning your “language of the
year”? Do you want your thinking challenged about programming in
general? Look no further than this book. I personally was taken back
in time to my undergraduate computer science days, coasting through
my programming languages survey course. The difference is that
Bruce won’t let you coast through this course! This isn’t a leisurely
read—you’ll have to work this book. I believe you’ll find it both mindblowing
and intensely practical at the same time.

- Matt Stine

Group leader, Research Application Development, St. Jude Children's Research Hospital

Fasten your seat belts, because you are in for a fast-paced journey.
This book is packed with programming-language-learning action.
Bruce puts it all on the line, and the result is an engaging, rewarding
book that passionate programmers will thoroughly enjoy. If you
love learning new languages, if you want to challenge your mind, if
you want to take your programming skills to the next level—this book
is for you. You will not be disappointed.

- Frederic Daoud

Author, "Stripes ...and Java Web Development Is Fun Again" and "Getting Started with Apache Click"

As a programmer, the importance of being exposed to new programming
languages, paradigms, and techniques cannot be overstated.
This book does a marvelous job of introducing seven important and
diverse languages in a concise—but nontrivial—manner, revealing
their strengths and reasons for being. This book is akin to a dim-sum
buffet for any programmer who is interested in exploring new horizons
or evaluating emerging languages before committing to studying one
in particular.

- Antonio Cangiano

Software engineer and technical evangelist, IBM

Knowing multiple paradigms greatly influences our design abilities, so
I’m always on the lookout for good books that’ll help me learn them.
This book nicely brings prominent paradigms together. Bruce has
experience learning and using multiple languages. Now you can gain
from his experience through this book. I highly recommend it.

- Dr. Venkat Subramaniam

Award-winning author and founder, Agile Developer, Inc.

See All Reviews

Choose Your Format(s)

  • $25.00 In Stock
  • Ebooks are DRM free.

  • Ebook delivery options.

About this Title

Pages: 330
Published: 2010-10-27
Release: P5.0 (2012-03-27)
ISBN: 978-1-93435-659-3

Ruby, Io, Prolog, Scala, Erlang, Clojure, Haskell. With Seven Languages in Seven Weeks, by Bruce A. Tate, you’ll go beyond the syntax—and beyond the 20-minute tutorial you’ll find someplace online. This book has an audacious goal: to present a meaningful exploration of seven languages within a single book. Seven Languages hits what’s essential and unique about each language and will help teach you how to grok new languages.

For each language, you’ll solve a nontrivial problem, using techniques that show off the language’s most important features. You’ll discover the strengths and weaknesses of each language while dissecting the process of learning languages quickly—for example, finding the typing and programming models, decision structures, and how you interact with them.

Among this group of seven, you’ll explore the most critical programming models of our time. Learn the dynamic typing that makes Ruby, Python, and Perl so flexible and compelling. Understand the underlying prototype system that’s at the heart of JavaScript. See how pattern matching in Prolog shaped the development of Scala and Erlang. Discover how pure functional programming in Haskell is different from the Lisp family of languages, including Clojure.

Explore the concurrency techniques that are quickly becoming the backbone of a new generation of Internet applications. Find out how to use Erlang’s let-it-crash philosophy for building fault-tolerant systems. Understand the actor model that drives concurrency design in Io and Scala. Learn how Clojure uses versioning to solve some of the most difficult concurrency problems.

It’s all here, all in one place. Use the concepts from one language to find creative solutions in another—or discover a language that may become one of your favorites.

Contents & Extracts


Bruce Tate runs RapidRed, an Austin, TX-based practice that consults on lightweight development in Ruby. Previously he worked at IBM in roles ranging from a database systems programmer to Java consultant. He left IBM to work for several startups in roles ranging from Client Solutions Director to CTO. He speaks internationally and is the author of more than ten books, including From Java to Ruby, Deploying Rails Applications, the best-selling Bitter series, Beyond Java, and the Jolt-winning Better, Faster, Lighter Java.