programming languages

programming languages

Software Projects as Rock Climbing

If you accept the premise that software development is a cooperative game, then you might wonder: what kind of game is it? Alistair Cockburn believes the closest analog to a software project is the cooperative game of rock climbing: * Technical. The novice can only approach simple climbs. With practice, the

By Jeff Atwood ·
Comments

programming languages

Learning on the Battlefield

I occasionally get emails from people asking how to prepare for a career in software development. Some are students wondering what classes they should take; others have been bitten by the programming bug and are considering their next steps. I always answer with the same advice. There’s no substitute

By Jeff Atwood ·
Comments

blog

What’s Wrong With The Daily WTF

Alex Papadimoulis originally invited me to be a guest editor at The Daily WTF nearly six months ago. I was honored and accepted immediately. Since then, The Daily WTF has been rechristened Worse Than Failure. I’m a big fan of Alex and WTF; his blog is fantastic, and WTF

By Jeff Atwood ·
Comments

programming languages

Top 6 List of Programming Top 10 Lists

Presented, in no particular order, for your reading pleasure: my top 6 list of programming top 10 lists. To keep this entry concise, I’ve only quoted a brief summary of each item. If any of these sound interesting to you, I encourage you to click through and read the

By Jeff Atwood ·
Comments

object-oriented programming

Your Code: OOP or POO?

I’m not a fan of object orientation for the sake of object orientation. Often the proper OO way of doing things ends up being a productivity tax. Sure, objects are the backbone of any modern programming language, but sometimes I can’t help feeling that slavish adherence to objects

By Jeff Atwood ·
Comments

programming languages

FizzBuzz: the Programmer’s Stairway to Heaven

Evidently writing about the FizzBuzz problem on a programming blog results in a nigh-irresistible urge to code up a solution. The comments here, on Digg, and on Reddit – nearly a thousand in total – are filled with hastily coded solutions to FizzBuzz. Developers are nothing if not compulsive problem solvers. It

By Jeff Atwood ·
Comments

programming languages

Why Can’t Programmers... Program?

I was incredulous when I read this observation from Reginald Braithwaite: Like me, the author is having trouble with the fact that 199 out of 200 applicants for every programming job can’t write code at all. I repeat: they can’t write any code whatsoever. The author he’s

By Jeff Atwood ·
Comments

programming

How To Become a Better Programmer by Not Programming

Last year in Programmers as Human Beings, I mentioned that I was reading Programmers At Work. It’s a great collection of interviews with famous programmers circa 1986. All the interviews are worth reading, but the interview with Bill Gates has one particular answer that cuts to the bone: Does

By Jeff Atwood ·
Comments

documentation

If It Isn’t Documented, It Doesn’t Exist

Nicholas Zakas enumerates the number one reason why good JavaScript libraries fail: Lack of documentation. No matter how wonderful your library is and how intelligent its design, if you’re the only one who understands it, it doesn’t do any good. Documentation means not just autogenerated API references, but

By Jeff Atwood ·
Comments

certifications

Do Certifications Matter?

Name any prominent software technology, and you’ll find a certification program for that technology. For a fee, of course. It’s a dizzying, intimidating array of acronyms: MCSD, SCJD. RHCE, ACSA. And the company offering the certification is quite often the very same one selling the product. No conflict

By Jeff Atwood ·
Comments

programming languages

Five Things You Didn’t Know About Me (and my office)

I’ve been reluctant to respond to the Five Things You Didn’t Know About Me meme. I generally take Kathy Sierra’s advice when it comes to describing my background: How many talks do you see where the speaker has multiple bullet points and slides just on their background?

By Jeff Atwood ·
Comments

programming languages

The Problem With C++

MIT’s Technology Review recently interviewed Bjarne Stroustrup in a two-part article (part one, part two). You may know Bjarne as the inventor of the C++ programming language. Indeed, he even maintains a comprehensive C++ FAQ that answers every imaginable C++ question. Here are a few select quotes from the

By Jeff Atwood ·
Comments