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?
next prev parent 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