“If builders built buildings the way programmers wrote programs, then the next woodpecker that came along would destroy civilization.” - Unknown.
“Thomas Dolby – The man who put Apple software into a Coleco Adam computer and came up with the first computer with the knowledge of good and evil.” - Comic strip I saw in college.
“If it’s not documented, it doesn’t exist.” -unknown
The thing I’ve read that most describes why I like to program is the section titled “The Joys of the Craft” from chapter one of “The Mythical Man-Month” by Frederick P. Brooks, Jr.
Some examples:
“As the child delights in his mud pie, so the adult enjoys building things, especially things of his own design.”
“The programmer, like the poet, works only slightly removed from pure thought-stuff. He builds his castles in the air, from air, creating by exertion of the imagination.”
“The magic of myth and legend has come true in our time. One types the correct incantation on a keyboard, and a display screen comes to life, showing things that never were nor could be.”
And here’s one from today that I think is relevant, if not actually aphorismical:
You’ll be better off if you not only keep the actual datas, but also compare the original estimate with the actual result in a project post-mortem. 2007 Scott Hanselman.
Speaking of McConnell, did you happen to catch his letter to the editor in IEEE Computer last month, where he refuted a (stupid) article which actually claimed that software engineering isn’t an actual discipline of engineering? Steve totally shut that guy down – IMO it was a ridiculous article to have been published in Computer in the first place…
Probably the two biggest influences: Bertrand Meyer and Niklaus Wirth, both of whom I have the big fortune of knowing personally (but then, I studied at ETHZ, so that’s no big surprise).
Biggest influence in the “trying to avoid doing the same thing” way: Bjarne Stroustrup (after having attended one of his lectures about C++).
I think the method name DestroyCity is confusing,
are we destroying the instance of the city object
or are we attacking a place represented by the city object?
Terminology and percieved or dual meanings can change a clear and concise piece of code (in one persons mind) into a confusing and uncertain piece of code (in another persons mind)
As the author points out, (Slightly Skeptical) Software Engineering Links. I would have never believed it coming from a more mature engineering discipline (i.e. electronics) but having been in the software dev world for 17 years (and still programming)… it is only too real.
I’d definitely say Steve McConnell’s ‘Code Complete’ was a major influence; also Steve Maguire’s ‘Writing Solid Code’ and Jon Bentley’s ‘Programming Pearls’ books.
“If you have a problem that requires a regular expression to solve it… you now have two problems”.
Someone at work told me this, A quick google search reveals this quote is probably the origin:
‘Some people, when confronted with a problem, think "I know, I’ll use regular expressions.” Now they have two problems’.
—Jamie Zawinski, in comp.lang.emacs