comp.lang.ada
 help / color / mirror / Atom feed
From: James Rogers <jimmaureenrogers@worldnet.att.net>
Subject: Re: newbie can't get exceptions to work!
Date: Tue, 10 Apr 2001 03:25:54 GMT
Date: 2001-04-10T03:25:54+00:00	[thread overview]
Message-ID: <3AD27DC6.76D6D565@worldnet.att.net> (raw)
In-Reply-To: 9atp4i$mnh$3@taliesin.netcom.net.uk



Ayende Rahien wrote:
> 
> That is a syntax problem, there are number of IDEs out there that would mark
> what { the } belongs too. If you are using VC, there are macros to do this.
> They are quite convient.

This is a particularly C way of expressing convenience. A syntax
problem is convenient because tools are available to deal with it.

I find it much more convenient to avoid the problem altogether.

> I find the operators clear, you just had to memorize a dozen or so, and that
> is it.
> I think it's just a matter of personal dislike for C's syntax. Personally, I
> would love to work with C style Ada.

I find the C syntax for dealing with pointers to be excessively
convenient, as defined above.

A pointer to an int is defined as:

int *iptr;

At the same time, the value pointed to by iptr is referenced as
*iptr. This is clearly convenient. 

Now let's discuss pointers and structs:

struct mystruct 
{
  int foo;
  float bar;
}

struct mystruct myinstance;
struct mystruct *myptr;

Now, let's have myptr reference myinstance:

myptr = &myinstance;

How do we now access the "foo" field in the struct?

Through the myinstance variable we use simple "." notation:

myinstance.foo

Through myptr we have two choices for syntax:

(*myptr).foo

myptr->foo

This is clearly a very convenient syntax. It gets even more
convenient when mixing pointers and arrays in C:

int a[10];
int *pa;

pa = &a[0];
*pa = 50;
*(++pa) = 51;
*(pa++) += 90;

Let's see how convenient this is:

First we assigned 50 to a[0], then we assigned 51 to a[1],
then we added 90 to a[1] and incremented pa.

Finally, let's look at the ultimate C convenience: pointers to
functions.

float f();  /* f is a function returning float. */
float *f(); /* f is a function returning a pointer to a float.*/
float (*f)(); /* f is a pointer to a function returning float. */
float *(*f)(); /* f is a pointer to a function returning a pointer 
                  to a float. */
float (*(*f)())(); /* f is a pointer to a function returning a
                      pointer to a function returning float */

Now, I must say I have never found this kind of convenience in Ada.

Jim Rogers
Colorado Springs, Colorado USA



  reply	other threads:[~2001-04-10  3:25 UTC|newest]

