comp.lang.ada
 help / color / mirror / Atom feed
From: gpriv@axonx.com
Subject: Re: Are there noticable differences in Ada acceptance by country?
Date: Thu, 20 Mar 2008 15:59:25 -0700 (PDT)
Date: 2008-03-20T15:59:25-07:00	[thread overview]
Message-ID: <9adb8bbd-5058-4406-b8b9-2ccfbc141264@u72g2000hsf.googlegroups.com> (raw)
In-Reply-To: m263vhca6p.fsf@mac.com

On Mar 20, 6:17 pm, Simon Wright <simon.j.wri...@mac.com> wrote:
> "Dmitry A. Kazakov" <mail...@dmitry-kazakov.de> writes:
>
>
>
> > On Thu, 20 Mar 2008 20:22:22 +0000, Simon Wright wrote:
>
> >> gp...@axonx.com writes:
>
> >>> I think strong typing should not be dismissed.  Unfortunately Java-
> >>> based (and C/C++/C#) courses don't explain to students that X and Y
> >>> coordinates being fundamentally integer (or float) types are not the
> >>> same thing.
>
> >> I always disliked an X binding which had (sub)types for X, Y
> >> coordinates. Wrong level of abstraction, I thought: use something like
>
> >>    type Position is record
> >>       X : Float;
> >>       Y : Float;
> >>    end record;
>
> >> and you get a _lot_ less scope for confusion.
>
> > If no rotations involved I would suggest:
>
> >    type Horizontal_Coordinate is new Float;
> >    type Vertical_Coordinate is new Float;
> >    type Position is record
> >        X : Horizontal_Coordinate;
> >        Y : Vertical_Coordinate;
> >    end record;
>
> > In some cases I would consider making absolute positions and relative
> > offsets different types, similar to Time and Duration.
>
> Well, to be fair, I suppose I would have used Metres (or Pixels)
> rather than plain Float.
>
>   subtype Metres is Float;
>
> But I don't see the real advantage in using different types for H_C
> and V_C. How ofen are users actually going to get this wrong?

From my own C experience: using code from different sources X and Y
coordinates in function calls were in different order: foo(x,y);
boo(height, width), etc. Easy to overlook.

George.

> There is
> some comment-like advantage to subtyping -- rather like AdaCore's
> library packages with eg
>
>   subtype Path_Name is String;
>
> but full typing is only going to clutter the place up with
> conversions. Or perhaps you lie to provide all the operations a person
> could need (acceleration x duration -> speed etc)?
>
> Why would things be different if there were rotations involved?




  reply	other threads:[~2008-03-20 22:59 UTC|newest]

Thread overview: 41+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-03-18 19:08 Are there noticable differences in Ada acceptance by country? Mike Silva
2008-03-18 20:41 ` Pascal Obry
2008-03-18 22:58   ` Phaedrus
2008-03-18 22:25     ` Mike Silva
2008-03-18 22:50 ` Ludovic Brenta
2008-03-19 11:42   ` Thomas
2008-03-19 12:09     ` Ludovic Brenta
2008-03-19 12:51       ` framefritti
2008-03-20  4:37         ` gpriv
2008-03-19 12:16     ` Ludovic Brenta
2008-03-19 19:04       ` Tero Koskinen
2008-03-20  8:57         ` Jean-Pierre Rosen
2008-03-25 18:02           ` Tero Koskinen
2008-03-25 19:57             ` Gautier
2008-03-19 19:55     ` svaa
2008-03-19 21:14       ` Phaedrus
2008-03-20  4:52         ` gpriv
2008-03-20 20:22           ` Simon Wright
2008-03-20 20:48             ` Dmitry A. Kazakov
2008-03-20 22:17               ` Simon Wright
2008-03-20 22:59                 ` gpriv [this message]
2008-03-21  1:54                   ` tmoran
2008-03-21  4:16                   ` Jeffrey R. Carter
2008-03-21 16:41                     ` Simon Wright
2008-03-21 19:15                     ` gpriv
2008-03-22 14:00                       ` Maciej Sobczak
2008-03-21 16:39                   ` Simon Wright
2008-03-21 19:21                     ` gpriv
2008-03-21 21:11                       ` Adam Beneschan
2008-03-22  7:02                         ` Simon Wright
2008-03-24 18:01                           ` gpriv
2008-03-21  7:52                 ` Dmitry A. Kazakov
2008-03-22 17:16                   ` Subtypes to represent coordinate charts Eric Hughes
2008-03-21 16:44                 ` Are there noticable differences in Ada acceptance by country? Simon Wright
2008-03-20 21:17             ` gpriv
2008-03-20  1:34       ` Ivan Levashew
2008-03-19  7:42 ` Thomas
2008-03-19 10:35   ` Peter C. Chapin
2008-03-19 21:21     ` Phaedrus
     [not found]       ` <13u3vq728nidu3b@corp.supernews.com>
2008-03-31  4:27         ` David Thompson
2008-03-31  5:40           ` DScott
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox