Dr. Dobb's Journal April 2003
Being a good programmer, says Robert Read, is both difficult and noble. The difficult part I'm all too familiar with. The noble part, well, I'll leave that to the likes of J.D. Hildebrandt and others. In his 40-page essay entitled "How To Be a Programmer: A Short, Comprehensive, and Personal Summary" (http://samizdat.mines.edu/howto/), Read lays out the technical skills he sees as being necessary to become a good programmer. He also addresses those less measurable issues, such as the social difficulties you encounter when dealing with clients and consultants, bosses, and coworkers.
The soft and fuzzy stuff aside, what I liked best about Read's thought-provoking essay was that he didn't waste any time before jumping into the issues that are of greatest interest to me, starting with debugging, then moving on to topics such as optimization, performance tuning, memory management, design skills, language choice, and the like. More than an academic checklist, Read never fails to come back to real-world experiences, such as when he reminds us that "it's fun to work on an algorithm, but you can't let that blind you to the cold, hard fact that improving something that is not a problem will not make any noticeable difference, and will create a test burden."
Read should know what he's talking about, having been a programmer for more than 20 years. He also holds a Ph.D. and is currently a principal engineer at Hire.com.
***
Irony being what it is, it's worth noting that, according to a recent CNN story (http://www.cnn.com/2003/TECH/biztech/02/01/microsoft.security.reut/index.html), Microsoft deserves a failing grade for its security efforts. "[Microsoft's] Trustworthy Computing is failing," said Russ Cooper of TruSecure. "I gave it a 'D-minus' at the beginning of the year, and now I'd give it an 'F."' Where irony comes into play is in The Washington Post report (http://www.washingtonpost.com/wp-dyn/articles/A6320-2003Jan31.html) that the new U.S. cybersecurity "czar" is Howard Schmidtyou guessed itthe former chief security officer at Microsoft. In truth, Schmidt, who will be charged with implementing the National Strategy to Secure Cyberspace, probably knows his stuff. After all, he was a career military officer in charge of the U.S. Air Force's Office of Special Investigations, Computer Forensics Lab, and Computer Crime and Information Warfare division. The real issue, as SANS Institute Research Director Alan Paller succinctly points out, is whether politics and bureaucracy will let him do the job he's been hired to do.
***
What Schmidt may discover is that government and technology don't always march to the same drummer, even when the technology is tried and tested. For instance, e-mail discussion listservers have proven to be an effective way to openly conduct public business in communities across the country. Citizens unable to attend civic meetings such as city council or planning commissions can subscribe to a listserver and participate in the process. But hiding behind the duplicitous veil of open meetings, some government bureaucracies are trying to stifle the use of technologies such as listservers. The simple fact is that, with listservers, more people than ever before will participate in civic discussionswhich is exactly the "problem" that disingenuous government bureaucracies want to prevent.
***
As it turns out, bureaucrats aren't the only ones resisting technology. According to Dr. Carol Kovac, who is responsible for IBM's Life Sciences efforts, physicians are just as reluctant as bureaucrats about adopting technology. Kovac, who delivered this year's annual Turing Lecture to the British Computer Society/Institution of Electrical Engineers (http://www1.bcs.org.uk/), went on to say that "doctors will...have to learn to work with database people. Biologists, too, will have to overcome their reluctance for mathematics" if research activities such as the Human Genome project are to be fruitful. Kovac added that, in terms of compliance to Moore's Law, biology now enjoys the same rate of progress as computer hardware. For this reason, she said, biology is driving advances in computers.
***
From the Tooting Your Own Horn While Patting Yourself On the Back Department: Gosh, we're pleased as punch to announce that Dr. Dobb's Journal has again been named the "Best Developer Publication" and "Best C/C++ Developer Publication," according to programmers polled by Evans Data Corporation as part of its 2003 Annual Developer Marketing Patterns Report. The Evans Data (http://www.evansdata.com/) report is based on feedback from software developers' attitudes about marketing methods and preferred technologies. Thanks to Evans Data for bestowing the award, and more thanks to you for selecting DDJ as your programming magazine of choice.
Jonathan Erickson
editor-in-chief
jerickson@ddj.com