Scary Gary wants to hear from optimistic programmers

greenspun.com : LUSENET : TimeBomb 2000 (Y2000) : One Thread

Assuming the doomslayers in this forum are all programmers with as least as much experience as Ed Yourdon, please email Gary North! He wants to hear from you, and we'll be watching! Please! We really do want some good logical verifiable news. In other words, go over to Gary's forum to play. He's even listing a real email address at:

http://www.garynorth.com/y2k/detail_.cfm/4263

Have fun!

-- Gearhead (2plus2@motown2.com), March 31, 1999

Answers

I fail to understand how anyone can feel secure in the experience that gets handed to them by "expert computer programmers". Ed Yourdon may have 20 or 30 years experience but what does that mean?? Outside of the systems/areas he has worked on what does his opinion mean to anyone? I've worked on AS-400 COBOL for many years but if asked to code C++ I couldn't do it because I don't know that language. Just like a baseball player can't perform knee surgery because he has been around alot of torn ligaments. Ed Yourdon is just out for the big bucks that his books and videos are raking in for him. To Hell with his so called expert knowledge in other areas like economy, infrastructure and business. EY predicts things that are way beyond his scope of knowledge. It just goes to show you that no matter how much education you have some people will never be smart enough to admit when they are wrong.

-- (~~@~~.com), March 31, 1999.

Sorry, can't help ya. I'll have to wait 'til Gary turns the coin over, again. <:)=

-- Sysman (y2kboard@yahoo.com), March 31, 1999.

-- (~~@~~.com),

>I fail to understand how anyone can feel secure in the experience that gets handed to them by "expert computer programmers". Ed Yourdon may have 20 or 30 years experience but what does that mean?? Outside of the systems/areas he has worked on what does his opinion mean to anyone?

Legitimate questions.

I can't and don't speak for Mr. Yourdon, but I'll take the liberty of answering from my own position as a "30+ years" programmer.

Let's start with "have 20 or 30 years experience but what does that mean?"

In my career I have found and fixed not only explicitly Y2k problems but also other computer problems with the same essential characteristics (*) as Y2k problems. I've directly experienced both how subtle the consequences of such problems can be and how much time and effort it can take to diagnose such problems. I've made many of the mistakes that can lead to Y2k problems, and have seen my colleagues make the same mistakes.

(*) ["Essential characteristics" refers to a set of properties I've learned to recognize over the years. Not all computer problems look alike. It would take me a lot of time and thought to come up with a detailed description -- I'll put in what I can think of now, and can add to this if required.

One simple Y2k-like characteristic is failure to properly handle the case of a value's being zero -- when working with year values it's difficult (or was, until recently) to be conscious of the possibility that a two-digit year number could be equal to zero at some time in the future. We just didn't (until recently) encounter "00" years in everyday life, and programmers are almost always everyday people in this regard. So (until recently) when we wrote our programs it was rare to include proper handling of the possibility of zero values when that might differ from proper handling of nonzero values. But to the machines, zeros happen -- when they do, those adorable computers will faithfully follow the instructions we've provided them on what to do in that zero-value situation, even if such instructions are inappropriate or downright wrong because they weren't *intended* (a human concept) to handle that zero-value situation.

Anoter essential characteristic of Y2k-like problems is failure to handle nonzero boundary values. E.g., the program handles values from 1-99 (or even 0-99) properly, but not the value 100 or greater. Maybe it has a table with room for 99 entries, but not that 100th entry. Or 100 entries, but not a 101st entry. I could go into more detail, but would have to explain certain parts of programming languages.]

And now, for "Outside of the systems/areas he has worked on what does his opinion mean to anyone?"

I've used a wide variety of computer hardware and languages, and studied enough theory of both to understand many of the commonalities stretching across that variety that apply to the essential characteristics of Y2k-like computer problems.

Note that the failure to properly handle zero values that I described above does not refer to any particular model of computer, programming language, or type of application. I know that that characteristic of Y2k-like problems exists not only in the systems/areas I've worked on but also in other systems/areas. How do I know that? Because I know the basic principles that apply across the various systems/areas. If you doubt me, rather than produce a text here I'll refer you to the multitude of books about these principles. (As it happens, Mr. Yourdon has written a few of them.)

