TEAM-ADA Archives

Team Ada: Ada Programming Language Advocacy

TEAM-ADA@LISTSERV.ACM.ORG

Options: Use Forum View

Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Subject:
From:
Greg Bek <[log in to unmask]>
Reply To:
Date:
Thu, 3 Aug 2000 14:35:43 -0700
Content-Type:
text/plain
Parts/Attachments:
text/plain (139 lines)
I'll just add my few cents.

Not being a native Windows programmer by any description,
I found I was able to use CLAW to build and get running a
GUI Windows application in a very short period of time.

I worked through the CLAW tutorial one evening and then
set to work on my application.

The builder creates well structured code that is very
easy to understand and modify.  The layout of the CLAW
bindings made it very easy to understand how the Windows
interfaces actually worked, as well as doing a great job
of teaching Ada 95 inheritance.

The CLAW bindings are written in Ada 95, allowing both the
bindings and the application to be debugged - a very useful
trait when you're trying to figure out exactly how Windows
returns the information from a File:Open dialog box, or
a multi-select list box.

-------------------------------------------
Greg Bek  mailto:[log in to unmask]
Product Manager
Rational Software, Cupertino CA 95014
-------------------------------------------

> -----Original Message-----
> From: Team Ada: Ada Advocacy Issues (83 & 95)
> [mailto:[log in to unmask]]On Behalf Of Randy Brukardt
> Sent: Thursday, August 03, 2000 10:07 AM
> To: [log in to unmask]
> Subject: Re: GUI Builders (was AONIX)
>
>
> > GUIs in Ada interests me a lot. I often seem to have the
> > choice of Java, Python, Ada, awk, etc. And I prefer Ada as a language.
> > But is there any reason to prefer it as a GUI builder?
>
> No. But there is no reason to prefer *any* of the above as a GUI builder.
> Any language can (and most do) have good GUI builders. So choose the
> language, without worrying about that. Choosing a solid language
> gives you a
> solid foundation to build on. You can build a pretty house on
> quicksand, but
> I doubt it will stay pretty for a long time.
>
> > How could I tell how easy it is to build GUIs?
>
> Unabashed ad: :-)
>
> Step 1: Go to www.rrsoftware.com and download the Claw demo
> builder and the
> Claw demo version for your compiler.
> Step 2: Install the demo builder and compile the bindings. (A bit clunkier
> than it would have to be, because we don't want to force people
> to download
> a 1 meg install program).
> Step 3: Work through the tutorial. Enjoy. :-)
>
> I expect that AONIX's Special Edition would be just as easy.
>
>
> > Or what other kinds of license I would have to buy to do the GUI? This
> > mail list often cited in the past that you had to buy Microsoft Visual
> > C++ or some such product in order to use the interface in one of the
> > common Ada compilers. So, without any further information, we simply
> > don't use that interface, possibly years after that problem may have
> > been solved.
>
> I can answer that for the 4 compilers I've used on Windows:
>
>   AONIX ObjectAda: Nothing else needed, everything you need to use Claw is
> included. (We haven't tried the new Special Edition yet; the old one
> couldn't compile Claw programs because of the limits on program size.)
>   Rational Apex: Nothing else needed.
>   GNAT 3.12 & 3.13: The resource compiler included doesn't work right;
> you'll have to get the Microsoft one. That's easily done by
> getting it from
> the AONIX ObjectAda Special Edition.
>   Janus/Ada: Yes, you need Visual C++. We couldn't afford the license
> Microsoft wanted years ago, and we never were even able to find the right
> person the last time we tried. We have a plan to build
> replacements for the
> tools needed, but not yet. Note that you need Visual C++ to compile *any*
> programs: it has nothing to do with the GUI.
>
> > Is the GUI license like the graphics package (that the company that
> > became Aonix sold me), that will not work unless I buy a license from
> > another graphics company, and even then I would have problems knowing
> > what features it would have?
>
> Claw at least is a stand-alone package, needing nothing but the
> Ada compiler
> (as noted above). I can't speak for other products, but I would be very
> surprised if the Open Source GUI stuff required any licenses.
>
> > As a project leader, it is not someone else, but me myself who is asking
> > the question: Okay, do it in Ada if you are sure it will work and will
> > not waste months learning how to build GUIs that way?
>
> I've got a bunch of Claw success stories that I intend to get
> posted on our
> web site as soon as our ISP lets us use it again (they are doing some sort
> of upgrade). And the Claw GUI builder is completely written in Ada using
> Claw. So it is obviously possible to do.
>
> > ...
> >
> > Is there perhaps a website that shows how to read the keyboard
> > interrupts and mouse interrupts in linux and windows?
>
> There is no access to keyboard interrupts in Windows (except in device
> drivers). You have the wrong model in mind. Perhaps you meant to
> ask how to
> get keyboard input from Windows? But that is the sort of thing that simply
> isn't on websites, and in any case is not language specific.
>
> I would expect that the situation in Linux is similar: certainly
> older Unix
> systems had poor keyboard access (because of their dumb terminal
> heritage).
>
> >...
> >
> > But I would need some help in getting the operating system independence
> > for such things as http drivers, mouse drivers, keyboard interrupts,
> > ODBC, and GUIs.
>
> I don't think you can get OS independence on those things (with
> the possible
> exception of the last one), not unless you write (or have someone write) a
> very thick binding. But that sort of design is *very* hard, and the only
> reward you'll get for it is a pat on the back.
>
>                 Randy Brukardt
>                 R.R. Software, Inc.
>

ATOM RSS1 RSS2