programming languages

programming languages

Code Tells You How, Comments Tell You Why

In an earlier post on the philosophy of code comments, I noted that the best kind of comments are the ones you don’t need. Allow me to clarify that point. You should first strive to make your code as simple as possible to understand without relying on comments as

By Jeff Atwood ·
Comments
Printer and Screen Resolution

programming languages

Printer and Screen Resolution

A recurring theme in Edward Tufte’s books is the massive difference in resolution between the printed page and computer displays. Printed pages lend themselves to vastly greater information density. Sparklines are one particular technique of Tufte’s designed to exploit the greater resolution of the printed page. I was

By Jeff Atwood ·
Comments
Are You an Evangelist Too?

software development concepts

Are You an Evangelist Too?

Anil Dash and I have the same job title: evangelist. I share Anil’s reservations about his job title, too: You see, these days my business cards describe me as “Chief Evangelist.” On the plus side, it’s the first time in the history of the company that I’ve

By Jeff Atwood ·
Comments
Simplicity as a Force

software development concepts

Simplicity as a Force

Simplicity isn’t easy to achieve, and John Maeda’s short book, The Laws of Simplicity, provokes a lot of thought on the topic. Programmers swim in a sea of unending complexity. We get so used to complexity as an ambient norm that we begin, consciously or unconsciously, projecting it

By Jeff Atwood ·
Comments
What did you write five years ago?

programming languages

What did you write five years ago?

Here’s an excellent bit of Halloween advice from Mike Gunderloy: go read some source code you wrote five years ago for a real scare. It’s a good idea to go occasionally back to the well and get a sense of your progress as a so-called professional software developer.

By Jeff Atwood ·
Comments

programming languages

Does Writing Code Matter?

Ian Landsman’s 10 tips for moving from programmer to entrepreneur is excellent advice. Even if you have no intention of becoming an entrepreneur. One of the biggest issues I see is developers getting caught up in the code. Spending countless hours making a function perfect or building features which

By Jeff Atwood ·
Comments
I Rock at BASIC

programming languages

I Rock at BASIC

How in the world wide web did I not know about the “ I Rock at BASIC” t-shirt? We’ve all written this program at some point in our careers. But only those of us who truly rock at BASIC.

By Jeff Atwood ·
Comments
Fifty Years of Software Development

programming languages

Fifty Years of Software Development

O’Reilly’s History of Programming Languages poster is fascinating reading. If you trace programming languages back to their origins, you’ll find that we’ve been at this programming stuff a long, long time. * Fortran (1954) * Cobol (1959) * Lisp (1958) * Basic (1964) * Forth (1970) * Pascal (1970) * SmallTalk (1971) * C

By Jeff Atwood ·
Comments
A Visit from the Metrics Maid

software development

A Visit from the Metrics Maid

For the last few days, I’ve been surveying a software project. Landing on a planet populated entirely by an alien ecosystem of source code can be overwhelming. That’s why the first first thing I do is bust out my software tricorder – static code analysis tools. The two most

By Jeff Atwood ·
Comments
Has Joel Spolsky Jumped the Shark?

programming languages

Has Joel Spolsky Jumped the Shark?

When you’re starting out as a technical blogger, you’ll inevitably stumble across Joel on Software. He’s been blogging since the year 2000, when computers were hand-carved of wood and the internet transmitted data via carrier pigeon. He has his own software development company, a few books under

By Jeff Atwood ·
Comments
Technological Racism

programming languages

Technological Racism

Brian Kuhn recently described the real risk of technocentrism. [. . .] people use (or have rejected) particular operating systems, tools, and software that has in turn shaped their perceptions when it comes to making judgments on the various merits of particular technologies. People tend to categorize or identify themselves with particular “technological

By Jeff Atwood ·
Comments

software development

Software: It’s a Gas

Nathan Myhrvold, the former CTO of Microsoft, is also a bona-fide physicist. He holds physics degrees from UCAL and Princeton. He even had a postdoctoral fellowship under the famous Stephen Hawking. Thus, as you might expect, his 1997 ACM keynote presentation, The Next Fifty Years of Software is full of

By Jeff Atwood ·
Comments