+1 to calling the 0-based stuff *offset*

/Peter

On Mon, Sep 3, 2012 at 12:02 PM, Igor Stasenko <siguc...@gmail.com> wrote:

> ok. so i shall convert them all to 0-based.
> and then carefully look over the code and get rid of 1-based assumption.
>
> On 3 September 2012 11:58, Luc Fabresse <luc.fabre...@gmail.com> wrote:
> > Hi Igor,
> >
> >  I am also used to the 0-based when dealing with C-stuff.
> >
> > Cheers,
> >
> > #Luc
> >
> >
> >
> >
> > 2012/9/3 Marten Feldtmann <mar...@schrievkrom.de>
> >>
> >> Hello Igor,
> >>
> >> 0-based - because it's oriented towards C structures (and therefore
> memory
> >> oriented).
> >>
> >> Another way to see this is: it's not an index, its an byte-offset from
> the
> >> beginning of the memory. Therefore I would not name the parameter as
> >> something like index, but more like zeroBasedOffset. By the way:
> VASmalltalk
> >> does it the same way.
> >>
> >> The same problem might occur, when dealing with pointers to array of
> >> primitive data types in ByteArray or instances of NBExternalAddress.
> >>
> >> Even here I would suggest using zero based index structures - though it
> is
> >> contrary to Smalltalk typical 0ne-based array index. In VASmalltalk this
> >> situation is zero-based access and the parameter is not a byte index,
> but a
> >> data element index. And an index of "0" returns the start of the array
> (and
> >> the first element).
> >>
> >> Marten
> >>
> >> Am 03.09.2012 02:28, schrieb Igor Stasenko:
> >>
> >>> Hi, there
> >>>
> >>>
> >>> i added a bunch of accessors to ByteArray and NBExternalAddress which
> >>> having uniform look:
> >>>
> >>> nb<type>At:
> >>> nb<type>At: put:
> >>>
> >>> where types are:
> >>>
> >>> {U}Int<8/16/32/64>
> >>> or
> >>> Float<32/64>
> >>>
> >>> the problem is that indexes in ByteArray are 1-based,
> >>> but in NBExternalAddress is 0-based.
> >>>
> >>> And there's already different places in code which following these
> rules.
> >>> But i feel like this should be uniform (so same piece of code can be
> >>> used for either bytearrays or external addresses),
> >>> to avoid confusion and mistakes.
> >>>
> >>> i just not sure which one to leave: 1-based or 0-based ?
> >>>
> >>>  From one side, all collections in smalltalk is 1-based..
> >>> but from other side accessing memory at 1-based offset looks also
> >>> unnatural.
> >>>
> >>> What you think?
> >>>
> >
>
>
>
> --
> Best regards,
> Igor Stasenko.
>
>

Reply via email to