Thread overview: 88+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-04-05  3:19 newbie can't get exceptions to work! Jeff Shipman
2001-04-05  4:25 ` Ed Falis
2001-04-05 11:00   ` martin.m.dowie
2001-04-05 14:21     ` Ted Dennison
2001-04-05 17:50       ` Fraser Wilson
2001-04-05  4:34 ` Jeff Shipman
2001-04-05  4:59 ` Wilhelm Spickermann
2001-04-05 14:14   ` Ted Dennison
2001-04-05 16:37     ` Wilhelm Spickermann
2001-04-06 13:09     ` Marc A. Criley
2001-04-06 15:04       ` Ted Dennison
2001-04-06 16:43       ` Robert A Duff
2001-04-06 17:39         ` Ted Dennison
2001-04-06 21:50           ` Robert A Duff
2001-04-06 20:11         ` Brian Rogoff
2001-04-06 22:20           ` Robert A Duff
2001-04-06 23:04             ` Brian Rogoff
2001-04-07  5:48               ` Jeffrey Carter
2001-04-10  1:29                 ` Robert A Duff
2001-04-07 19:30               ` Robert A Duff
2001-04-07 21:17                 ` Brian Rogoff
2001-04-07 21:25                   ` Ayende Rahien
2001-04-07 22:57                     ` David Starner
2001-04-08 12:10                       ` Ayende Rahien
2001-04-08  2:12                     ` Larry Hazel
2001-04-08 12:12                       ` Ayende Rahien
2001-04-09 16:20                         ` Larry Hazel
2001-04-10  2:38                           ` Ayende Rahien
2001-04-10  3:25                             ` James Rogers [this message]
2001-04-08 22:18                       ` Brian Rogoff
2001-04-09 15:14                         ` Ted Dennison
2001-04-09 17:23                           ` Brian Rogoff
2001-04-09 18:23                             ` Laurent Guerby
2001-04-09 19:15                               ` Brian Rogoff
2001-04-10 18:21                                 ` Laurent Guerby
2001-04-10 19:44                                   ` Brian Rogoff
2001-04-11 18:03                                     ` Laurent Guerby
2001-04-11 18:33                                       ` Samuel T. Harris
2001-04-14  0:06                                         ` Robert A Duff
2001-04-12  1:42                                       ` Mike Silva
2001-04-12  2:38                                       ` Brian Rogoff
2001-04-12 23:23                                         ` Laurent Guerby
2001-04-13  2:44                                           ` Brian Rogoff
2001-04-11 13:24                                   ` Ayende Rahien
2001-04-11 13:14                                     ` Mats Karlssohn
2001-04-11 15:08                                       ` Ayende Rahien
2001-04-11 21:42                                       ` Fraser Wilson
2001-04-12 23:55                                         ` Robert A Duff
2001-04-10  2:12                               ` Robert A Duff
2001-04-10  3:47                                 ` Brian Rogoff
2001-04-10 13:40                                 ` Ada keywords (was: Re: newbie can't get exceptions to work!) Marin David Condic
2001-04-10 14:26                                   ` Jean-Pierre Rosen
2001-04-09 20:49                             ` newbie can't get exceptions to work! Ted Dennison
2001-04-09 21:44                               ` Brian Rogoff
2001-04-09 21:59                                 ` Ted Dennison
2001-04-10  2:54                                   ` Ayende Rahien
2001-04-10 14:00                                     ` Ted Dennison
2001-04-10 17:44                                     ` Fraser Wilson
2001-04-10  6:59                               ` Mats Karlssohn
2001-04-10 14:18                                 ` Ted Dennison
2001-04-10 16:27                                   ` Mark Biggar
2001-04-11 11:55                                     ` Mats Karlssohn
2001-04-11 14:34                                       ` Samuel T. Harris
2001-04-11 15:50                                         ` Pat Rogers
2001-04-12  6:27                                         ` Mats Karlssohn
2001-04-11 11:49                                   ` Mats Karlssohn
2001-04-11 15:38                                     ` Robert A Duff
2001-04-13 16:12                             ` Matthew Woodcraft
2001-04-10  1:41                   ` Robert A Duff
2001-04-10  3:03                     ` James Rogers
2001-04-10  3:58                       ` Brian Rogoff
2001-04-10 21:48                         ` Ted Dennison
2001-04-11 15:09                           ` Ayende Rahien
2001-04-11 21:57                             ` James Rogers
2001-04-11 23:13                               ` Brian Rogoff
2001-04-12  6:33                                 ` Mats Karlssohn
2001-04-12 16:38                                   ` Brian Rogoff
2001-04-17  7:04                                     ` Mats Karlssohn
2001-04-17  9:08                                       ` Jean-Pierre Rosen
2001-04-12 15:16                               ` Ted Dennison
2001-04-12 21:22                                 ` James Rogers
2001-04-10  4:26                     ` Brian Rogoff
2001-04-11 15:30                       ` Robert A Duff
2001-04-11 17:33                         ` Brian Rogoff
2001-04-10  1:26               ` Robert A Duff
2001-04-10  2:11                 ` Brian Rogoff
2001-04-14  0:00                   ` Robert A Duff
  -- strict thread matches above, loose matches on Subject: below --
2001-04-05  5:26 Christoph Grein
replies disabled

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