Mailing List Archive: 49091 messages
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

Correct Behaviour? R.I.P.

 [1/5] from: joel:neely:fedex at: 5-Jul-2001 17:20


Hi, again, Jeff, Jeff Kreis wrote:
> > NASA does, in fact, "count down" to zero. That's the point > > at which lauch occurs. > > They say "lift off" not zero, aye? > > "3 .. 2 .. 1 .. lift off!" >
Right. Because they're naming the interesting thing that happens *at* time t = 0 ...
> not > "3 .. 2.. 1... 0... lift off!" >
... because that would place the time of "lift off" *at* t = +1 (one second too late).
> Rock and Roll is definitely one base indexed. >
I find the present state of this thread highly ironic. I don't believe I've ever denied that there are some applications which are naturally and simply one-based (and if I have done so, or left that impression, I categorically retract and apologize). There certainly are. But there are *also* many (non-"system") situations for which zero is a natural basis. If a particular language does not support that capability, it makes writing programs for those situations more complicated (or at least, cluttered) than would be the case otherwise. I offered several examples of such cases without receiving any meaningful replise. I'm still interested in ideas anyone may have to offer regarding effective work- arounds in such situations. We should admit that "array" is a low-level concept. Higher- level data structures allow the programmer to connect "keys" (of any type) with their associated values (also of any type). The main reasons we programmers attach special significance to arrays are: 1) Historical -- low-level languages came first, before we knew how to do better, and 2) Performance -- a consecutive range of integers (regardless of base point) can be used to perform "direct access" to a specified region of memory, requiring less time than searching a collection of keys of arbitrary data type. Since the choice of base point is actually arbitrary, it seems fair to discuss: * the relative merits and pros/cons of the choice, * how to work around the constraints imposed by any particular choice, and * whether one alternative has more flexibility, and offers simpler expressions for a wide range of tasks, than some of the others. Other reasons to ask "Why...?" are: * there are sometimes reasons for design choices that are not obvious on the surface, and * sometimes understanding the reason for a design decision helps one use a feature more effectively. Learning a new skill means that one actually has to be willing to learn something one does not already know. This especially applies to programming, which requires a degree of precision not commonly required in other human activities. REBOL, like any other programming language, contains concepts and distinctions that are outside the everyday thought habits of John Q. Public. John Q. thinks that computers can do arithmetic. When he evaluates 5280 * 12 to tell his inquisitive daughter how many inches are in a mile, it obligingly tells him 63360 as an answer. But when he tries to evaluate the expression 186282 * 60 * 60 * 24 * 365 to tell the same child how many miles are in a light year, he gets ** Math Error: Math or number overflow ** Where: halt-view ** Near: 186282 * 60 * 60 Poor John Q. is forced to confront the difference between integers and floating-point numbers, which he probably never had to think about before. John Q. has been typing since high school, and thinks that an uppercase "A" is just an uppercase "A". Then he hits upon the fact that #"A" = "A" is false! Poor John Q. is forced to confront the difference between characters and strings, which he probably never had to think about before. And the list goes on and on and on ... Therefore, to dismiss a point of view out-of-hand on the grounds that it is different from the everyday experience of "the rest of the world" really begins to strain credibility. Jeff, I believe I've said many times that I have considerable respect for all of you at RT and for your accomplishments. Even though I may not understand all of the design decisions made in REBOL (or may disagree with some of the ones I understand ;-) I think it is a fine piece of work, and I hope to see it do well. But if this thread has gotten to the point where we're dealing in highly distorted exaggerations, put-down references to "academic correctness" or "those of the REDESIGN REBOL mindset", and appeals to rock and roll as replacements for sincere (and vigorous and humorous, too!) discussion of how to write better code in the real world, then I have to say that it's passed the point of diminishing returns for me. However, I'm still quite interested in your suggestions for how to accumulate and report character frequencies in a data file! Thanks for all the fish! -jn- -- ___________________________________________________________________ The purpose of computing is insight, not numbers! - R. W. Hamming joel'dot'neely'at'fedex'dot'com

 [2/5] from: petr:krenzelok:trz:cz at: 6-Jul-2001 1:54


