Programming can be a very frustrating thing to do at any level.
There are a few things that have kept me going:
Please extend this list - George Peter Staplin.
MSW: In fact I love 500+ pages technical books :)
DKF - It's books that are over a thousand pages that are intimidating. Especially when used on cow-orkers... ;^)
Keep it down to about 800 pages, like Eric Foster-Johnson's commendably unintimidating Graphical Applications with Tcl & Tk, and you should be OK.
As for the "cow-orkers": I used to think the fad of omitting properly placed hyphens in words such as "co-workers" was harmless, but no more.
"I've had it with this company! He accused me of orking cows! I've never orked a cow in my life!"
"Oh yeah, tell me about it--you probably sneak out to the Cow Palace and ork cows all night long, or until they come home, whichever comes last!"
"Hey, stop that! Break it up! Somebody call the police, quick!" :o)
David McClamrock
[Economic absurdities ...]
The most dangerous moment is when you have a vision and say to yourself, "Hey, I could code that!" The next thing you know, no one has seen you for a week and you've perpetrated yet another Tcl object system. -- WHD
LOL! So true... so true --ro
Perhaps related to this are books like The Nudist on the Late Shift [L1 ][L2 ].
I seem to remember a book by Robert L. Glass called Hot Dogs and Mixed Nuts: Tales of the Computing Profession, but I cannot find any reference to it. It must have been written in the late 70s.
David S. Cargo ([email protected])
Keith Vetter I've always liked best the explanation that Fred Brooks gave in the book The Mythical Man-Month on why programmers spend endless hours sitting in front of a small screen.
Why is programming fun? What delights may its practitioner expect as his reward?
First is the sheer joy of making things. As the child delights in his mud pie, so the adult enjoys building things, especially things of his own design. I think this delight must be an image of God's delight in making things, a delight shown in the distinctness and newness of each leaf and each snowflake.
Second is the pleasure of making things that are useful to other people. Deep within, we want others to use our work and to find it helpful. In this respect the programming system is not essentially different from the child's fist clay pencil holder "for Daddy's office."
Third is the fascination of fashioning complex puzzle-like objects of interlocking moving parts and watching them work in subtle cycles, playing out the consequences of principles built in from the beginning. The programmed computer has all the fascination of the pinball machine or the jukebox mechanism, carried to the ultimate.
Fourth is the joy of always learning, which springs from the nonrepeating nature of the task. In one way or another the problem is ever new, and its solver learns something: sometimes practical, sometimes theoretical, and sometimes both.
Finally, there is the delight of working in such a tractable medium. 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. Few media of creation are so flexible, so easy to polish and rework, so readily capable of realizing grand conceptual structures.
Yet the program construct, unlike the poet's words, is real in the sense that it moves and works, producing visible outputs separate from the construct itself. It prints results, draws pictures, produces sounds, moves arms. 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.
Programming then is fun because it gratifies creative longings built deep within us and delights sensibilities we have in common with all men.
DKF - I like that quote very much indeed.
Borrowing a major concept from Peter Naur's "Programming as Theory Building" (Peter is the N in BNF): Programming isn't about creating the text of a program any more than science is about creating the text of a report. Much as science is about building theories about the universe around us, programming is about building theories about what's supposed to happen in the computer.
LV When you reach the point of learning to find out what a user/requestor really wants, rather than what they say they want, and move to fulfill that, you reach a new milestone in developing programs as well.
Oh - and someone - I forget who right now, in a teleconference on developing and programming, gave these as four keys to a successful team regardless of whether it was of programmers or someone else. Why, they even help the Tcl community.
SYStems I like that quote
We the unwilling, led by the unknowing are doing the impossible for the ungrateful. We've been doing so much for so long with so little we are now capable of doing anything with nothing.
and for some reason most people would agree that it's pretty relevant to the practice of software systems development