>I've worked on AS-400 COBOL for many years but if asked to code C++ I couldn't do it because I don't know that language.

But I'll bet you'd agree that C++ probably (you can't be sure until you see it) has provisions for zero/nonzero tests and branching. The failure-to-handle-zero characteristic therefore will apply to C++ just as it does to COBOL.

>Just like a baseball player can't perform knee surgery because he has been around alot of torn ligaments.

Nope, that's an invalid analogy. There's far, far more difference between baseball and surgery than between COBOL and C++. A more appropriate analogy would be between knee surgery and ankle surgery. Would you dispute that most knee surgeons could also perform ankle surgery, after a modest period of study of the differences between the two, similar in magnitude to the study you'd need to learn C++ after knowing COBOL?

>Ed Yourdon is just out for the big bucks that his books and videos are raking in for him.

Setting aside the perjorative "just" and any opinions about the merits of his books and videos for the moment -- is he not entitled to make a living?

"Just" -- No, I think he's genuinely concerned about the Y2k problem. Many of us are.

Opinions about the merits of his books and videos -- If you think the books and videos are no good, say so and so be it. But selling books and videos is, in and of itself, an honorable endeavor and way of making a living.

>To Hell with his so called expert knowledge in other areas like economy, infrastructure and business.

Believe it or not, while acquiring our 30+ years of experience in computer programming, some of us geeks have had other interests. Like other humans, we are capable of learning about more than just one narrow specialty, and some of us have done so. I've had interests other than computing. As an intelligent adult citizen, I've paid attention to goings-on in the national, local and global economy, politics, and business. While working for an oil company (and at other times), I learned a lot about the oil business and am more of an oil expert than 98% of the general population. While working for a company doing business in the financial services industry, I learned a lot about certain aspects of how banks operate and can speak with authority on those aspects.

>It just goes to show you that no matter how much education you have some people will never be smart enough to admit when they are wrong.

Okay.

But which of you is wrong?

-- No Spam Please (No_Spam_Please@anon_ymous.com), March 31, 1999.


A postscript:

The entire "One simple Y2k-like characteristic" paragraph I wrote about failure to handle zero values is _in the context of year values_.

Programmers do generally remember to include instructions to handle zero values correctly -- it's just that it's been hard (until recently ...) to think of _years_ that way.

-- No Spam Please (No_Spam_Please@anon_ymous.com), March 31, 1999.


Damn No Spam - Go get em!

Any number MULTIPLIED by 0 = 0

Any number DIVIDED by 0 = invalid

Any table subscripted by 0 = invalid (some compilers are "smart" - no matter, the program still fails)

Are we having fun yet? <:)=

-- Sysman (y2kboard@yahoo.com), March 31, 1999.



Sysman,

Thanks :-)

>Any number DIVIDED by 0 = invalid

Some 1960s CDC models had a useful concept: special values for "infinity" and "undefined". Yes, there was a specific configuration of bits which would be returned as the result of a division by zero, and was supposed to be interpreted as "plus or minus infinity". Oh well, so much for elegance.

>Any table subscripted by 0 = invalid (some compilers are "smart" - no matter, the program still fails)

I'm shocked, S! 8-O

Have you forgotten all those high-level languages that allow nonpositive subscripts? (Maybe Jovial's nonintegral subscripting was before your time.)

Or are you such an assembler wonk that you've never suffered the inefficiencies of such high-level convenience?

>Are we having fun yet? <:)=

1 <g>

-- No Spam Please (No_Spam_Please@anon_ymous.com), April 01, 1999.


Good morning No Spam. Yea, I am an assembler geek, but I did my share of time in COBOL prison! I can't count the number of times I've tracked down bad subscripts in dumps. Zeros, or my favorite, spaces clobbering a binary field! Tab(X'4040') usually ends up pointing to code and not even data. Bounds checking in COBOL, the largest used business language, for what, 40 years? In your dreams! See ya. <:)=

-- Sysman (y2kboard@yahoo.com), April 01, 1999.

Moderation questions? read the FAQ