When confronted with a problem...

When confronted with a problem...

Fill out form to continue
All fields required.
Enter your info once to access all resources.
By submitting this form, you agree to Expero’s Privacy Policy.
Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.

Sebastian Good

January 22, 2012

When confronted with a problem...


A fun tweet last week says

Some people, when confronted with a problem, think “I know, I’ll use multithreading”. Nothhw tpe yawrve o oblems. (Eiríkr Åsheim, 2012)

which is pretty funny if you remember the quote it’s based on,

Some people, when confronted with a problem, think “I know, I’ll use regular expressions”. Now they have two problems. (Jamie Zawinski, 1997)

But it turns out that quote itself is hard to attribute, and has a history rooted in raging usenet (remember usenet?) battles of the early 90s. With various permutations:

Some people, when confronted with a Unix problem, think ‘I know, I’ll use sed.’ Now they have two problems. (Unix Haters Handbook, c.1992)

If you have a problem and you think awk(1) is the solution,then you have two problems. (David Tilbrook, 1989)

Back in the 1990s, if you wanted to interview a C++ programmer, you’d ask him to write a string class. My programming homework counted words or wrote versions of grep(1). Perl made one form of regular expressions popular with the masses.That’s what you cut your teeth on. Now most every language you learn to program in has a Unicode-compliant standard string library which most people don’t think much about anymore. For most of us, it’s a solved problem. (Though there are fun exceptions.)

In the 2010s, everyone is worrying about threads. We have reactive programmingsoftware-transactional memorypurely functional programmingactors and state patternstask libraries, people who say ‘to hell with it’ and still get huge performance, and who knows what else lurking in the wings. Maybe in another 20 years we’ll look back fondly on the fun and silly battles over multithreading models, like we smile at the quotes about sed, awk, and regular expressions.

And it’ll be time for another generation of “Some people when confronted with a problem…” quotes.

User Audience


Project Details

Similar Resources

Serverless ML

You can now deploy your models and get real-time scalable results without ever having to provision a server. Let me show you how I did it.

Watch Demo

Software Craftsmanship in Context

Software quality matters. Learn from a real use-case how we follow the Software Craftsmanship method to push a hard project forward.

Watch Demo

Company for a Cup of Joe: Finding Your Tribe

Combining traditional search techniques with graph algorithms to efficiently find subgroups within data.

Watch Demo

Testing React Applications Using Jest and React Testing Library

Avoid bugs & gain confidence when refactoring code by writing tests for your React code using Jest, React Testing Library & a Test Driven Development approach.

Watch Demo