programming languages

programming languages

You're Now Competing With The Internet

Reginald Braithwaite writes consistently great stuff on his blog, but I think my absolute favorite thing he's ever written is We Have Lost Control of the Apparatus. But we programmers have lost and we must be realistic about things. The fact of the matter is this: people own

By Jeff Atwood ·
Comments

software development concepts

Who Wrote This Crap?

Does this sound familiar? > your program (n): a maze of non-sequiturs littered with clever-clever tricks and irrelevant comments. Compare MY PROGRAM.my program (n): a gem of algorithmic precision, offering the most sublime balance between compact, efficient coding on the one hand, and fully commented legibility for posterity on

By Jeff Atwood ·
Comments

programming languages

Embracing Languages Inside Languages

Martin Fowler loosely defines a fluent interface thusly: "The more the use of the API has that language like flow, the more fluent it is." If you detect a whiff of skepticism here, you're right: I've never seen this work. Computer languages aren'

By Jeff Atwood ·
Comments

programming languages

I'd Consider That Harmful, Too

One of the seminal papers in computer science is Edsger Dijkstra's 1968 paper GOTO Considered Harmful. For a number of years I have been familiar with the observation that the quality of programmers is a decreasing function of the density of go to statements in the programs they

By Jeff Atwood ·
Comments

programming languages

Classic Computer Science Puzzles

Software developers do have a proclivity for puzzles. Perhaps that's why books like To Mock a Mockingbird exist. It's a collection of logic puzzles which is considered an introduction to lambda calculus, one of the core concepts of Lisp. Such puzzle questions are de rigueur for

By Jeff Atwood ·
Comments

c++

Falling Into The Pit of Success

Eric Lippert notes the perils of programming in C++: I often think of C++ as my own personal Pit of Despair Programming Language. Unmanaged C++ makes it so easy to fall into traps. Think buffer overruns, memory leaks, double frees, mismatch between allocator and deallocator, using freed memory, umpteen dozen

By Jeff Atwood ·
Comments

programming languages

Programming Games, Analyzing Games

For many programmers, our introduction to programming was our dad forcing us to write our own games. Instead of the shiny new Atari 2600 game console I wanted, I got a Texas Instruments TI-99/4a computer instead. That's not exactly what I had in mind at the time,

By Jeff Atwood ·
Comments

programming languages

URL Shortening: Hashes In Practice

I've become a big fan of Twitter. My philosophy is, when in doubt, make it public, and Twitter is essentially public instant messaging. This suits me fine. Well, when Twitter is actually up and running, at least. Its bouts of frequent downtime are legendary, even today. (I was

By Jeff Atwood ·
Comments

programming languages

How Not To Write a Technical Book, Epilogue

I arrived at work today to find this package. It's from one "C. Petzold", whoever the heck that is. Inside was a copy of the book 3D Programming for Windows: Three-Dimensional Graphics Programming for the Windows Presentation Foundation. It's even inscribed: This is, of

By Jeff Atwood ·
Comments

software development

Discipline Makes Strong Developers

Scott Koon recently wrote about the importance of discipline as a developer trait: Every month a new programming language or methodology appears, followed by devotees singing its praises from every corner of the Internet. All promising increases in productivity and quality. But there is one quality that all successful developers

By Jeff Atwood ·
Comments

programming languages

Configuring The Stack

A standard part of my development kit is Microsoft's Visual Studio [http://msdn.microsoft.com/vstudio/]. Here's what I have to install to get a current, complete version of Visual Studio 2005 on a new PC: 1. Visual Studio 2005 Team Suite Edition 2. Visual Studio

By Jeff Atwood ·
Comments

software development concepts

What's Worse Than Crashing?

Here's an interesting thought question from Mike Stall: what's worse than crashing? Mike provides the following list of crash scenarios, in order from best to worst: 1. Application works as expected and never crashes. 2. Application crashes due to rare bugs that nobody notices or cares

By Jeff Atwood ·
Comments