Uncle Bob: All Our Programming Languages Boil Down to Sequence, Selection and Iteration

“It’s not true that life is one damn thing after another,” wrote the American poet Edna St. Vincent Millay, “it is one damn thing over and over.” Her statement is simply a newer version of the French expression Plus ça change, c’est la meme chose, which is approximated in the English “The more things change, the more they stay the same”. In turn, that French expression echoes a sentiment that dates at least as far back as the biblical book of Ecclesiates: “What has been will be again, what has been done will be done again; there is nothing new under the sun.” Even the idea of history repeating itself has a history of repeating itself!

That’s the essence of the keynote at the 2010 RailsConf conference given by Robert C. “Uncle Bob” Martin, whom I like to think of as “the programming world’s adult supervision”. If you’ve got some time to spare – perhaps while you’re having lunch – watch the video above, because it’ll give you a better sense of the history of programming languages and some educated guesses as to where they’re heading. Once you strip away the syntactic sugar, argues Uncle Bob, our programming languages essentially boil down to three things: sequence, selection and iteration, and every construct within those languages is some combination of them. In the keynote, Uncle Bob explains this essence and considers the implications, in classic “Uncle Bob” style, which includes, of all things, a drum solo at the beginning.

This article also appears in Canadian Developer Connection.


This Week on “Ignite Your Coding”: Uncle Bob!

uncle bob martin

Say “Uncle”!

This week on the Ignite Your Coding live webcast, we have a very special guest: Robert C. "Uncle Bob" Martin!

His business card may say “Robert C. Martin”, founder and CEO of the Object Mentor consulting firm, but we know and love him as “Uncle Bob”. He’s been coding since the Beatles broke up, and in that four-decade span, he literally wrote the books on agile and extreme programming as well as the letters UML, OOP and C++. Throughout the industry, he’s known as a champion of proper design, test-driven development and just plain writing good code. We’ll chat with Uncle Bob in this one-hour webcast, where we’ll talk about software craftsmanship, why it takes work and why it matters.

What’s Ignite Your Coding About?

Ignite Your Coding Ignite Your Coding is a webcast series all about helping you, the software developer. We want to help you find ways to stay on top of the technological, economic and social changes that affect you and your work every day. We contacted some of the biggest thinkers and doers in our field and asked them if they’d like to chat about the industry, how they got started, where they see the opportunities are, how they deal with change and how to be generally awesome. We hope it informs and inspires you!

How Do I Catch the Live Webcast?

You’ll need:

How Do I Get the MP3 Recording of the Webcast?

It’ll be posted on this blog in about a week.

This article also appears in Canadian Developer Connection.