I hope everyone had a happy new year and everything worked out as expected. I wish things always happen as we expected. But unfortunately reality sometimes caught us off guard. From my experience in computer world I know all kinds of things (good or bad) can happen. The infamous Windows “blue screen” problem. A friend lost the Ph.D. diseration because of hard drive crash – probablly worth one year’s hard work? I am not biased against Bill Gates here. Years ago when I was developing a program on a HP UNIX machine with 128 Mega Bytes memory, the machine crashed couple times because a program error.
In the programming world we call those condition as “exceptions”. Thus comes the “Exception Handler”, which is a piece of code to deal with an exception. A good example is “divide by zero”. You know your little calculator can not do that; your powerful “Intel inside” box can not do it either. The exception handler will provide some meaningful feedback during those conditions and quit the program if necessary. In other words, it will try to “die” gracefully.
In school days we rarely write the “exception handling” code. In school everything is perfect, right? It appears to me most of times professors don’t care about the “exception” either. This is OK because we won’t run those “student code” in real life anyway. Our airplane and automobile are not designed by the “student code”. But I think proper training is necessary in the schools because eventually some of them will be engineers and design the real things.
When I was in graduate school, at one time I had a phone interview for an “industry consultant” position for a startup company. I remember one question was “what if you can not finish a project on time?” I told him I would work day and night, give up sleep, etc. The interviewer, who is a senior consultant, was not impressed. There are many reasons a project can get behind. Unexpected things such as “people quit”, “3rd party supplier delay”, do happen. But the customer will be disappointed if you tell him/her at the last minute. The senior consultant gave me one answer “deliver portion of the functionality”. This is a very realistic answer. I believe the new Microsoft Operating System “Longhorn” is taking a similar path.