programming languages

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’t human languages. Let’s

By Jeff Atwood ·
Comments
I’d Consider That Harmful, Too

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 produce.

By Jeff Atwood ·
Comments
Classic Computer Science Puzzles

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 many programming

By Jeff Atwood ·
Comments
Falling Into The Pit of Success

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 Games, Analyzing Games

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, of

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 going

By Jeff Atwood ·
Comments
How Not To Write a Technical Book, Epilogue

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 course, a reference to

By Jeff Atwood ·
Comments
Discipline Makes Strong Developers

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. 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 Team Explorer (Team Foundation Client) 3. Visual

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 about. 3.

By Jeff Atwood ·
Comments
Always. Be. Shipping.

programming languages

Always. Be. Shipping.

I believe there’s a healthy balance all programmers need to establish, somewhere between… * Locking yourself away in a private office and having an intimate dialog with a compiler about your program. * Getting out in public and having an open dialog with other human beings about your program. I’ve

By Jeff Atwood ·
Comments
Whatever Happened to Civility on The Internet?

programming languages

Whatever Happened to Civility on The Internet?

In response to Wil Shipley’s recent post about the lack of an iPhone SDK, a reader left this comment: I often enjoy reading these entries, but you always come across as a little bit of an a**hole. Full of yourself, overly critical and a bit mean. Dismissing and

By Jeff Atwood ·
Comments