software development concepts

I Happen to Like Heroic Coding

programming languages

I Happen to Like Heroic Coding

I’ve been following Michael Abrash for more than 10 years now; he’s one of my programming heroes. So I was fascinated to discover that Mr. Abrash wrote an article extolling the virtues of Intel’s upcoming Larrabee. What’s Larrabee? It’s a weird little unreleased beast that

By Jeff Atwood ·
Comments
The Eight Levels of Programmers

software development concepts

The Eight Levels of Programmers

Have you ever gotten that classic job interview question, “where do you see yourself in five years?” When asked, I’m always mentally transported back to a certain Twisted Sister video from 1984. I want you to tell me – no, better yet, stand up and tell the class – what do

By Jeff Atwood ·
Comments

programming languages

Should Competent Programmers be “Mathematically Inclined”

One of the more famous Edsger Dijkstra quotes is from his 1972 Turing award lecture, How do we tell truths that might hurt? Besides a mathematical inclination, an exceptionally good mastery of one’s native tongue is the most vital asset of a competent programmer. Note that he specifically says

By Jeff Atwood ·
Comments
The Ugly American Programmer

programming languages

The Ugly American Programmer

On the internet, you can pretend the world is flat. Whatever country you live in, whatever language you speak, you have the same access to the accumulated knowledge of the world as every other citizen of the planet Earth. And a growing percentage of that knowledge can and should be

By Jeff Atwood ·
Comments
Five Dollar Programming Words

software development concepts

Five Dollar Programming Words

I’ve been a longtime fan of Eric Lippert’s blog. And one of my favorite (albeit short-lived) post series was his Five Dollar Words for Programmers. Although I’ve sometimes been accused of being too wordy, I find that learning the right word to describe something you’re doing

By Jeff Atwood ·
Comments
The Computer Performance Shell Game

programming concepts

The Computer Performance Shell Game

The performance of any computer is akin to a shell game. The computer performance shell game, also known as “find the bottleneck,” is always played between these four resources: * CPU * Disk * Network * Memory At any given moment, your computer is waiting for some operation to complete on one of these

By Jeff Atwood ·
Comments
The Ferengi Programmer

programming languages

The Ferengi Programmer

There was a little brouhaha recently about some comments Joel Spolsky made on our podcast: Last week I was listening to a podcast on Hanselminutes, with Robert Martin talking about the SOLID principles. (That’s a real easy-to-Google term!) It’s object-oriented design, and they’re calling it agile design,

By Jeff Atwood ·
Comments

programming languages

The One Thing Programmers and Musicians Have In Common

In my previous post, a commenter asked this question: So many of the best minds I have met in computing have a love for music. Is it something to do with being able to see beauty in complex numerical systems? I adore music. I have a vast music collection and

By Jeff Atwood ·
Comments
A Visit With Alan Kay

programming languages

A Visit With Alan Kay

Alan Kay is one of my computing heroes. All this stuff we do every day as programmers? Kay had a hand in inventing a huge swath of it: Computer scientist Kay was the leader of the group that invented object-oriented programming, the graphical user interface, 3D computer graphics, and ARPANET,

By Jeff Atwood ·
Comments
Programming: Love It or Leave It

programming languages

Programming: Love It or Leave It

In a recent Joel on Software forum post Thinking of Leaving the Industry, one programmer wonders if software development is the right career choice in the face of broad economic uncertainty: After reading the disgruntled posts here from long time programmers and hearing so much about ageism and outsourcing, I’

By Jeff Atwood ·
Comments
We Are Typists First, Programmers Second

software development concepts

We Are Typists First, Programmers Second

Remember last week when I said coding was just writing? I was wrong. As one commenter noted, it’s even simpler than that. [This] reminds me of a true “Dilbert moment” a few years ago, when my (obviously non-technical) boss commented that he never understood why it took months to

By Jeff Atwood ·
Comments

programming languages

You’re Reading The World’s Most Dangerous Programming Blog

Have you ever noticed that blogs are full of misinformation and lies? In particular, I’m referring to this blog. The one you’re reading right now. For example, yesterday’s post was so bad that it is conclusive proof that I’ve jumped the shark. Again. Apparently, according to

By Jeff Atwood ·
Comments