software development concepts

xml

Revisiting the XML Angle Bracket Tax

Occasionally I'll write about things that I find sort of mildly, vaguely thought provoking, and somehow that writing turns out to be ragingly controversial once posted here. Case in point, XML: The Angle Bracket Tax. I'm still encountering people online who almost literally hate my guts

By Jeff Atwood ·
Comments

ruby

Exploring Wide Finder

I have decidedly mixed feelings about the book Beautiful Code, but one of the better chapters is Tim Bray's "Finding Things". In it, he outlines the creation of a small Ruby program: counts = {} counts.default = 0 ARGF.each_line do |line| if line =~ %r{GET /ongoing/

By Jeff Atwood ·
Comments

software development concepts

Finally, a Definition of Programming I Can Actually Understand

I believe very strongly that a blog without comments is not a blog. For me, the whole point of this blogging exercise is the many-way communication of the comments -- between me and the commenters, and among the commenters themselves. As I said in How To Advertise on Your Blog

By Jeff Atwood ·
Comments

programming languages

The Greatest Invention in Computer Science

What do you think the single greatest invention in computer science is? Besides the computer itself, I mean. Seriously, before reading any further, pause here for a moment and consider the question. I've talked before about how young so-called modern computer programming languages really are, and it bears

By Jeff Atwood ·
Comments

programming languages

Strong Opinions, Weakly Held

I seldom pause to answer criticism of my blog. If I did, I'd have time for little else in the course of the day, and no time for constructive work. But occasionally I'll encounter a particularly well written critique that gives me pause, such as Alastair

By Jeff Atwood ·
Comments

software development concepts

Crash Responsibly

As programmers, it is our responsibility to ensure that when something goes horribly wrong with our software, the user has a reasonable escape plan. It's an issue of fundamental safety in software error handling that I liken to those ubiquitous airline safety cards.   Which one accurately depicts the

By Jeff Atwood ·
Comments

html

Is HTML a Humane Markup Language?

One of the things we're thinking about while building stackoverflow.com [http://stackoverflow.com/] is how to let users style the questions and answers they're entering on the site. Nothing's decided at this point, but we definitely won't be giving users one

By Jeff Atwood ·
Comments

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

By Jeff Atwood ·
Comments

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

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

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

By Jeff Atwood ·
Comments

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