Hi Jeff, strange I am replying to Joel's email and writing "Hi Jeff"? Correct - that's because I would like to know answer to below. I have really bad suspicious, that once ppl try to resolve some situation, RT is silent ... and silent ... and silent, and we can here some deep language design issues explanations only sporadically. We saw it already several times here - highly academic discussion of Joel, Ladislav, eariler Elan, and others, long messages, endless reasoning, while maybe one single/simple email of Carl or someone from RT would solve all of the mess here. It's our nature which leads us to temptation to find out how do things work under the hood and once ppl find some kind of inconsistence, they want to know if it is bug, intended behavior, but what we can see very often is - RT is silent or even doesn't reply to feedback issues (except letting bot to assign a feedback ticket number :-) ... I just hope you don't mind I dared to express what others probably think but are too polite to express here :-)
> John Q. thinks that computers can do arithmetic. When he > evaluates 5280 * 12 to tell his inquisitive daughter how
<<quoted lines omitted: 23>>
> REBOL (or may disagree with some of the ones I understand ;-) > I think it is a fine piece of work, and I hope to see it do well.
The same here. Telling something is wrong should not be regarded being an attack, as it is not :-) Cheers, -pekr-

 [3/5] from: jeff:rebol at: 5-Jul-2001 17:12


Howdy howdy, Joel:
> But if this thread has gotten to the point where we're > dealing in highly distorted exaggerations, put-down
<<quoted lines omitted: 4>>
> then I have to say that it's passed the point of > diminishing returns for me.
My exaggerations are never distorted. :-) And my bringing up Rock and Roll was not a replacement for vigorous and humourous discussion concerning the 0/1 question, but was, in fact, a completely sincere, vigorous, and humorous contribution to that discussion! Guess my sense of humor is 1 base indexed, or something. :-) Also, I didn't know we were talking about "writing better code". I was under the impression we were debating the relative merits of the design decision behind REBOL being one base indexed, as opposed to (what I think you're arguing) the more "superior" zero base indexing. What I've tried to do, other than provide amusement, is to present my understanding of the justification behind REBOL's one-base indexing -- that it has a lot to do with conceptual portability, but maybe I've been to round about in getting there? Supporting this, I've argued that zero-based indexing is less intuitive for most (but certainly not all) worldly applications. We can judge REBOL design based on pure mathematics, ease of use, aesthetics, conciseness, consistency, many different criteria. If the goal of REBOL was "academic correctness", then it may be appropriate to judge it based on correctness, the ease with which you can prove functions, etc. If the goal of REBOL is to help people work with direct memory and arrays, then many of these considerations wrt to zero based indexing might be more important. The "goals of REBOL" are hard to enumerate (at least I'm not especially good at it), but I can say that one-based indexing is as fundamental to the "goals of REBOL" as anything else, and it is from its goals that REBOL should be judged. Maybe the problem here is in the articulation of the "goals of REBOL". Don't know what to say-- that's how I view my contribution to our discussion. The discussion has been fun, and I hope it was useful for someone reading along, if it has not be for you, Mr. Joel. Cheers! -jeff

 [4/5] from: jeff:rebol at: 5-Jul-2001 17:29


Howdy, Petr:
> ... We saw it already several times here - highly academic > discussion of Joel, Ladislav, eariler Elan, and others, long > messages, endless reasoning, while maybe one single/simple > email of Carl or someone from RT would solve all of the mess > here.
My experience has been that it's not so easy to dip into some of the deeper academic discussions around here because you may be sucked into the thread for a loooong time and you will end up neglecting work and everyone will just be frustrated. I try to provide good answers when I can. I'm not always right. I try to avoid making things up, if I can help it. (-: I know the rest of the crew does the same and is often better with their accuracy than myself. Busyness is usually to blame for any lack of communication, and too much communication to blame for lack of busyness.. ;-) -jeff

 [5/5] from: petr::krenzelok::trz::cz at: 6-Jul-2001 2:53


> Howdy, Petr: > > ... We saw it already several times here - highly academic
<<quoted lines omitted: 12>>
> I know the rest of the crew does the same and is often > better with their accuracy than myself. Busyness is usually
replace find above-line "B" "y" "i" :-)
> to blame for any lack of communication, and too much > communication to blame for lack of busyness.. ;-)
maybe you should install bot to a) answer questions on ml b) code rebol products, allowing yoy a) ;-) Anyway, nearly 3 am here, time to go to bed :-) Cheers, -pekr-

Notes
  • Quoted lines have been omitted from some messages.
    View the message alone to see the lines that have been omitted