You should learn a new language this year. Maybe we can help.
Somewhat surprisingly, C++ was the subject of a moderately interesting discussion recently on our Yahoo group. The topic was “What’s up with C++ (books)?” and the poster pointed out that there are lots of people programming in C++ and there are book-worthy things happening in the C++ world, like the prominence of the Boost libraries, but that production of new books on C++ topics practically stopped about six years ago.
You probably aren’t surprised at this. As our own Dave Thomas said in the discussion, we “don’t we have C++ books under development... [b]ecause no one asks for them, and we’re here to serve the readers.” But if lots of people are programming in C++ and there are developments in C++-related tools that would justify new books, why aren’t those programmers asking for those books?
As Jared Richardson points out, some programmers read books, go to conferences, read blogs, and stay up to date on developments in their field, while some programmers tend to get their knowledge by talking to others on their team and mostly just spend their time grinding out code. C++ programmers, he suggests, are in the second camp.
I’m guessing that you’re in the first camp.
In The Pragmatic Programmer, Andy and Dave suggest as a goal that you learn at least one new language every year. Seeing how different languages encourage different approaches to the same problems will expand your own problem-solving bandwidth. Andy and Dave are talking there to the programmers in the first camp, so they’re talking to you. And I’m guessing that you already have that goal of learning a new language every year.
But real immersion in a new language is quite a plunge. If you want to dip your toe in the water before diving into the stream, we can help with that. The fact that every article of every issue of PragPub is available online for free means that we can facilitate your toe-dipping. The articles range from John Shade’s lightweight take on Google’s Go language and a quiz in which you are asked to identify languages based on snippets of code to serious discussions of languages from Clojure, Scala, Python, Ruby, and Objective C to HTML5, SASS, JavaScript, and CoffeeScript. Here, then, is a guide to every article on a programming language published in PragPub to date.
-
Why Clojure?: An Interview with Rich Hickey
by Rich Hickey in PragPub July 2009
Rich Hickey created Clojure, a modern dialect of Lisp that targets the JVM. In this PragPub interview, Rich explains what that means to you.
-
When Things Go Wrong: Clojure’s Exceptional Handling of Exceptions
by Stuart Halloway in PragPub July 2009
As Stuart demonstrates in this deep immersion in Clojure coding, one of Clojure’s strengths is how it shines when things go wrong.
-
The Quiz: This Month: A is for APL
by Dave Thomas in PragPub July 2009
A monthly diversion at least peripherally related to programming. You’ll find the solution here.
-
Writing an iPhone App: Thinking Different(ly) about the iPhone
by Chris Adamson in PragPub August 2009
Developing iPhone apps is in some ways remarkably like writing desktop apps—and in many ways jarringly different.
-
Language Workbenches: Is This the Era of the DSL?
by Michael Swaine in PragPub October 2009
DSLs rule! Now if only they weren’t so unruly.
-
Shady Illuminations: Is Google’s New Language a Goer?
by John Shade in PragPub December 2009
Google releases a new programming language and John Shade finds a bit of Python in it.
-
Much Ado About Nothing: Gazing into the Abyss of Ruby’s nil, amongst Null Objects, Ghost Methods, and Black Holes.
by Paolo Perrotta in PragPub January 2010
Paolo plumbs the depths of nothingness to show the power of metaprogramming in Ruby.
-
Better CSS with Sass: Make Your Website Stylesheets Sassy
by Brian Hogan in PragPub February 2010
Brian shows off some of the magic of Sass, a DSL for generating stylesheets.
-
JavaScript: It’s Not Just for Browsers Any More: Three Significant Events in 2009 Changed the JavaScript Landscape
by Jason Huggins in PragPub March 2010
Node.js is a toolkit for writing high-performance network servers in JavaScript. And it’s events all the way down.
-
The Bruce Tate Interview How Do You Dive Deeply into Ruby, Io, Prolog, Scala, Erlang, Clojure, and Haskell in One Book?
by Bruce Tate in PragPub May 2010
Behind the scenes with the author of Seven Languages in Seven Weeks.
-
Agile Microsoft: An Introduction to ASP.NET MVC
by Jonathan McCracken in PragPub June 2010
Microsoft’s Model-View-Controller web presentation framework is being called “Rails for .NET.”
-
Why ASP.NET MVC?: An Interview with Phil Haack of Microsoft
by Phil Haack in PragPub June 2010
We chat with the Project Manager for the ASP.NET MVC project at Microsoft.
-
Not Quite New in iOS 4: Three New-to-You Features for iPhone Developers
by Daniel Steinberg in PragPub July 2010
Three unsung developer features of iOS 4 will make your life easier and change your code dramatically: blocks, gestures, and properties without ivars.
-
Great Expectations: Better Testing Through DSLs with Ruby and Scala
by Paul Butcher in PragPub August 2010
Improve your tests with custom expectations
-
Page Objects in Python: Automating Page Checking without Brittleness
by Adam Goucher in PragPub August 2010
The Page Object pattern is the key to implementing smart automated checks. Here’s how Python programmers can make use of it.
-
HTML5: Accessibility For All: Accessibility, Unobtrusiveness, and Progressive Enhancement with HTML5
by Brian Hogan in PragPub October 2010
One in every ten people in the world has some sort of disabiliy. That’s 650 million potential users of your software, and 650 million people you should think about when developing web sites.
-
Getting Clojure: Extending Java Classes Using Proxy
by Gregg Williams in PragPub November 2010
It’s incredibly easy to call Java code from Clojure, but who would have thought that modifying an existing Java library would be such uncharted territory? Gregg shares what he has learned.
-
Chad Fowler on Ruby: An Interview with a Ruby Pioneer
by Chad Fowler in PragPub December 2010
A legend in the Ruby community shares his recollections and insights and hopes, from the early days of Ruby enthusiasts to the future of Ruby on silicon and Ruby for phones.
-
What’s New in Ruby 1.9.2: If you’re not using it, you should be.
by Dave Thomas in PragPub December 2010
It’s been a long time coming, but we finally have a worthy successor to Ruby 1.8. Fast, fully featured, and fun, Ruby 1.9.2 should be your Ruby of choice.
-
Three Bundler Benefits: Bundler Gives You Pay-as-you-go Gem Management
by Paolo Perrotta in PragPub December 2010
Why you should start using Bundler to manage your Ruby gems right now.
-
New Series: Everyday JRuby Part 1: Writing a Plugin
by Ian Dees in PragPub December 2010
Wherein Ian begins a series of articles on using Ruby on the JVM to solve everyday problems.
-
Grokking Pattern Matching and List Comprehensions: Two Language Features that Rock
by Bruce Tate in PragPub January 2011
Bruce explores two powerful features of modern programming languages that can make your code more beautiful and you more productive.
-
Everyday JRuby Part 2: Sharing Your Software
by Ian Dees in PragPub January 2011
Wherein Ian creates a simple game and then shows you several ways to deploy it.
-
Punk Rock Languages: A Polemic
by Chris Adamson in PragPub March 2011
In an era of virtual machines and managed environments, C is the original Punk Rock Language.
-
A CoffeeScript Intervention: Five Things You Thought You Had to Live with in JavaScript
by Trevor Burnham in PragPub May 2011
Trevor takes us on a tour of some of the ways this hot new language improves on JavaScript.

