|
Nicholas Marty wrote: Intellisense is all the documentation that I need.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
|
"proper" and "annoying" respectively.
The only instant messaging I do involves my middle finger.
|
|
|
|
|
Like showing the ring finger instead of the middle finger
|
|
|
|
|
Annoingly Excel or .NET...
|
|
|
|
|
Ying and Yang
The signature is in building process.. Please wait...
|
|
|
|
|
Yin and Yang
|
|
|
|
|
|
The spelling is inbalanced? That seems fundamentally wrong..
|
|
|
|
|
It's an imperfect world, screws fall out all the time.
|
|
|
|
|
Maximilien wrote: "0-based array" and "1 based array"
That's about right.
Maximilien wrote: 1 (e.g. pascal)
Pascal allows you to specify the range. And with OOP you can define a class that implements arbitrary indexing, e.g. new MyArray ( -5 , 10 ) .
|
|
|
|
|
|
In a separate millenium I wrote a 1 based C++ string class - I think that was the best argument for zero based code I've ever seen.
|
|
|
|
|
'0' based one- Just called it Orray.
Starting to think people post kid pics in their profiles because that was the last time they were cute - Jeremy.
|
|
|
|
|
Maximilien wrote: Is there a technical term to say if an array starts at index 0 (e.g. C/C++) or 1 (e.g. pascal) ? The term is "array", and they start at index 0. There's a difference when talking about strings, not arrays.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
Standard & Mutant ? why was Pascal 1 based? anyone know if Delphi is has one based arrays as it might explain some error generated by a test application I have to use?
|
|
|
|
|
glennPattonWork wrote: why was Pascal 1 based? It's not, neither is Object-Pascal (Delphi). The type-definition of an array would contain the start-index and the end-index. One would use 0, obviously. Dynamic arrays start at 0.
Even BASIC[^] starts at 0.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
Let's call them Zeray and Oneray.
|
|
|
|
|
Yes, zero-based and one-based indexing are correct terms.
/ravi
|
|
|
|
|
Maximilien wrote: Is it simply "0-based array" and "1-based array" ? Yes.
Veni, vidi, vici.
|
|
|
|
|
(0) The one true path to direct epiphanic experience of ineffable ecstasy in emptiness.
(1) The Mother of All Lies, the Deceiver, the Abomination which is the Canker that rots the Soul from within.
bill
Google CEO, Erich Schmidt: "I keep asking for a product called Serendipity. This product would have access to everything ever written or recorded, know everything the user ever worked on and saved to his or her personal hard drive, and know a whole lot about the user's tastes, friends and predilections." 2004, USA Today interview
|
|
|
|
|
Scary stuff Bill
We can’t stop here, this is bat country - Hunter S Thompson RIP
|
|
|
|
|
Looks like you are on a journey of self discovery, lad!!!. Keep going and you will discover the mysterious world of Big Endian and Little Endian.
But Beware, Do not rest until you cross the Byte Boundary, Word Boundary and Double Word boundary.
Beyond that you will start to see some faint light from the tower 64.
------------------
- Wizard of O1
|
|
|
|
|
"0-based array" is called an "offset".
"1-based array" could be called "displayable index"
|
|
|
|
|
So you have never been programming Pascal.
As others have pointed out, in Pascal you set both the lower and upper index limits. (Furthermore, indexes may be any scalar type, such as an enumeration value. Enums are NOT names of integers in Pascal, but distinct value domains.)
You probably confused Pascal with Fortran, where array indexes start at 1.
I never understood this fascination for low-level programming in high-level languages! Say, if my table contains data for the years 1960 to 2020, why shouldn't I address (index) the elements with values from 1960 to 2020? Why would I want to define an index base as a separate constant and for every indexing operation subtract this base from the "real" selector value to get to the right index? Calculating addresses is the job of the compiler (and linker), isn't it? That's why we use a high level language compiler!
Having to subtract some base index value is like abandoning struct (/record) mechanisms and decalre the variable as a byte array, field names being offsets into the array. That gives you full control over packing and that kind of things, doesn't it? Great! Well, we do that in assembler, and it works. We can even do it in machine independent assembler, aka "C".
That's what we called C when it appeared, "machine independent assembler". I had my first university level programming education in Pascal, and we saw C as a great step backwards for modelling problem domain concepts. I still do.
Some languages, such as C#, allows you to define the semantics of the [] acessor for your own data types, so that the user of your class may index by values from 1960 to 2020. But you have to do a lot of programming to achieve this, and although I haven't checked, I am quite sure that the compiler isn't smart enough to reduce your accessor function to a simple subtraction of a base index value, the way the Pascal compiler could (not requiring any sort of programming from you). Technology isn't always moving in the forwards direction!
|
|
|
|