programming languages

xml

XML: The Angle Bracket Tax

Everywhere I look, programmers and programming tools seem to have standardized on XML. Configuration files, build scripts, local data storage, code comments, project files, you name it – if it’s stored in a text file and needs to be retrieved and parsed, it’s probably XML. I realize that we

By Jeff Atwood ·
Comments
Understanding Model-View-Controller

programming languages

Understanding Model-View-Controller

Like everything else in software engineering, it seems, the concept of Model-View-Controller was originally invented by Smalltalk programmers. More specifically, it was invented by one Smalltalk programmer, Trygve Reenskaug. Trygve maintains a page that explains the history of MVC in his own words. He arrives at these definitions in a

By Jeff Atwood ·
Comments
Programmers Don’t Read Books – But You Should

programming languages

Programmers Don’t Read Books – But You Should

One of the central themes of stackoverflow.com is that software developers no longer learn programming from books, as Joel mentioned: Programmers seem to have stopped reading books. The market for books on programming topics is miniscule compared to the number of working programmers. Joel expressed similar sentiments in 2004’

By Jeff Atwood ·
Comments
Everything I Needed to Know About Programming I Learned from BASIC

programming languages

Everything I Needed to Know About Programming I Learned from BASIC

Edsger Dijkstra had this to say about Beginner’s All Purpose Symbolic Instruction Code: It is practically impossible to teach good programming style to students that have had prior exposure to BASIC; as potential programmers they are mentally mutilated beyond hope of regeneration. I’m sure he was exaggerating here

By Jeff Atwood ·
Comments
Core War: Two Programs Enter, One Program Leaves

programming languages

Core War: Two Programs Enter, One Program Leaves

Our old pal A. K. Dewdney first introduced the world to Core War in a series of Scientific American articles starting in 1984. (Full page scans of the articles, including the illustrations, are also available.) Core War was inspired by a story I heard some years ago about a mischievous

By Jeff Atwood ·
Comments

software development concepts

Let That Be a Lesson To You, Son: Never Upgrade.

(Update: This piece originally ran on April Fools’ day; although the content of the post is not an April Fools’ joke, the retro styling definitely was. View a screenshot of how this post looked on April 1, 2008) I occasionally follow Jamie Zawinski’s blog. Jamie’s an interesting guy.

By Jeff Atwood ·
Comments
Revisiting The Facts and Fallacies of Software Engineering

software development concepts

Revisiting The Facts and Fallacies of Software Engineering

I like to re-read my favorite books every few years, so I brought Robert Glass’ seminal Facts and Fallacies of Software Engineering with me on my most recent trip. I thought it was a decent, but imperfect read when I originally bought it in 2004. As I scanned through the

By Jeff Atwood ·
Comments
Paul Graham’s Participatory Narcissism

software development concepts

Paul Graham’s Participatory Narcissism

I have tremendous respect for Paul Graham. His essays – repackaged in the book Hackers and Painters – are among the best writing I’ve found on software engineering. Not all of them are so great, of course, but the majority are well worth your time. That’s more than I can

By Jeff Atwood ·
Comments
Choosing Your Own Adventure

programming languages

Choosing Your Own Adventure

The Choose Your Own Adventure book series was one of my favorites as a young reader. The Choose Your Own adventure books are still around; modern versions can be found at your local bookstore. I bought one today at a local Barnes & Noble to refresh my memory, and although

By Jeff Atwood ·
Comments
Code Isn’t Beautiful

programming languages

Code Isn’t Beautiful

I was thrilled to see the book Beautiful Code: Leading Programmers Explain How They Think show up in my Amazon recommendations. It seems like exactly the type of book I would enjoy. So of course I bought a copy. Unfortunately, Beautiful Code wasn’t nearly as enjoyable of a read

By Jeff Atwood ·
Comments

software development concepts

The Years of Experience Myth

I recently received an email from Andrew Stuart of the Australian firm Flat Rate Recruitment. Andrew related their technical phone screen process, which is apparently quite similar to the one outlined in Getting the Interview Phone Screen Right. I’m glad to hear it works. A proper phone screen is

By Jeff Atwood ·
Comments
What Can You Build in 600 Lines of Code?

ruby

What Can You Build in 600 Lines of Code?

Joseph Cooney reminds us that, in January 2005, 37signals went live with a product they built in 579 lines of code: You read that right, not 60,000 or 600,000 but instead a commercial project written in less than 600 lines of Ruby code. When I first saw this

By Jeff Atwood ·
Comments