Being bad at math
-
Sometimes I don't even know why I bother.
Need custom software developed? I do C# development and consulting all over the United States. A man said to the universe: "Sir I exist!" "However," replied the universe, "The fact has not created in me A sense of obligation." --Stephen Crane
oh...were you joking? Frankly, after thirty years programming at various times in both C and Basic, I got so sick of the zero vs. one first-index debates that I'm worn out on the topic and tend simply to respond reflexively. Your question is simply another form of this argument. Turning your last statement back at you, on this particular topic I don't know why you bother, either.
-
oh...were you joking? Frankly, after thirty years programming at various times in both C and Basic, I got so sick of the zero vs. one first-index debates that I'm worn out on the topic and tend simply to respond reflexively. Your question is simply another form of this argument. Turning your last statement back at you, on this particular topic I don't know why you bother, either.
To define an algorithm that operates in a non-deterministic manner based on the language and/or libraries used is clearly flawed. (excepting algorithms whose purpose is to be non-deterministic) Using the index of an array to determine the cardinality of the members is ludicrous. In any event, if I asked an employee to highlight the first row of a document and he or she highlighted the second row and tried to argue any justification I would fire them on the spot.
Need custom software developed? I do C# development and consulting all over the United States. A man said to the universe: "Sir I exist!" "However," replied the universe, "The fact has not created in me A sense of obligation." --Stephen Crane
-
Rama Krishna Vavilala wrote:
Users don't think in terms of zero-th row
I have only begun reading "GUI Bloopers 2.0", but it's clear that 'Interfaces must be in the end-user's mental model' is a major obsession with the author. Personally I would not take it quite so far, if there are certain technical terms which are worth their weight, better to teach the terms than talk around them. Of course I agree, if the GUI labels the top row as 1, it must be odd. This could be an argument for relabeling the top-row as zero at the end-user-interface, end-users ought to be able to cope with that.
pg--az
I think you give end-users way too much credit! Having moved into programming from tech support, my experience is that many users are stumped by the power switch! Asking them to comprehend a zero-based array/list would be similar to asking a giraffe to design a particle accelerator!
-
To define an algorithm that operates in a non-deterministic manner based on the language and/or libraries used is clearly flawed. (excepting algorithms whose purpose is to be non-deterministic) Using the index of an array to determine the cardinality of the members is ludicrous. In any event, if I asked an employee to highlight the first row of a document and he or she highlighted the second row and tried to argue any justification I would fire them on the spot.
Need custom software developed? I do C# development and consulting all over the United States. A man said to the universe: "Sir I exist!" "However," replied the universe, "The fact has not created in me A sense of obligation." --Stephen Crane
Yes, but realistically, how are you going to get the opposing camps to agree? Besides, you CONTINUE to confuse "first" with "item with index of 1". "Odd" and "even" obviously refer to characteristics of the value of the index, not the value of the cardinality. Get used to it - every interface in .NET and Java use zero-based indices. As for your scenario, why are you insisting that programming interfaces follow the rules of conversational discourse?? That is truly absurd.
-
Yes, but realistically, how are you going to get the opposing camps to agree? Besides, you CONTINUE to confuse "first" with "item with index of 1". "Odd" and "even" obviously refer to characteristics of the value of the index, not the value of the cardinality. Get used to it - every interface in .NET and Java use zero-based indices. As for your scenario, why are you insisting that programming interfaces follow the rules of conversational discourse?? That is truly absurd.
Again, just not worth it.
Need custom software developed? I do C# development and consulting all over the United States. A man said to the universe: "Sir I exist!" "However," replied the universe, "The fact has not created in me A sense of obligation." --Stephen Crane
-
I think you give end-users way too much credit! Having moved into programming from tech support, my experience is that many users are stumped by the power switch! Asking them to comprehend a zero-based array/list would be similar to asking a giraffe to design a particle accelerator!
DragonsRightWing wrote:
Having moved into programming from tech support, my experience is that many users are stumped by the power switch! Asking them to comprehend a zero-based array/list would be similar to asking a giraffe to design a particle accelerator!
(a) Without doubt you've got a point there, and historically I have a tendency to make mistakes in that direction. I have great respect for anyone with tech-support background, it's really quite a difficult job. (b) I like Cooper's take on 'Idioms - the future of UI design', which is sprinkled throughout "About Face 2.0". He points out that bending-over-backwards to write software in terms of user's existing vocabulary is a mistake "General Magic" among others made, to their cost. TRUE Star Trek's Scotty might have tried to use a mouse as a microphone, but the real question is, does the benefit outweigh the cost. New idioms CAN be worth-it, and like Cooper says, our brains are wired to accomodate lots of idioms which even usually lack grand-unifying-principles - he cites examples from the English language. (c) on the one hand, on the other hand, on the "Gripping Hand"( Niven + Pournelle )... Jef Raskin's "The Humane Interface" so rightly obsesses on the disaster of INCONSISTENCY, when autopilot-style-habits have been formed. He chats about having crashed model-aircraft when a "modal" switch happened to be in the wrong position, vs his habits. This reinforces my initial opinion that because 1 and 3 are odd, well they just have to be - to begin the table at row-zero would maintain CONSISTENCY, while to call row#1 "even" makes my head hurt. (d) Summary - new Idioms ok, but inconsistency must be avoided.
pg--az
modified on Saturday, May 9, 2009 9:39 PM
-
Naruki wrote:
Wikipedia has a whole page devoted to the topic
"5/7/09, is one of only six this century that will feature three consecutive odd numbers." -- Math Buffs Awed By Odd Day curious synchronicity, it does not seem the original post was deliberately intended to intersect with this anomaly.
pg--az
Having grown up in the IBM assembler world I actually have trouble with 1 based indices. But if we take any number, say 25, and examine the set {1,25,625,390625} we know that member is the next power of 25 starting with, not 1, but 0. So I thing that says something for 0(zero) based indices.
John Nawrocki Chief Technical Advisor Custom Molded Products
-
DragonsRightWing wrote:
Having moved into programming from tech support, my experience is that many users are stumped by the power switch! Asking them to comprehend a zero-based array/list would be similar to asking a giraffe to design a particle accelerator!
(a) Without doubt you've got a point there, and historically I have a tendency to make mistakes in that direction. I have great respect for anyone with tech-support background, it's really quite a difficult job. (b) I like Cooper's take on 'Idioms - the future of UI design', which is sprinkled throughout "About Face 2.0". He points out that bending-over-backwards to write software in terms of user's existing vocabulary is a mistake "General Magic" among others made, to their cost. TRUE Star Trek's Scotty might have tried to use a mouse as a microphone, but the real question is, does the benefit outweigh the cost. New idioms CAN be worth-it, and like Cooper says, our brains are wired to accomodate lots of idioms which even usually lack grand-unifying-principles - he cites examples from the English language. (c) on the one hand, on the other hand, on the "Gripping Hand"( Niven + Pournelle )... Jef Raskin's "The Humane Interface" so rightly obsesses on the disaster of INCONSISTENCY, when autopilot-style-habits have been formed. He chats about having crashed model-aircraft when a "modal" switch happened to be in the wrong position, vs his habits. This reinforces my initial opinion that because 1 and 3 are odd, well they just have to be - to begin the table at row-zero would maintain CONSISTENCY, while to call row#1 "even" makes my head hurt. (d) Summary - new Idioms ok, but inconsistency must be avoided.
pg--az
modified on Saturday, May 9, 2009 9:39 PM
I'm a bit of an "odd duck" as programmers go - I'm quite gregarious, and highly service-oriented: not the stereotypical socially-inept geek! Of course, stereotypes (like rules?) are meant to be broken ... Thanks for the reminder of that ST4 scene! Always loved that one :-) Using the end-user's existing vocabulary should be a consideration, but certainly not the only one - in many cases, that will lead to ridiculously complex user processes just do perform some new function - I think you hit it on the head with the idea that inconsistency is what should be avoided - silly things like reversing the order of the OK and Cancel buttons on a dialog can be devastating! I once (back about '98 - '99) looked at a piece of software that did exactly that - the Cancel was on the left of the dialog, with the OK button just to it's right - needles to say, I did not buy that package! That kind of inconsistency flies in the face of years of habit, and will be a huge problem - and in the case of commercial software is likely to lead to dismal sales: for internal software the only slightly less damaging "resistance to use" is likely to result.
-
Having grown up in the IBM assembler world I actually have trouble with 1 based indices. But if we take any number, say 25, and examine the set {1,25,625,390625} we know that member is the next power of 25 starting with, not 1, but 0. So I thing that says something for 0(zero) based indices.
John Nawrocki Chief Technical Advisor Custom Molded Products
Welcome to CodeProject ... your "Having grown up" cued me to examine your profile, but, this is your very first message so no help there !
JohnNawrocki wrote:
power of 25 starting with, not 1, but 0. So I thing that says something for 0(zero) based indices.
For me "power" does not fall into the same mental bucket as "subscripting". I agree that since log( 0.1 * 10 ) = log( 0.1 ) + log( 10 ) = -1 + 1 = 0 therefore anything raised to the zero-power has to be 1. But still this is not the same as indexing, itsa different topic, at least the way it sorts out in my head.
pg--az
-
Welcome to CodeProject ... your "Having grown up" cued me to examine your profile, but, this is your very first message so no help there !
JohnNawrocki wrote:
power of 25 starting with, not 1, but 0. So I thing that says something for 0(zero) based indices.
For me "power" does not fall into the same mental bucket as "subscripting". I agree that since log( 0.1 * 10 ) = log( 0.1 ) + log( 10 ) = -1 + 1 = 0 therefore anything raised to the zero-power has to be 1. But still this is not the same as indexing, itsa different topic, at least the way it sorts out in my head.
pg--az
We just see indexing in different ways. You think about rows and columns. I think, about indexing thru an array. Before starting, I have gone no where in the array and therefore are at location zero. One thing I'll agree with, the fact that anything to the zero power equals one really has nothing to do with indexing; then there is 0 to the 0 power... Zero to any power is zero, yet anything to the zero power is one. A conundrum pondered by many.
John Nawrocki Chief Technical Advisor Custom Molded Products