In the battle for mindshare some topics have all the luck. Skyscrapers make the magazine covers; sewage treatment plants, infinitely more important for public health, get ignored. Likewise when it's celebrities versus schoolteachers, or space programs versus trees, or pills versus exercise.

In the computer science world, algorithms are the sexy headliners. Quicksort! Simplex Method! Backpropagation! Predictor Corrector! Fast Fourier Transform! LU Decomposition! The best way to get your name carved into the CS wall of immortality is to chisel it onto a clever algorithm.

But data structures are the really essential yet oft-overlooked foundations of programming. Put together bits to make numbers and letters. Arrange numbers and letters into vectors and strings. Build lists by linking together pointers and cells. Construct arrays and queues, heaps and trees, hashes and graphs ... and move onward to higher levels of abstraction and power.

"Show me your code and conceal your data structures, and I shall continue to be mystified. Show me your data structures, and I won't usually need your code; it'll be obvious."

(the quote is an Eric Raymond (1997) paraphrase of Frederick Brooks (1975); see Guy Steele in; see also OnDuals (2 Dec 1999), JohnTukey (31 Jul 2000), ProgrammingProverbs (4 Dec 2001), RichardsonianExtrapolation (18 Apr 2002), ... )

TopicProgramming - TopicScience - 2004-02-24

(correlates: TwoDreams, CorrelationLog, FirmwareBugs, ...)

1 person liked this