comp.lang.ada
 help / color / mirror / Atom feed
* About to give up...
@ 1998-08-06  0:00 i96danma
  1998-08-06  0:00 ` Robert Dewar
  1998-08-06  0:00 ` dennison
  0 siblings, 2 replies; 19+ messages in thread
From: i96danma @ 1998-08-06  0:00 UTC (permalink / raw)


Hi all!

I've been programming in Ada 95 for a while and like the language because of
it's strong type checking, OO-friendly style and clean and understandable
code.

Just recently I stepped into the world of Win32-programming and got hold of
the Win32Ada binding, which I after some effort and a lot of help (thanks
Jesper!) finally got working.

The first steps were no problem and I quickly got used to the API. The worst
problems though were the type conversions, where Ada's type checking suddenly
was an obstacle to overcome, and the fact that you always have to take care of
the return values, even if you don't care. And it seems as Win32 returns a lot
of values that are, most of the time, unimportant.

Then I wanted to go further and use the IShellFolder interface to access the
shell namespace. What do you know, the binding new nothing about that!
Besides, the binding is incomplete in a lot of other areas and I've had to
implement some functions myself.

Altogether I see these drawbacks as (almost) impossible to overcome and have
been thinking of starting to use C/C++ instead, after all it's the "native
language" of Win32. I'd like to stick to Ada, but...

I'd like some comments on the subject, is there anybody who is in the same
situation as myself, does anybody have an "easy" solution?

Regards,

Dan

-----== Posted via Deja News, The Leader in Internet Discussion ==-----
http://www.dejanews.com/rg_mkgrp.xp   Create Your Own Free Member Forum




^ permalink raw reply	[flat|nested] 19+ messages in thread
* Re: About to give up...
@ 1998-08-16  0:00 Robert Dewar
  0 siblings, 0 replies; 19+ messages in thread
From: Robert Dewar @ 1998-08-16  0:00 UTC (permalink / raw)


>You are right, the return codes are meant to be taken care of, but my
>point is while writing the program, I want things to get things going as
>quickly as possible. Then, when I'm satisfied with the structure, I
>complete it with error handling and taking care of return parameters. I
>am to impatient to take care of every possible event in the beginning of
>a project. I implement a feature; if it works, fine, if it doesn't I add
>error handling code and figure out what went wrong.

This is a reciple for unreliable code. You are depending on testing to 
verify that your code is free of defects, but unless you do extraordinarily
extensive test backed by a formal discipline (e.g. MCDC) testing is a
notoriously bad way of showing that your code is correct. The key to
high quality code is to learn how to write correct code in the first place.

Of course there are many environments in which code does not have to be
reliable (most of the Microsoft type applications envrionment is like
that -- it is not so terrible if your system bombs every now and then, just
irritating). 

But we are talking in the Ada world of a completely different environment
in which we are aiming at large complex highly reliable programs, and 
making it easier for an impatient programmer to throw things together
fast is NOT one of the design goals of Ada :-)





^ permalink raw reply	[flat|nested] 19+ messages in thread
* About to give up...
@ 1998-08-06  0:00 i96danma
  1998-08-06  0:00 ` Dale Stanbrough
  1998-08-06  0:00 ` Oliver.Kellogg
  0 siblings, 2 replies; 19+ messages in thread
From: i96danma @ 1998-08-06  0:00 UTC (permalink / raw)


Hi all!

I've been programming in Ada 95 for a while and like the language because of
it's strong type checking, OO-friendly style and clean and understandable
code.

Just recently I stepped into the world of Win32-programming and got hold of
the Win32Ada binding, which I after some effort and a lot of help (thanks
Jesper!) finally got working.

The first steps were no problem and I quickly got used to the API. The worst
problems though were the type conversions, where Ada's type checking suddenly
was an obstacle to overcome, and the fact that you always have to take care of
the return values, even if you don't care. And it seems as Win32 returns a lot
of values that are, most of the time, unimportant.

Then I wanted to go further and use the IShellFolder interface to access the
shell namespace. What do you know, the binding new nothing about that!
Besides, the binding is incomplete in a lot of other areas and I've had to
implement some functions myself.

Altogether I see these drawbacks as (almost) impossible to overcome and have
been thinking of starting to use C/C++ instead, after all it's the "native
language" of Win32. I'd like to stick to Ada, but...

I'd like some comments on the subject, is there anybody who is in the same
situation as myself, does anybody have an "easy" solution?

Regards,

Dan

-----== Posted via Deja News, The Leader in Internet Discussion ==-----
http://www.dejanews.com/rg_mkgrp.xp   Create Your Own Free Member Forum




^ permalink raw reply	[flat|nested] 19+ messages in thread

end of thread, other threads:[~1998-09-05  0:00 UTC | newest]

Thread overview: 19+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1998-08-06  0:00 About to give up i96danma
1998-08-06  0:00 ` Robert Dewar
1998-08-08  0:00   ` Dan Mattsson
1998-08-10  0:00     ` Robert Dewar
1998-08-06  0:00 ` dennison
1998-08-07  0:00   ` i96danma
1998-08-07  0:00     ` Robert Dewar
1998-08-08  0:00       ` Matthew Heaney
1998-08-08  0:00         ` Robert Dewar
1998-08-08  0:00           ` Matthew Heaney
1998-08-08  0:00       ` Dan Mattsson
1998-09-05  0:00         ` Tom Moran
  -- strict thread matches above, loose matches on Subject: below --
1998-08-16  0:00 Robert Dewar
1998-08-06  0:00 i96danma
1998-08-06  0:00 ` Dale Stanbrough
1998-08-06  0:00   ` Peter Amey
1998-08-06  0:00     ` Tom Moran
1998-08-06  0:00 ` Oliver.Kellogg
1998-08-07  0:00   ` Tarjei Tj�stheim Jensen

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