comp.lang.ada
 help / color / mirror / Atom feed
* Feasibility of using Ada in new development
@ 2004-08-23 18:27 Robert Law
  2004-08-23 19:05 ` Martin Dowie
                   ` (7 more replies)
  0 siblings, 8 replies; 103+ messages in thread
From: Robert Law @ 2004-08-23 18:27 UTC (permalink / raw)


I would like to start by saying my message is not an attempt to start
a flame war or anything like that.

I've been programming for years using everything from COBOL, RPG, C,
Java, PHP, etc.  I've written a number of business applications,
usually accounting ones.  (That's the advantage of having more than
twenty years of experience.)  I'm at the point in my life where I want
to pursue a dream I've had for years of having my own software
development company, basically a VAR or ISV.

I want to use a language that meets the following criteria:

1. It must be reliable.
2. It must be supported.
3. It must be usuable to develop applications in a graphical
environment.  Basically Motif, GTK, or KDE.
4. It must be usuable to develop programs used via a browser. 
5. It must be able to interface with relational databases either
through a standard interface or ODBC.
6. It would be nice if it was somewhat object oriented.  I'm not an
object oriented purist, but it does have some nice features.  I
especially like its automatic garbage collection of no lonter used
variable.

I don't care much whether or not there are millions of programmers
that know how to use it.  Any programmer worth their salt would be
willing to learn and become proficient in a new language.

I do want it to be a language that is efficient yet doesn't give you a
rope with a noose or a loaded, cocked, gun when you use it.

You can see that I'm leary of C and C++.  I have used them, and
continue to use them, but I'm not at all sure that I want to use them
to develop business applicatons.  I'm tired of reading about buffer
overflows.

I have played around somewhat with Ada but by no means am I an expert.
 I'm concerned that Ada may be starting to fade into obscurity.  If I
get my company going (I know its a BIG if), I want to use the language
for years and not chase after every silver bullet that comes along.

I'm interested in your comments and ideas, especially about Ada being
able to meet my requirements.

Thanks,
Robert Law



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

* Re: Feasibility of using Ada in new development
  2004-08-23 18:27 Feasibility of using Ada in new development Robert Law
@ 2004-08-23 19:05 ` Martin Dowie
  2004-08-23 19:09 ` Jeffrey Carter
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 103+ messages in thread
From: Martin Dowie @ 2004-08-23 19:05 UTC (permalink / raw)


"Robert Law" <blaw@mkisserve.com> wrote in message
news:8429999a.0408231027.2850e800@posting.google.com...
> I've been programming for years using everything from COBOL, RPG, C,
> Java, PHP, etc.  I've written a number of business applications,
> usually accounting ones.  (That's the advantage of having more than
> twenty years of experience.)  I'm at the point in my life where I want
> to pursue a dream I've had for years of having my own software
> development company, basically a VAR or ISV.
>
> I want to use a language that meets the following criteria:
>
> 1. It must be reliable.

That could mean a number of things: Ada promotes reliablity by catching many
errors at compile time that otherwise lead to runtime errors in other
languages. It also emphises readibility over ease of writing.


> 2. It must be supported.

For a list of Ada compiler vendors see

http://www.adaic.org/compilers/comp-tool.html

This is a very good source of info on Ada, so don't stop at that page!

Typical (large) Ada projects have expected lifetimes of 20+ years.


> 3. It must be usuable to develop applications in a graphical
> environment.  Basically Motif, GTK, or KDE.

See http://libre.act-europe.fr/GtkAda/


> 4. It must be usuable to develop programs used via a browser.

See http://libre.act-europe.fr/aws/


> 5. It must be able to interface with relational databases either
> through a standard interface or ODBC.

See http://gnade.sourceforge.net/


> 6. It would be nice if it was somewhat object oriented.  I'm not an
> object oriented purist, but it does have some nice features.  I
> especially like its automatic garbage collection of no lonter used
> variable.

Ada was the first ISO O-O language


Other links that might help are:

www.adaworld.com
www.adapower.com

Cheers

-- Martin






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

* Re: Feasibility of using Ada in new development
  2004-08-23 18:27 Feasibility of using Ada in new development Robert Law
  2004-08-23 19:05 ` Martin Dowie
@ 2004-08-23 19:09 ` Jeffrey Carter
  2004-08-24  0:06 ` Florian Weimer
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 103+ messages in thread
From: Jeffrey Carter @ 2004-08-23 19:09 UTC (permalink / raw)


Robert Law wrote:
> I would like to start by saying my message is not an attempt to start
> a flame war or anything like that.

That generally doesn't prevent a message from doing so :)

> I want to use a language that meets the following criteria:
> 
> 1. It must be reliable.

Ada is the language of choice for safety-critical systems. All modern 
airliners have Ada avionics SW. Air traffic control systems around the 
world, including the US, are in Ada. Passenger train control systems, 
including the New York City subway, are in Ada. The list goes on ...

> 2. It must be supported.

Ada is supported. The vendors report growth in demand for Ada. If all 
else fails, GNAT is open source, so you can support it yourself.

> 3. It must be usuable to develop applications in a graphical
> environment.  Basically Motif, GTK, or KDE.

GtkAda is a nice, portable, cross-platform GUI for Ada.

> 4. It must be usuable to develop programs used via a browser. 

See AWS.

> 5. It must be able to interface with relational databases either
> through a standard interface or ODBC.

See GNADE.

> 6. It would be nice if it was somewhat object oriented.  I'm not an
> object oriented purist, but it does have some nice features.  I
> especially like its automatic garbage collection of no lonter used
> variable.

Ada was the first internationally standardized object-oriented language. 
Unlike many OOPLs, OOP in Ada doesn't require pointers.

The language specification doesn't mandate garbage collection. It 
doesn't prohibit GC, either, but no vendors provide versions with GC. 
This is due to a number of things, such as Ada's use in embedded 
systems, where general GC is unacceptable, but a major factor is that 
manual heap allocation and deallocation are rarely needed in Ada unless 
you're building dynamic data structures. In such cases, encapsulation 
combined with finalization allow for local garbage collection that is 
easily implemented and automatic once created. This targetted GC is 
often more attractive than having a garbage collector running 
periodically, looking at things that can't be or don't need to be collected.

Since you seem to be interested in business software, Ada provides 
decimal fixed-point types that allow exact calculations on large 
monetary values, with output formatting similar to COBOL's.

> I do want it to be a language that is efficient yet doesn't give you a
> rope with a noose or a loaded, cocked, gun when you use it.

In Ada, safety is the default, but unsafe alternatives can be invoked 
when required and the developer is sure won't cause problems. Ada is 
generally more effective than, say, C, if the C developer manually 
includes all the checks that Ada performs automatically, since the 
compiler can optimize away checks that it can determine will never fail, 
but a C compiler cannot do the same for manual checks. If you leave the 
checks out of C, and turn them off in Ada, the results are usually 
equivalent.

Of course, a program with a GUI will spend most of its time doing I/O, 
and the difference between doing the checks and not doing them will not 
be of concern. In 20 years of using Ada, I have yet to see a case where 
turning off checks was required to meet timing requirements. It's rare 
for checks to amount for as much as 10% of the execution time.

There is also SPARK, an annotated subset of Ada and a set of tools. The 
tools prove that the code will never raise an exception; the checks can 
then safely be turned off.

-- 
Jeff Carter
"When Roman engineers built a bridge, they had to stand under it
while the first legion marched across. If programmers today
worked under similar ground rules, they might well find
themselves getting much more interested in Ada!"
Robert Dewar
62




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

* Re: Feasibility of using Ada in new development
  2004-08-23 18:27 Feasibility of using Ada in new development Robert Law
  2004-08-23 19:05 ` Martin Dowie
  2004-08-23 19:09 ` Jeffrey Carter
@ 2004-08-24  0:06 ` Florian Weimer
  2004-08-24  1:31 ` Stephen Leake
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 103+ messages in thread
From: Florian Weimer @ 2004-08-24  0:06 UTC (permalink / raw)


* Robert Law:

> I would like to start by saying my message is not an attempt to start
> a flame war or anything like that.

At least when I was still reading every message, comp.lang.ada is
unusually civil and not too snobby (unlike some other groups in the
comp.lang.* hierarchy).

> I've been programming for years using everything from COBOL, RPG, C,
> Java, PHP, etc.  I've written a number of business applications,
> usually accounting ones.  (That's the advantage of having more than
> twenty years of experience.)  I'm at the point in my life where I want
> to pursue a dream I've had for years of having my own software
> development company, basically a VAR or ISV.

I have to admit that I have much less experience, and I've never been
a full-time programmer/designer/software engineer, and I still
consider myself an ambitious amateur.

> I want to use a language that meets the following criteria:
>
> 1. It must be reliable.

Reliable in what sense?  There are several things that can make a
language unreliable:

  - The language has lots of unsafe features that are very closely
    related to common operations (think of C pointer arithmetic and
    string processing).

  - The language changes a lot, sometimes in incompatible ways.  There
    are several popular examples, but you won't name any.

  - The standard run-time support library (if it can be separate from
    the library) can have similar problems.

  - There are no high-quality implementations available.

  - The language actively encourages bad style and is bad at dealing
    with program complexity.  Large programs tend to fail apart.

  - It's impossible to get formal certification for software
    implemented in it, for whatever reason.

  - The language deeply affects programmers and their ability to
    interact with other programmers (particularly those using
    different languages) and non-programmers

I don't think Ada has any of these flaws, and GNAT is stable at the
source code level (the ABI is still a bit in flux).

> 2. It must be supported.
> 3. It must be usuable to develop applications in a graphical
> environment.  Basically Motif, GTK, or KDE.

I can't really comment on these two.  GNAT is supported, obviously,
but the support offerings are mainly useful to larger companies with
an Ada development team.

My personal rule, after some experimentation, is that there must be a
GCC front end maintained in the official GCC repository.  Anything
else is just too painful.

It's possible to write Gtk applications using GNAT, but I generally
view GUI work as painful and haven't found very early versions of
GtkAda the definite improvement.

> 4. It must be usuable to develop programs used via a browser. 

Certainly possible, via the CGI interface.  There's also a complete
Ada web server that you can embed into your application, but I haven't
used it.

> 5. It must be able to interface with relational databases either
> through a standard interface or ODBC.

I've done some work using GNAT and PostgreSQL.  The nice thing about
Ada is that you can define a new string type for SQL statements.  This
way, you can discourage manual construction of SQL statements, which
should prevent SQL injection attacks.

(You'd need a static code checker, implemented using ASIS, to make
this really foolproof, though.  ASIS is a standardized interface to
compiler representations of Ada programs.)

> 6. It would be nice if it was somewhat object oriented.  I'm not an
> object oriented purist, but it does have some nice features.  I
> especially like its automatic garbage collection of no lonter used
> variable.

Unfortunately, garbage collection is a bit of a stepchild in the Ada
camp.  Ada, as a language, is quite good at supporting garbage
collection, especially if you don't use machine addresses directly and
avoid certain language features which require that objects are
destroyed at certain point, potentially much later than the last
reference to the object vanished.

There are some kludges to use the Boehm-Demers-Weiser conservative
collector, but I've got a hunch that there are many unresolved issues
(with tasking, for example, or with objects that are always reachable
during the program's lifetime because GNAT explicitly adds pointers to
be able to finalize them at program termination).

Furthermore, this collector discards (almost) all type information, so
it's far more inefficient than it needs to me.  OTOH, it's doubtful
that you can beat it with a custom-written collector which hasn't been
fine-tuned over the years. 8-)

From a reliability perspective, even somewhat inefficient garbage
collection is hard to dismiss (of course, only if you aren't doing
real-time work).  But nevertheless, there isn't any demand for garbage
collection from commercial Ada users (at least that's what the
compiler vendors say, and they should know).

> I do want it to be a language that is efficient yet doesn't give you a
> rope with a noose or a loaded, cocked, gun when you use it.
>
> You can see that I'm leary of C and C++.  I have used them, and
> continue to use them, but I'm not at all sure that I want to use them
> to develop business applicatons.  I'm tired of reading about buffer
> overflows.

During the past 12 months, I've written about 15,000 lines of C++ code
(as I said above, I'm not a full-time programmer), and now I regret
bitterly that I haven't written them in Ada.  The risk of buffer
overflow bugs is quite real, and although I tried to isolate all the
risky marshaling operations, I wasn't completely successful at that.
The marshaling library (actually, there are two of them, one design is
somewhat flawed) also contained one or two bugs which prevented it
from getting the compile-time overflow/underflow checking right.

It was fun to write the programs, but it gives me an uneasy feeling,
partly because the code is not really maintainable (I'm not sure how
many C++ programmers deal with that level of template meta-programming
on a daily basis), but mostly because it's so hard to tell if it's
really safe to use it in a hostile Internet environment.

After that experience, I'm looking at other options besides C++.  The
"scripting languages" are out of the game because some of the
applications involve IP packet processing in (soft) real time.  They
also perform quite a bit of bit fiddling, which results in an
unusually large performance hit when switching to scripting languages.
I benchmarked partial implementations and the results weren't too
encouraging.

Then there's Lisp.  I actually wrote something non-trivial that did
work, but I found support from the free implementations for
programming in the large rather weak, even with my limited code base.
You can probably cope with that when you are guided by an experienced
Lisp programmer, but I'm not that lucky.  Furthermore, decent
performance at bit fiddling means that you have sacrifice run-time
checks, which means that your code isn't that much safer than C++
code. (I like Emacs Lisp a lot, though, and it's really good as a
rapid prototyping environment.)

And Java.  Well, the GNU Java implementation always seems to be one
"year" behind (or whatever you want to call Sun's Java technology
cycle), because the language and in particular the run-time
environment keep changing.  In my experiments, I quickly ran into
compiler and run-time library misfeatures.  This is a bit
disappointing because I don't want to bet the future of my source code
on Sun's generosity.  Writing Java programs turned into an exercise in
twos complement arithmetic.  I really doubt that the resulting code is
maintainable.  However, there are some very nice development tools for
Java, and there is a rich selection of rather well-documented
libraries.

C# is too young to be sure.  There doesn't seem to be a traditional
development environment with native code generation, and the Mono
project doesn't aim for it.  At least C# has unsigned types.
Programming in it probably doesn't give you the feeling that you
should rather use the language to control washing machines, or
describe business logic at a suitable level.

As a result, I'm back to Ada.  I've written some Ada code before,
so what drove me away from Ada?  I think the main points were:

  - It's hard to find industrial-strength libraries for basic building
    blocks.

  - There are bindings to many C libraries, but the quality of the
    bindings varies a lot.  Many important libraries still lack
    bindings, too.

  - There's the reimplementation trap.  Something isn't right unless
    it's implemented in Ada, so you end up reimplementing C libraries
    which are actually quite usable as is (through a binding).

  - Writing Ada code is often a mechanical task, at least compared to
    C++ (template meta-programming! yay!).  This is especially true if
    you have to create a lot of bindings.

  - There's no garbage collection support.  With my programming style,
    I can't avoid the dangerously-looking UNCHECKED_DEALLOCATION.

  - There is no de-facto standard for a container library.  Thanks to
    Ada's built-in array type, things aren't completely hopeless, and
    there is usually some compatibility between different libraries.
    However, a standard container library is in development, it looks
    promising.

  - Perceived productivity is much, much lower.  I should have done
    actual measurements which include debugging time (I chased few
    very nasty bugs in C++ code, some of the directly related to C++'s
    shortcomings), but without that, there's just the subjective
    feeling that I was more creative when I wrote C++ code.

I hope that I've learned something in the meantime and that I'm old
enough avoid most of these mistakes by now.

Hmm, my message paints Ada as the best possible choice, more or less
-- all others are either impossible like Java or just worse.  But this
is only part of the truth.  For someone like me who doesn't implement
GUIs at all, the GNAT environment with its Emacs support easily beats
anything that is available for other programming languages on the GNU
platform (Eclipse being the only possible exception, but it's still
tied to some extent to Sun's proprietary Java implementation, so it
doesn't count fully).  I don't know of any other development
environment that offers precise and complete cross-reference
information from within the editor, even for homographs.  Once set up
correctly, it's easy to jump to definitions, find all references to a
specific record field (and there are no false hits of subprograms that
have the same name).  GNAT's error messages that occur in practice are
very easily understood (with a few exceptions, but you can use Google
for them).  When written in the GNAT/Ada Reference Manual style, Ada
programs look very clean, and they don't leave a bad taste in my mouth
(admittedly, some of my C++ code does, unfortunately).

Hopefully, the experience that C++ does offer shortcuts, but that
these shortcuts come at a price, was just what I needed. 8-)

> I have played around somewhat with Ada but by no means am I an expert.
>  I'm concerned that Ada may be starting to fade into obscurity.  If I
> get my company going (I know its a BIG if), I want to use the language
> for years and not chase after every silver bullet that comes along.

Ada has already faded into obscurity, so it can't get much worse.
Most companies also offering Ada development technology already have
other priorities, except AdaCore of course.

I strongly believe that GNAT will be around for the next decades, like
other GCC technology.  Quite a few large companies have significant
interest in a maintained GNAT version.

The only thing that might happen is that Ada is adopted in the free
software community on a larger scale, but that's not very likely.  But
even the current, small community manages to continuously grow the
pool of freely available high-quality Ada libraries, so this shouldn't
bother you.  (Bit rot of Ada libraries that do not interface directly
with operating systems is rather low anyway, much lower than C++ at
least.)

I'm not sure if my post was helpful to you.  I have to admit I wrote
it mainly for myself, so that I might have a look at it in a year or
two and see if my expectations were met. 8-)



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

* Re: Feasibility of using Ada in new development
  2004-08-23 18:27 Feasibility of using Ada in new development Robert Law
                   ` (2 preceding siblings ...)
  2004-08-24  0:06 ` Florian Weimer
@ 2004-08-24  1:31 ` Stephen Leake
  2004-08-24  3:59 ` Adrian Hoe
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 103+ messages in thread
From: Stephen Leake @ 2004-08-24  1:31 UTC (permalink / raw)
  To: comp.lang.ada

blaw@mkisserve.com (Robert Law) writes:

> I would like to start by saying my message is not an attempt to start
> a flame war or anything like that.

Ok, good :).

> I've been programming for years using everything from COBOL, RPG, C,
> Java, PHP, etc. I've written a number of business applications,
> usually accounting ones. (That's the advantage of having more than
> twenty years of experience.) 

I don't follow, but ok.

> I'm at the point in my life where I want to pursue a dream I've had
> for years of having my own software development company, basically a
> VAR or ISV.

Cool.

> I want to use a language that meets the following criteria:
> 
> 1. It must be reliable.

Hmm. Usually it's the compiler and run-time that need to be reliable.
Perhaps you mean "the language makes it easy to write reliable
applications"?

> 2. It must be supported.

Again, it's the tools that must be supported.

> 3. It must be usuable to develop applications in a graphical
> environment.  Basically Motif, GTK, or KDE.

The development environment is graphical, or the target application? I
guess you mean the target application. I notice you don't mention MS
Windows; is that _not_ a possible target?

> 4. It must be usuable to develop programs used via a browser. 

I'll assume you mean an HTML or "web" browser. The Windows or KDE file
window is a "file browser".
 
> 5. It must be able to interface with relational databases either
> through a standard interface or ODBC.

Hmm. ODBC _is_ a "standard" interface. I think you meant "native
interface or ODBC".

> 6. It would be nice if it was somewhat object oriented. I'm not an
> object oriented purist, but it does have some nice features. I
> especially like its automatic garbage collection of no lonter used
> variable.

"no longer used variable" or "no longer used object that was
explicitly allocated on the heap"? Those are two very different
things.

> I don't care much whether or not there are millions of programmers
> that know how to use it.  Any programmer worth their salt would be
> willing to learn and become proficient in a new language.

Right.

> I do want it to be a language that is efficient yet doesn't give you
> a rope with a noose or a loaded, cocked, gun when you use it.

Perhaps you mean "the language makes it easy to write code that is CPU
time-efficient (or maybe code space or data space efficient), while
still catching common errors".

> You can see that I'm leary of C and C++. I have used them, and
> continue to use them, but I'm not at all sure that I want to use
> them to develop business applicatons. I'm tired of reading about
> buffer overflows.

Right.

> I have played around somewhat with Ada but by no means am I an
> expert. I'm concerned that Ada may be starting to fade into
> obscurity. 

Why is that a problem? You said you don't mind if there are not
millions of other programmers. Perhaps you are worried about support
for tools disappearing?

> If I get my company going (I know its a BIG if), I want to use the
> language for years and not chase after every silver bullet that
> comes along.

Right.

> I'm interested in your comments and ideas, especially about Ada being
> able to meet my requirements.

Ada can meet all of these requirements. Contact Ada Core technologies,
or any other vendor, and ask for a support quote, and a sales pitch on
why they'll still be around in 10 years. See www.adaic.com for a list
of vendors, and other useful stuff about Ada.

Writing GUI and Web applications in Ada is certainly doable, but will
_not_ be as easy as in a .NET or Java language, because of the
available libraries of components in those languages. But if you
value reliability over time-to-market, and don't mind writing such
components from scratch, Ada is a good choice.

Ada does not have "automatic garbage collection", but it is often not
necessary to use heap objects, and it is easy to write a controlled
container that does the garbage collection correctly and efficiently.
Such containers are also available, either in Open Source or for
purchase.

-- 
-- Stephe




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

* Re: Feasibility of using Ada in new development
  2004-08-23 18:27 Feasibility of using Ada in new development Robert Law
                   ` (3 preceding siblings ...)
  2004-08-24  1:31 ` Stephen Leake
@ 2004-08-24  3:59 ` Adrian Hoe
  2004-08-24  4:13 ` Steve
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 103+ messages in thread
From: Adrian Hoe @ 2004-08-24  3:59 UTC (permalink / raw)


Robert Law wrote:
> I would like to start by saying my message is not an attempt to start
> a flame war or anything like that.
> 
> I've been programming for years using everything from COBOL, RPG, C,
> Java, PHP, etc.  I've written a number of business applications,
> usually accounting ones.  (That's the advantage of having more than
> twenty years of experience.)  I'm at the point in my life where I want
> to pursue a dream I've had for years of having my own software
> development company, basically a VAR or ISV.
> 
> I want to use a language that meets the following criteria:
> 
> 1. It must be reliable.
> 2. It must be supported.
> 3. It must be usuable to develop applications in a graphical
> environment.  Basically Motif, GTK, or KDE.
> 4. It must be usuable to develop programs used via a browser. 
> 5. It must be able to interface with relational databases either
> through a standard interface or ODBC.
> 6. It would be nice if it was somewhat object oriented.  I'm not an
> object oriented purist, but it does have some nice features.  I
> especially like its automatic garbage collection of no lonter used
> variable.
> 
> I don't care much whether or not there are millions of programmers
> that know how to use it.  Any programmer worth their salt would be
> willing to learn and become proficient in a new language.
> 
> I do want it to be a language that is efficient yet doesn't give you a
> rope with a noose or a loaded, cocked, gun when you use it.
> 
> You can see that I'm leary of C and C++.  I have used them, and
> continue to use them, but I'm not at all sure that I want to use them
> to develop business applicatons.  I'm tired of reading about buffer
> overflows.
> 
> I have played around somewhat with Ada but by no means am I an expert.
>  I'm concerned that Ada may be starting to fade into obscurity.  If I
> get my company going (I know its a BIG if), I want to use the language
> for years and not chase after every silver bullet that comes along.
> 
> I'm interested in your comments and ideas, especially about Ada being
> able to meet my requirements.
> 
> Thanks,
> Robert Law



Hi Robert,

I got extremely excited when I read about your post. I think my 
experience with my company (I run my own companies) is very well suited 
in your case. What I can say in simple words is that your company is 
almost doing the same thing my company did almost ten years ago.

My company used many different computer languages ten years ago. Ranging 
from Clipper and Paradox to C/C++, Pascal, Fortran, COBOL and Delphi. We 
had problems to not only maintaining the software but with ourselves. 
Some of our staff came and left because of tedious and heavy workload. 
They must switch from one programming language to another when they 
maintained the software developed in many different languages.

Besides that, none of the languages used could satisfy our requirement. 
I proposed to switch to Ada. Today, we have only one single standard, 
and one single language. Sometimes, although we still use little bit of 
Perl, PHP and C, they are only a tiny fraction of entire picture. Less 
than 1% I can say.

My team has done a study based on our MRP/ERP software for furniture 
industries company in Malaysia. You can refer to my paper: "Software 
Development Re engineering" at my website: a d r i a n h o e . c o m. 
(Please remove the white spaces in the url)

I am not sure about point (4)  It must be usable to develop programs 
used via a browser. But I think someone is doing this and you can take a 
look at Ada Web Server (AWS) project.

For the rest of your points, my paper already explains in details.

I would say: "Go for Ada. You will not regret after another ten years."

If you need to discuss in length, you know where to get me. :)

Best regards,
-- 
Adrian Hoe (trying to infect another guy with Ada :))
m a i l b o x AT a d r i a n h o e . c o m




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

* Re: Feasibility of using Ada in new development
  2004-08-23 18:27 Feasibility of using Ada in new development Robert Law
                   ` (4 preceding siblings ...)
  2004-08-24  3:59 ` Adrian Hoe
@ 2004-08-24  4:13 ` Steve
  2004-08-24 11:09   ` Phong Ho
  2004-08-24 23:01 ` Luke A. Guest
  2004-08-31  6:22 ` Wojtek Narczynski
  7 siblings, 1 reply; 103+ messages in thread
From: Steve @ 2004-08-24  4:13 UTC (permalink / raw)


I believe you will find that you can meet all of your requirements with Ada.

You will most likely find that you will need to interface to other languages
to make use of external libraries.  In my experience if you ask a library
vendor about "Ada" support, they will say no.  But if you use the C
interface and set up your own bindings, everything works fine.  The time
spent in developing bindings is more than compensated by reduction of
defects.

If you are really looking at merit and not just a popularity contest, I
think you'll find that Ada wins every time.

Steve
(The Duck)

"Robert Law" <blaw@mkisserve.com> wrote in message
news:8429999a.0408231027.2850e800@posting.google.com...
> I would like to start by saying my message is not an attempt to start
> a flame war or anything like that.
>
> I've been programming for years using everything from COBOL, RPG, C,
> Java, PHP, etc.  I've written a number of business applications,
> usually accounting ones.  (That's the advantage of having more than
> twenty years of experience.)  I'm at the point in my life where I want
> to pursue a dream I've had for years of having my own software
> development company, basically a VAR or ISV.
>
> I want to use a language that meets the following criteria:
>
> 1. It must be reliable.
> 2. It must be supported.
> 3. It must be usuable to develop applications in a graphical
> environment.  Basically Motif, GTK, or KDE.
> 4. It must be usuable to develop programs used via a browser.
> 5. It must be able to interface with relational databases either
> through a standard interface or ODBC.
> 6. It would be nice if it was somewhat object oriented.  I'm not an
> object oriented purist, but it does have some nice features.  I
> especially like its automatic garbage collection of no lonter used
> variable.
>
> I don't care much whether or not there are millions of programmers
> that know how to use it.  Any programmer worth their salt would be
> willing to learn and become proficient in a new language.
>
> I do want it to be a language that is efficient yet doesn't give you a
> rope with a noose or a loaded, cocked, gun when you use it.
>
> You can see that I'm leary of C and C++.  I have used them, and
> continue to use them, but I'm not at all sure that I want to use them
> to develop business applicatons.  I'm tired of reading about buffer
> overflows.
>
> I have played around somewhat with Ada but by no means am I an expert.
>  I'm concerned that Ada may be starting to fade into obscurity.  If I
> get my company going (I know its a BIG if), I want to use the language
> for years and not chase after every silver bullet that comes along.
>
> I'm interested in your comments and ideas, especially about Ada being
> able to meet my requirements.
>
> Thanks,
> Robert Law





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

* Re: Feasibility of using Ada in new development
  2004-08-24  4:13 ` Steve
@ 2004-08-24 11:09   ` Phong Ho
  2004-08-24 11:40     ` Jeff C,
  2004-08-25  1:08     ` Puckdropper
  0 siblings, 2 replies; 103+ messages in thread
From: Phong Ho @ 2004-08-24 11:09 UTC (permalink / raw)


I could not advice you to use ADA. I took an ADA course at school last
semester and I did like it.
Please use .NET or Java.

P. Ho
www.1sttechnews.com/

"Steve" <nospam_steved94@comcast.net> wrote in message news:<PfzWc.300295$a24.37838@attbi_s03>...
> I believe you will find that you can meet all of your requirements with Ada.
> 
> You will most likely find that you will need to interface to other languages
> to make use of external libraries.  In my experience if you ask a library
> vendor about "Ada" support, they will say no.  But if you use the C
> interface and set up your own bindings, everything works fine.  The time
> spent in developing bindings is more than compensated by reduction of
> defects.
> 
> If you are really looking at merit and not just a popularity contest, I
> think you'll find that Ada wins every time.
> 
> Steve
> (The Duck)
> 
> "Robert Law" <blaw@mkisserve.com> wrote in message
> news:8429999a.0408231027.2850e800@posting.google.com...
> > I would like to start by saying my message is not an attempt to start
> > a flame war or anything like that.
> >
> > I've been programming for years using everything from COBOL, RPG, C,
> > Java, PHP, etc.  I've written a number of business applications,
> > usually accounting ones.  (That's the advantage of having more than
> > twenty years of experience.)  I'm at the point in my life where I want
> > to pursue a dream I've had for years of having my own software
> > development company, basically a VAR or ISV.
> >
> > I want to use a language that meets the following criteria:
> >
> > 1. It must be reliable.
> > 2. It must be supported.
> > 3. It must be usuable to develop applications in a graphical
> > environment.  Basically Motif, GTK, or KDE.
> > 4. It must be usuable to develop programs used via a browser.
> > 5. It must be able to interface with relational databases either
> > through a standard interface or ODBC.
> > 6. It would be nice if it was somewhat object oriented.  I'm not an
> > object oriented purist, but it does have some nice features.  I
> > especially like its automatic garbage collection of no lonter used
> > variable.
> >
> > I don't care much whether or not there are millions of programmers
> > that know how to use it.  Any programmer worth their salt would be
> > willing to learn and become proficient in a new language.
> >
> > I do want it to be a language that is efficient yet doesn't give you a
> > rope with a noose or a loaded, cocked, gun when you use it.
> >
> > You can see that I'm leary of C and C++.  I have used them, and
> > continue to use them, but I'm not at all sure that I want to use them
> > to develop business applicatons.  I'm tired of reading about buffer
> > overflows.
> >
> > I have played around somewhat with Ada but by no means am I an expert.
> >  I'm concerned that Ada may be starting to fade into obscurity.  If I
> > get my company going (I know its a BIG if), I want to use the language
> > for years and not chase after every silver bullet that comes along.
> >
> > I'm interested in your comments and ideas, especially about Ada being
> > able to meet my requirements.
> >
> > Thanks,
> > Robert Law



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

* Re: Feasibility of using Ada in new development
  2004-08-24 11:09   ` Phong Ho
@ 2004-08-24 11:40     ` Jeff C,
  2004-08-24 20:25       ` Robert Law
  2004-08-25  1:08     ` Puckdropper
  1 sibling, 1 reply; 103+ messages in thread
From: Jeff C, @ 2004-08-24 11:40 UTC (permalink / raw)



"Phong Ho" <peter_ho98@yahoo.com> wrote in message 
news:6530a40c.0408240309.36f53e75@posting.google.com...
>I could not advice you to use ADA. I took an ADA course at school last
> semester and I did like it.
> Please use .NET or Java.
>

I am not sure which advice is the least useful. That of the Ada zealots 
(myself included) who have

* Been programming for many years
* Completed many (often large) projects
* Would probably go with Ada even if it another approach were somewhat 
better..

...or.

The guy in school who took one class related to the Americans with 
Disabilities Act (ADA) and now
is an expert on programming.

Of course even years of experience have failed to teach me "Never feed the 
Tolls"....so..what do I know.





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

* Re: Feasibility of using Ada in new development
  2004-08-24 11:40     ` Jeff C,
@ 2004-08-24 20:25       ` Robert Law
  2004-08-25 21:05         ` Dan McLeran
                           ` (2 more replies)
  0 siblings, 3 replies; 103+ messages in thread
From: Robert Law @ 2004-08-24 20:25 UTC (permalink / raw)


We are all zealots for one thing or another.  As far as what he says,
I know and have worked with Java for three years.  I took a
VisualBasic.NET class in school and I hated it.  So I guess that makes
us even.

What I was trying to get across is my first message which must have
been confusing for some is that I am interested in choosing a language
that lets me develop excellant software with a minimum of the problems
that are so prevalent in the C/C++ world.  And yes, I've been working
with C for 14 years.  I'm uncomfortable writing a full suite of
financial applications in C or C++.

The applications need to be able to be run in a graphical environment
or accessed using a web browser.  Even using curses is okay.  Those of
you who have watched a clerk enter timecards in a non graphical
environment know what I mean when I say a GUI generally slows most
users down when they are doing data entry.

I guess I need to learn Ada better.

By the way, the applications would be based on Linux using GNAT and
PostgreSQL.

"Jeff C," <jcreem@yahoo.com> wrote in message news:<mOFWc.35080$9d6.33823@attbi_s54>...
> "Phong Ho" <peter_ho98@yahoo.com> wrote in message 
> news:6530a40c.0408240309.36f53e75@posting.google.com...
> >I could not advice you to use ADA. I took an ADA course at school last
> > semester and I did like it.
> > Please use .NET or Java.
> >
> 
> I am not sure which advice is the least useful. That of the Ada zealots 
> (myself included) who have
> 
> * Been programming for many years
> * Completed many (often large) projects
> * Would probably go with Ada even if it another approach were somewhat 
> better..
> 
> ...or.
> 
> The guy in school who took one class related to the Americans with 
> Disabilities Act (ADA) and now
> is an expert on programming.
> 
> Of course even years of experience have failed to teach me "Never feed the 
> Tolls"....so..what do I know.



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

* Re: Feasibility of using Ada in new development
  2004-08-23 18:27 Feasibility of using Ada in new development Robert Law
                   ` (5 preceding siblings ...)
  2004-08-24  4:13 ` Steve
@ 2004-08-24 23:01 ` Luke A. Guest
  2004-08-26 17:17   ` Warren W. Gay VE3WWG
  2004-08-31  6:22 ` Wojtek Narczynski
  7 siblings, 1 reply; 103+ messages in thread
From: Luke A. Guest @ 2004-08-24 23:01 UTC (permalink / raw)


On Mon, 23 Aug 2004 11:27:05 -0700, Robert Law wrote:

> I want to use a language that meets the following criteria:
> 
> 1. It must be reliable.
> 2. It must be supported.
> 3. It must be usuable to develop applications in a graphical
> environment.  Basically Motif, GTK, or KDE.

The only problem I see with this is that (I think) that there are only
GTK+ bindings (and GNOME) GtkAda, etc. Now, I personally think that GTK+
is pretty horrible to develop for, I chose wxWidgets for C++, and was
going to try and attempt to develop Ada bindings for it, but:

1) it isn't easy to do.
2) You don't need all of the features of wxWidgets from within Ada as a
lot of it already exists (threading, mutual exclusion primitives, IO,
etc.) All that would be required would be the UI part. So, I've been
thinking more along the lines of developing my own UI library taken in
part from the design of wxWidgets...anyways, that's a while off ;-)

Apart from that, Ada is a very good choice, just remember coding style is
extremely important in Ada (as is design).

Luke.





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

* Re: Feasibility of using Ada in new development
  2004-08-24 11:09   ` Phong Ho
  2004-08-24 11:40     ` Jeff C,
@ 2004-08-25  1:08     ` Puckdropper
  2004-08-25  6:02       ` Adrian Hoe
  1 sibling, 1 reply; 103+ messages in thread
From: Puckdropper @ 2004-08-25  1:08 UTC (permalink / raw)


There is a saying when comparing programming languages:  If you can't 
think of one place where the language you don't like is better than the 
one you do, you're don't it well enough to comment on it.

Example:  Ada has linked-list support (Access types), while Qbasic does 
not.  (To be fair, Qbasic is easily used on older computers.  All you 
have to do is copy qbasic.exe and qbasic.hlp to the floppy disk and you 
can program in it.)

Puckdropper

Phong Ho wrote:
> I could not advice you to use ADA. I took an ADA course at school last
> semester and I did like it.
> Please use .NET or Java.
> 
> P. Ho
> www.1sttechnews.com/
> 



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

* Re: Feasibility of using Ada in new development
  2004-08-25  1:08     ` Puckdropper
@ 2004-08-25  6:02       ` Adrian Hoe
  2004-08-25  8:12         ` Martin Dowie
  2004-08-25 12:54         ` Florian Weimer
  0 siblings, 2 replies; 103+ messages in thread
From: Adrian Hoe @ 2004-08-25  6:02 UTC (permalink / raw)


Puckdropper wrote:
> There is a saying when comparing programming languages:  If you can't 
> think of one place where the language you don't like is better than the 
> one you do, you're don't it well enough to comment on it.
> 
> Example:  Ada has linked-list support (Access types), while Qbasic does 
> not.  (To be fair, Qbasic is easily used on older computers.  All you 
> have to do is copy qbasic.exe and qbasic.hlp to the floppy disk and you 
> can program in it.)
> 
> Puckdropper


Eh... Ada does not have linked list support. And linked list is not 
equal to Access types. One can use Access type to develop a linked list 
library.

Smile :)
-- 
Adrian Hoe
m a i l b o x AT a d r i a n h o e . c o m




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

* Re: Feasibility of using Ada in new development
  2004-08-25  6:02       ` Adrian Hoe
@ 2004-08-25  8:12         ` Martin Dowie
  2004-08-25 12:54         ` Florian Weimer
  1 sibling, 0 replies; 103+ messages in thread
From: Martin Dowie @ 2004-08-25  8:12 UTC (permalink / raw)


Adrian Hoe wrote:
> Eh... Ada does not have linked list support. And linked list is not
> equal to Access types. One can use Access type to develop a linked
> list library.

It does/will soon! See "Ada.Containers.Doubly_Linked_Lists" in AI-302.

<shameless_plug>
http://www.martin.dowie.btinternet.co.uk/
<\shameless_plug>

Cheers

-- Martin






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

* Re: Feasibility of using Ada in new development
  2004-08-25  6:02       ` Adrian Hoe
  2004-08-25  8:12         ` Martin Dowie
@ 2004-08-25 12:54         ` Florian Weimer
  1 sibling, 0 replies; 103+ messages in thread
From: Florian Weimer @ 2004-08-25 12:54 UTC (permalink / raw)


* Adrian Hoe:

> Eh... Ada does not have linked list support. And linked list is not 
> equal to Access types. One can use Access type to develop a linked list 
> library.

And it's entirely possible to implement linked lists without access
types. 8-)



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

* Re: Feasibility of using Ada in new development
  2004-08-24 20:25       ` Robert Law
@ 2004-08-25 21:05         ` Dan McLeran
  2004-08-26  2:42           ` John B. Matthews
                             ` (2 more replies)
  2004-08-26  9:52         ` Pascal Obry
  2004-09-03  7:14         ` Case Crab
  2 siblings, 3 replies; 103+ messages in thread
From: Dan McLeran @ 2004-08-25 21:05 UTC (permalink / raw)


> We are all zealots for one thing or another.  As far as what he says,
> I know and have worked with Java for three years.  I took a
> VisualBasic.NET class in school and I hated it.  So I guess that makes
> us even.
> 
> What I was trying to get across is my first message which must have
> been confusing for some is that I am interested in choosing a language
> that lets me develop excellant software with a minimum of the problems
> that are so prevalent in the C/C++ world.  And yes, I've been working
> with C for 14 years.  I'm uncomfortable writing a full suite of
> financial applications in C or C++.
> 
> The applications need to be able to be run in a graphical environment
> or accessed using a web browser.  Even using curses is okay.  Those of
> you who have watched a clerk enter timecards in a non graphical
> environment know what I mean when I say a GUI generally slows most
> users down when they are doing data entry.
> 
> I guess I need to learn Ada better.
> 
> By the way, the applications would be based on Linux using GNAT and
> PostgreSQL.

Ada is a great language, but you might want to check out Eiffel. Here
are a couple of useful links:

http://www.eiffel.com/
http://smarteiffel.loria.fr/
http://www.artima.com/articles/index.jsp?topic=eiffel

Pay especially close attention to how design-by-contract is embedded
within the Eiffel language to help build better software. Also, Eiffel
is a purely OO language without the shortcuts available to C/C++ and
Java programmers that compromise software quality.

As far as Ada is concerned, I recently gave the GNAT Pro toolsuite a
test drive for my own company's development needs and came away
unimpressed. I think the Ada language is great, but these tools leave
alot to be desired. Aonix makes an Ada plugin for Eclipse
(www.eclipse.org) that might be quit nice, but I have not tried it
(http://www.eclipseplugincentral.com/displayarticle197.html).

The GUI creation tool, GtkAda, was laughable as compared to something
like .Net or even some of the free Java GUI creation tools out there.
Also, the IDE was not nearly up to par as compared to MS .Net,
Eclipse, or Borland.



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

* Re: Feasibility of using Ada in new development
  2004-08-25 21:05         ` Dan McLeran
@ 2004-08-26  2:42           ` John B. Matthews
  2004-08-26 11:49           ` Georg Bauhaus
  2004-08-26 18:15           ` Ludovic Brenta
  2 siblings, 0 replies; 103+ messages in thread
From: John B. Matthews @ 2004-08-26  2:42 UTC (permalink / raw)


In article <19b0e504.0408251305.73ed26c8@posting.google.com>,
 dan.r.mcleran@seagate.com (Dan McLeran) wrote:

> The GUI creation tool, GtkAda, was laughable as compared to something
> like .Net or even some of the free Java GUI creation tools out there.
> Also, the IDE was not nearly up to par as compared to MS .Net,
> Eclipse, or Borland.

I had a different experience. I used GtkAda (an object-oriented 
binding to the Gtk+ API) in conjunction with Glade 2 (a GUI 
design tool) on both Linux and Mac OS. It's not as polished as 
Xcode, but I was able to quickly create a complex series of 
related dialogs and integrate them with a colleague's geodetic 
display. I was also pleased with the cross-platform 
compatibility.

GtkAda includes an Ada test program that re-creates the Gtk test 
code--inlcuding examples of the widgets, several composite 
objects and a GL demo. I wrote a simple animation program to 
play with some features:

http://www.wright.edu/~john.matthews/gtk/lady.html

If you elect to evaluate GtkAda, don't deny yourself a game of 
LinXtris:-)

http://linxtris.sourceforge.net/

John
----
jmatthews at wright dot edu
www dot wright dot edu/~john.matthews/



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

* Re: Feasibility of using Ada in new development
  2004-08-24 20:25       ` Robert Law
  2004-08-25 21:05         ` Dan McLeran
@ 2004-08-26  9:52         ` Pascal Obry
  2004-09-03  7:14         ` Case Crab
  2 siblings, 0 replies; 103+ messages in thread
From: Pascal Obry @ 2004-08-26  9:52 UTC (permalink / raw)



blaw@mkisserve.com (Robert Law) writes:

> What I was trying to get across is my first message which must have
> been confusing for some is that I am interested in choosing a language
> that lets me develop excellant software with a minimum of the problems
> that are so prevalent in the C/C++ world.  And yes, I've been working
> with C for 14 years.  I'm uncomfortable writing a full suite of
> financial applications in C or C++.

Indeed, be sure to have a look at the decimal floating point in Ada and the
Annex F for Information System support.

Pascal.

-- 

--|------------------------------------------------------
--| Pascal Obry                           Team-Ada Member
--| 45, rue Gabriel Peri - 78114 Magny Les Hameaux FRANCE
--|------------------------------------------------------
--|              http://www.obry.org
--| "The best way to travel is by means of imagination"
--|
--| gpg --keyserver wwwkeys.pgp.net --recv-key C1082595



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

* Re: Feasibility of using Ada in new development
  2004-08-25 21:05         ` Dan McLeran
  2004-08-26  2:42           ` John B. Matthews
@ 2004-08-26 11:49           ` Georg Bauhaus
  2004-08-26 19:31             ` Dan McLeran
  2004-08-26 18:15           ` Ludovic Brenta
  2 siblings, 1 reply; 103+ messages in thread
From: Georg Bauhaus @ 2004-08-26 11:49 UTC (permalink / raw)


Dan McLeran <dan.r.mcleran@seagate.com> wrote:
 
: As far as Ada is concerned, I recently gave the GNAT Pro toolsuite a
: test drive for my own company's development needs and came away
: unimpressed.  I think the Ada language is great, but these tools leave
: alot to be desired. Aonix makes an Ada plugin for Eclipse

Have you had a chance to look at a more recent GPS?
I'm courious what you consider the big gap between it and, say,
Eclipse.

-- Georg



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

* Re: Feasibility of using Ada in new development
  2004-08-24 23:01 ` Luke A. Guest
@ 2004-08-26 17:17   ` Warren W. Gay VE3WWG
  0 siblings, 0 replies; 103+ messages in thread
From: Warren W. Gay VE3WWG @ 2004-08-26 17:17 UTC (permalink / raw)


Luke A. Guest wrote:
> On Mon, 23 Aug 2004 11:27:05 -0700, Robert Law wrote:
>>I want to use a language that meets the following criteria:
>>
>>1. It must be reliable.
>>2. It must be supported.
>>3. It must be usuable to develop applications in a graphical
>>environment.  Basically Motif, GTK, or KDE.

I believe Ada delivers on all three, but point #3 is
a bit of a weak point as I see it. But that aside,
I can say that after 15+ years of doing C, and later
C++ programming, I found myself pining for something
better. In the 80's, I did a few years in a PL/I
subset, which at the time felt "about right".  And
later, growing weary of C/C++, found myself wishing for
something similar. Ada was suggested and after taking
some time to learn it, I began to love it. It won't
be the right answer to everything (for example
Postscript fills its special role well), but I find
that it works rather well for most things.

I think it is great for Open Sourced projects where
hobby time is limited (especially for married folks
with children etc.), because of all of the static
and type checking done at compile time. I spend an
order of magnitude less time doing debugging. C
and C++ required the opposite experience: easy to
compile but many design flaws and mysterious bugs
to debug. Despite the 15+ years of experience of
learning where to be careful in C/C++, on a large
project you almost always end up hitting a strange
bug eventually that takes enormous time to solve
(corruption, memory leaks etc.) Memory tools etc.
help, but I find there is no substitute to the
compiler helping you out up front.

The Ada95 model force you also to reconsider the
coupling of program components, and elaboration
order. Many other languages are quite happy to
share many external (global) elements, and not
worry about elaboration order etc.

To sum up, Ada is great in my mind. Where I see
a weakness is making Ada packages portable to
many platforms (I don't think this is as easy
as it could be). I also think that since we
live predominantly in a C language O/S environment,
it gets tiresome if you have to write bindings
and/or interfaces to O/S interfaces (where no
Ada bindings exist). But this depends a lot
on the nature of the project. Many projects
may not have this difficulty.

However, on the balance sheet I would still
favour Ada for the time it saves me in design.
Most important to me: Ada95 brings joy back
to programming, since most of the time you
can write your programs with the application
design in mind. Another way to say this is
that you express your algorithm in terms that
a programmer would want to use.

C/C++/Java/C# However, force you to
work in terms of the implementation:
for example, mapping the application array
bounds to the natural language bounds (0 to
n-1 vs low_bound..high_bound).

If you love writing software, I think Ada
is the way to go. If you just want to get
the job done, YMMV.  If you are supporting
the end product, Ada may server you better
as well in the long run.

Anyway, that is just my $0.02 take on it.
-- 
Warren W. Gay VE3WWG
http://home.cogeco.ca/~ve3wwg



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

* Re: Feasibility of using Ada in new development
  2004-08-25 21:05         ` Dan McLeran
  2004-08-26  2:42           ` John B. Matthews
  2004-08-26 11:49           ` Georg Bauhaus
@ 2004-08-26 18:15           ` Ludovic Brenta
  2004-08-28 17:57             ` Dan McLeran
  2 siblings, 1 reply; 103+ messages in thread
From: Ludovic Brenta @ 2004-08-26 18:15 UTC (permalink / raw)


 (Dan McLeran) writes:
> Ada is a great language, but you might want to check out Eiffel. Here
> are a couple of useful links:
>
> http://www.eiffel.com/
> http://smarteiffel.loria.fr/
> http://www.artima.com/articles/index.jsp?topic=eiffel
>
> Pay especially close attention to how design-by-contract is embedded
> within the Eiffel language to help build better software. Also,
> Eiffel is a purely OO language without the shortcuts available to
> C/C++ and Java programmers that compromise software quality.

It is true that Eiffel also promotes software quality, but I still
prefer Ada.  There are several reasons why, but I won't go into a
bashing party here; I consider Eiffel second best after Ada, and still
a very good language.

> As far as Ada is concerned, I recently gave the GNAT Pro toolsuite a
> test drive for my own company's development needs and came away
> unimpressed. I think the Ada language is great, but these tools
> leave alot to be desired. Aonix makes an Ada plugin for Eclipse
> (www.eclipse.org) that might be quit nice, but I have not tried it
> (http://www.eclipseplugincentral.com/displayarticle197.html).
>
> The GUI creation tool, GtkAda, was laughable as compared to
> something like .Net or even some of the free Java GUI creation tools
> out there.  Also, the IDE was not nearly up to par as compared to MS
> .Net, Eclipse, or Borland.

Now you are talking about the tools, not the language.  To be fair,
please provide a similar assessment of tools (IDEs, GUI creation,
etc.) for Eiffel.

I am not fond of IDEs in general (I use the One True Editor for
everything), so I cannot comment on the respective merits of GPS
versus Eclipse, Anjuta, KDevelop, Scintilla, or whatnot.  However, it
is my understanding that whichever you pick, you can develop in Ada
with it.

If you don't like GtkAda, you can try AdaBindX (a binding to Lesstif),
or TASH (a binding to Tcl/Tk).

-- 
Ludovic Brenta.



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

* Re: Feasibility of using Ada in new development
  2004-08-26 11:49           ` Georg Bauhaus
@ 2004-08-26 19:31             ` Dan McLeran
  2004-08-26 20:04               ` Simon Wright
  2004-08-27 12:47               ` Georg Bauhaus
  0 siblings, 2 replies; 103+ messages in thread
From: Dan McLeran @ 2004-08-26 19:31 UTC (permalink / raw)


Georg Bauhaus <sb463ba@l1-hrz.uni-duisburg.de> wrote in message news:<cgkioh$rdc$3@a1-hrz.uni-duisburg.de>...
> Dan McLeran <dan.r.mcleran@seagate.com> wrote:
>  
> : As far as Ada is concerned, I recently gave the GNAT Pro toolsuite a
> : test drive for my own company's development needs and came away
> : unimpressed.  I think the Ada language is great, but these tools leave
> : alot to be desired. Aonix makes an Ada plugin for Eclipse
> 
> Have you had a chance to look at a more recent GPS?
> I'm courious what you consider the big gap between it and, say,
> Eclipse.
> 
> -- Georg


It was GPS 2.0.0. and GtkAda 2.0.0. Also note that I am running on
Windows XP.
Some of the ABCs of IDE I thought were missing:

1. No code completion help. Practically evey IDE on the planet has
this (even the free AdaGIDE has it!).

2. The IDE would crash if I edited my source file outside of GPS.

3. The GPS project wizard would sometimes get jacked up when I tried
to create a new project. No specifcs here but it was annoying. It only
happened a couple of times and I don't know exactly what I did wrong.

4. The GtkAda GUI builder is unable to allow you to write in your
event handler code and then re-generate the GUI. If you generate
source code from the visual gui builder, and then fill in event
handler code, the next time you re-gen the GUI, all of the files get
overwritten.

5. The fact that the GUI builder was a separate application and not
integrated into the IDE was hokey, IMO.

6. The GUI widgets weren't impressive. It looks like the GTK widgets
take the lowest common denominator approach to multi-platform GUI
toolkits. Contrast this with SWT for Java.

7. The help system would get screwed up as I tried scrolling thru it.

I was actually surprised that it wasn't alot better, considering how
much money ACT wants for supporting it.



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

* Re: Feasibility of using Ada in new development
  2004-08-26 19:31             ` Dan McLeran
@ 2004-08-26 20:04               ` Simon Wright
  2004-08-27 12:47               ` Georg Bauhaus
  1 sibling, 0 replies; 103+ messages in thread
From: Simon Wright @ 2004-08-26 20:04 UTC (permalink / raw)


dan.r.mcleran@seagate.com (Dan McLeran) writes:

> I was actually surprised that it wasn't alot better, considering how
> much money ACT wants for supporting it.

At the moment you pays your money and you can use GPS or GLIDE (which
is Emacs with an upgraded ada-mode incorporated, conversions from GNAT
Project files to the ada-mode .adp format, and some startup things).

*Personally* I find ada-mode excellent and see no benefit from GPS,
though

(a) I suspect it's not GPS per se I find less than compelling so much
as the style of IDE that it represents;

(b) I guess GPS is intended to attract people who _are_ used to that
kind of IDE;

(c) I develop mainly on Linux while the project is supported on
Windows, and life's too short to get a consistent set of gtk, gtkada
etc and learn how to build with it (compared to installing the
pre-built GPS for NT).

-- 
Simon Wright                               100% Ada, no bugs.



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

* Re: Feasibility of using Ada in new development
  2004-08-26 19:31             ` Dan McLeran
  2004-08-26 20:04               ` Simon Wright
@ 2004-08-27 12:47               ` Georg Bauhaus
  2004-08-27 21:08                 ` Dan McLeran
  1 sibling, 1 reply; 103+ messages in thread
From: Georg Bauhaus @ 2004-08-27 12:47 UTC (permalink / raw)


Dan McLeran <dan.r.mcleran@seagate.com> wrote:
 
: It was GPS 2.0.0. and GtkAda 2.0.0. Also note that I am running on
: Windows XP.
: Some of the ABCs of IDE I thought were missing:
: 
: 1. No code completion help. Practically evey IDE on the planet has
: this (even the free AdaGIDE has it!).

GLIDE has it too. I guess it is only a question of time until
this is added to GPS as the information needed appears to be
present in ali files, and source code browsing code is already
present and active.

 
: 2. The IDE would crash if I edited my source file outside of GPS.

No crash with GPS 2.1.0w on GNU/Linux, though user notification of a
changed file is not immediate when the window showing the file in GPS
is not on top. (The help system works, too.)

: 3. The GPS project wizard would sometimes get jacked up when I tried
: to create a new project.

I've seen this too, seems to have to do with directory creations
(wrong directory, directory hierarchy?)

: 5. The fact that the GUI builder was a separate application and not
: integrated into the IDE was hokey, IMO.
: 
: 6. The GUI widgets weren't impressive.

Seems like AdaCore's main application domains have less frequently
included multi-dialogued graphical desktop PC applications?

Though I think that the graphical source code browser is very
useful and well integrated. If only I knew how to quickly rip
it out of GPS and make it usable with GLIDE/Emacs :-)

: It looks like the GTK widgets
: take the lowest common denominator approach to multi-platform GUI
: toolkits.

(If only more people had been exposed to OS/2's workplace shell
or similar... )

 
: I was actually surprised that it wasn't alot better, considering how
: much money ACT wants for supporting it.

Do they want payment for supporting particular products in their
toolset?


-- Georg



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

* Re: Feasibility of using Ada in new development
  2004-08-27 12:47               ` Georg Bauhaus
@ 2004-08-27 21:08                 ` Dan McLeran
  2004-08-28  0:28                   ` Stephen Leake
  2004-09-01  4:07                   ` Adrian Hoe
  0 siblings, 2 replies; 103+ messages in thread
From: Dan McLeran @ 2004-08-27 21:08 UTC (permalink / raw)


> Do they want payment for supporting particular products in their
> toolset?
They want money for support. They wanted something on the order of
$15K for 5 developer licenses to support GPS + GtkAda. I thought it
was way too much considering the quality of the tools. Five developer
seats for the .Net environment doesn't cost THAT much!



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

* Re: Feasibility of using Ada in new development
  2004-08-27 21:08                 ` Dan McLeran
@ 2004-08-28  0:28                   ` Stephen Leake
  2004-09-01  4:09                     ` Adrian Hoe
  2004-09-01  4:07                   ` Adrian Hoe
  1 sibling, 1 reply; 103+ messages in thread
From: Stephen Leake @ 2004-08-28  0:28 UTC (permalink / raw)
  To: comp.lang.ada

dan.r.mcleran@seagate.com (Dan McLeran) writes:

> > Do they want payment for supporting particular products in their
> > toolset?
> They want money for support. They wanted something on the order of
> $15K for 5 developer licenses to support GPS + GtkAda. I thought it
> was way too much considering the quality of the tools. Five developer
> seats for the .Net environment doesn't cost THAT much!

Hmm. I pay for GNAT support on Windows, and GPS is included. There is
a separate charge for GtkAda, and for ASIS, and some other things.

And they still support Ada mode for Emacs, which is way better than
any other IDE (sorry, couldn't resist :).

If you want the real info, call Ada Core (www.gnat.com).

-- 
-- Stephe




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

* Re: Feasibility of using Ada in new development
  2004-08-26 18:15           ` Ludovic Brenta
@ 2004-08-28 17:57             ` Dan McLeran
  2004-08-28 18:37               ` Ludovic Brenta
  0 siblings, 1 reply; 103+ messages in thread
From: Dan McLeran @ 2004-08-28 17:57 UTC (permalink / raw)


> Now you are talking about the tools, not the language.  To be fair,
> please provide a similar assessment of tools (IDEs, GUI creation,
> etc.) for Eiffel.

If you read my post again, you'll see that I am contrasting GPS to
.Net, Eclipse, and Borland tools. The point I am trying to make is
that ACT is charging a fortune for a toolset that falls far short of
what other vendors are charging. IMO, the GPS and GtkAda tools are not
in the same league as .Net, Eclipse, JBuilder, others.

Of course, you are right in saying that one could write or use an
Eclipse plugin for Ada. My original post makes note of a plugin for
Eclipse that Aonix offers.



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

* Re: Feasibility of using Ada in new development
  2004-08-28 17:57             ` Dan McLeran
@ 2004-08-28 18:37               ` Ludovic Brenta
  2004-08-30 17:06                 ` Dan McLeran
  0 siblings, 1 reply; 103+ messages in thread
From: Ludovic Brenta @ 2004-08-28 18:37 UTC (permalink / raw)


 (Dan McLeran) writes:
> If you read my post again, you'll see that I am contrasting GPS to
> .Net, Eclipse, and Borland tools. The point I am trying to make is
> that ACT is charging a fortune for a toolset that falls far short of
> what other vendors are charging.

Ada Core is not charging for the toolset; they are charging for the
support.  You don't have to pay a dime to Ada Core if you don't want
to.  The license cost for GPS (or for the entire toolchain for that
matter) is zero.  If you feel you don't need support, or if you are
willing to do your own support, you can use GPS at no cost.

Also, if you work for a university and use GPS to teach or do
research, Ada Core will support you at no cost.

If you use Debian as your development platform, you will get a minimal
amount of support, for free, from yours truly.

> IMO, the GPS and GtkAda tools are not in the same league as .Net,
> Eclipse, JBuilder, others.

Indeed, they are not in the same league.  Ada Core's customers use the
toolset for safety-critical, mission-critical, multi-year,
multi-developer, multi-million-dollar, multi-million-lines-of-code
projects.  If your project is large enough, and if the stakes are high
enough, you don't mind paying $15k/year to Ada Core (just to put
things into perspective, your 5 supported software engineers will cost
you roughly $500k/year).

By contrast, .Net, Eclipse, JBuilder are mass-marketed to an audience
of "coders", not "software engineers", to paraphrase Jeffrey Carter.
I would also be curious what prices Microsoft, IBM and Borland charge
for support contracts (as opposed to licenses) for .Net, Eclipse and
JBuilder respectively.

-- 
Ludovic Brenta.



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

* Re: Feasibility of using Ada in new development
  2004-08-28 18:37               ` Ludovic Brenta
@ 2004-08-30 17:06                 ` Dan McLeran
  2004-08-30 18:00                   ` Georg Bauhaus
  2004-08-30 18:55                   ` Jeffrey Carter
  0 siblings, 2 replies; 103+ messages in thread
From: Dan McLeran @ 2004-08-30 17:06 UTC (permalink / raw)


> By contrast, .Net, Eclipse, JBuilder are mass-marketed to an audience
> of "coders", not "software engineers", to paraphrase Jeffrey Carter.
> I would also be curious what prices Microsoft, IBM and Borland charge
> for support contracts (as opposed to licenses) for .Net, Eclipse and
> JBuilder respectively.
Eclipse is free as well and I don't know if there are any companies
out there that sell support services (might not be a bad idea,
though). MS .Net and Borland tools and support contracts are not free.
From my own research, they don't charge as much as ACT.



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

* Re: Feasibility of using Ada in new development
  2004-08-30 17:06                 ` Dan McLeran
@ 2004-08-30 18:00                   ` Georg Bauhaus
  2004-08-30 18:55                   ` Jeffrey Carter
  1 sibling, 0 replies; 103+ messages in thread
From: Georg Bauhaus @ 2004-08-30 18:00 UTC (permalink / raw)


Dan McLeran <dan.r.mcleran@seagate.com> wrote:

: Eclipse is free as well and I don't know if there are any companies
: out there that sell support services (might not be a bad idea,
: though).

Somthing similar (WebSphere) can be bought from IBM, with a
support contract.


-- Georg



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

* Re: Feasibility of using Ada in new development
  2004-08-30 17:06                 ` Dan McLeran
  2004-08-30 18:00                   ` Georg Bauhaus
@ 2004-08-30 18:55                   ` Jeffrey Carter
  2004-08-31 17:11                     ` Dan McLeran
  1 sibling, 1 reply; 103+ messages in thread
From: Jeffrey Carter @ 2004-08-30 18:55 UTC (permalink / raw)


Dan McLeran wrote:

> MS .Net and Borland tools and support contracts are not free.
> From my own research, they don't charge as much as ACT.

Sure, but you have to consider

1. What you get. My experience with ACT support was very positive; with 
Borland, less so.

2. The total cost. ACT only charges for support; MS & Borland also 
charge for the software.

-- 
Jeff Carter
"Now look, Col. Batguano, if that really is your name."
Dr. Strangelove
31




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

* Re: Feasibility of using Ada in new development
  2004-08-23 18:27 Feasibility of using Ada in new development Robert Law
                   ` (6 preceding siblings ...)
  2004-08-24 23:01 ` Luke A. Guest
@ 2004-08-31  6:22 ` Wojtek Narczynski
  2004-09-01  4:04   ` Adrian Hoe
  7 siblings, 1 reply; 103+ messages in thread
From: Wojtek Narczynski @ 2004-08-31  6:22 UTC (permalink / raw)


Robert,

> I'm at the point in my life where I want to pursue a dream
> I've had for years of having my own software development company,
> basically a VAR or ISV.

Go for it! This is what I did, and I'm glad I did, even though I have
to care about salaries of 25 people, not only one. There are many
people mourning the condition of Ada on this list, instead of doing
exactly this - starting a company.

> I want to use a language (...)

Don't start a business with thinking about which language you are
going to choose, this is wrong thinking. Instead do a per-project
language / technology selection. Let me put it in another way: would
it have made sense to write all the software you'd written to date in
Ada? I bet not! In other words: free your mind.

Regards,
Wojtek Narczynski
Power Media Sp. z o.o.
CTO / vice president ;-)



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

* Re: Feasibility of using Ada in new development
  2004-08-30 18:55                   ` Jeffrey Carter
@ 2004-08-31 17:11                     ` Dan McLeran
  2004-08-31 17:46                       ` stephane richard
  2004-08-31 18:12                       ` Jeffrey Carter
  0 siblings, 2 replies; 103+ messages in thread
From: Dan McLeran @ 2004-08-31 17:11 UTC (permalink / raw)


Jeffrey Carter <spam@spam.com> wrote in message news:<mKKYc.2888$w%6.409@newsread1.news.pas.earthlink.net>...
> Dan McLeran wrote:
> 
> > MS .Net and Borland tools and support contracts are not free.
> > From my own research, they don't charge as much as ACT.
> 
> Sure, but you have to consider
> 
> 1. What you get. My experience with ACT support was very positive; with 
> Borland, less so.
> 
> 2. The total cost. ACT only charges for support; MS & Borland also 
> charge for the software.

That's true. If one adds up the cost of the tools and support
together, it's probably a wash.

I guess I was expecting more from the IDE for the money. If ACT is
going to sell support for these tools, they should make them worth
having. An IDE without code completion help? Gimme a break. A GUI
builder that doesn't let you write your event handler code while
you're building your GUI? Again, gimme a break.

IMO, Ada would be a more popular language if programmers were supplied
with great Ada development tools. This is especially true if one wants
to convert programmers from another language over to Ada. Programmers
currently developing code in C/C++ and Java (like me) have a very wide
selection of great tools (both free and commercial). It's hard to
justify moving to a programming language where the tools are much less
capable and harder to use than the ones with which most developers are
accustomed.

Allow me to predict how some of you will reply: "Tools are not as
important as the programming talent and/or language." I agree, up to
the point where the tools can actually hinder productivity.



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

* Re: Feasibility of using Ada in new development
  2004-08-31 17:11                     ` Dan McLeran
@ 2004-08-31 17:46                       ` stephane richard
  2004-08-31 19:19                         ` Björn Persson
  2004-09-02 15:18                         ` Dan McLeran
  2004-08-31 18:12                       ` Jeffrey Carter
  1 sibling, 2 replies; 103+ messages in thread
From: stephane richard @ 2004-08-31 17:46 UTC (permalink / raw)


>IMO, Ada would be a more popular language if programmers were supplied
>with great Ada development tools. This is especially true if one wants
>to convert programmers from another language over to Ada. Programmers
>currently developing code in C/C++ and Java (like me) have a very wide
>selection of great tools (both free and commercial). It's hard to
>justify moving to a programming language where the tools are much less
>capable and harder to use than the ones with which most developers are
>accustomed

What about GPS 2.0.1?  they sure seem to have added alot to that version 
(the currently publically available version of GPS is 1.4.2).

I agree, because of the rest of the programming industry, today, a language 
is often deemed as good as it's IDE.  It shouldn't be that way, but it 
usually is.  What I like to say to that is.  It doesn't matter how good the 
IDE is, it's still not as good as the programmer, hence you can induce 
errors you think aren't just as you can in C++, Delphi, Pascal, VB and the 
others.  But only Ada will tell you that before it's too late rather than 
after it's on a client's machine and that's where Ada scores the big points, 
the errors it can detect that C/C++ won't even know is there, but Ada won't 
compile it until it's fixed. Try that with the other IDE's and Languages.

Stephane Richard
"Ada World" webmaster
http://www.adaworld.com





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

* Re: Feasibility of using Ada in new development
  2004-08-31 17:11                     ` Dan McLeran
  2004-08-31 17:46                       ` stephane richard
@ 2004-08-31 18:12                       ` Jeffrey Carter
  2004-08-31 18:14                         ` stephane richard
  1 sibling, 1 reply; 103+ messages in thread
From: Jeffrey Carter @ 2004-08-31 18:12 UTC (permalink / raw)


Dan McLeran wrote:

> I guess I was expecting more from the IDE for the money. If ACT is
> going to sell support for these tools, they should make them worth
> having. An IDE without code completion help? Gimme a break. A GUI
> builder that doesn't let you write your event handler code while
> you're building your GUI? Again, gimme a break.

It would be nice to hear from supported users of GPS about these issues. 
The supported version is generally ahead of the public version. You 
could contact ACT sales and say an IDE must have these features if 
you're going to pay for support, and see if they can meet your requirements.

-- 
Jeff Carter
"I'm particularly glad that these lovely children were
here today to hear that speech. Not only was it authentic
frontier gibberish, it expressed a courage little seen
in this day and age."
Blazing Saddles
88




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

* Re: Feasibility of using Ada in new development
  2004-08-31 18:12                       ` Jeffrey Carter
@ 2004-08-31 18:14                         ` stephane richard
  2004-08-31 20:09                           ` Hyman Rosen
  0 siblings, 1 reply; 103+ messages in thread
From: stephane richard @ 2004-08-31 18:14 UTC (permalink / raw)


What I'd like to know is what could be code completed except for:

- With and Use clauses
- Pragma
- and data types when creating a variable

would there be anything else?

"Jeffrey Carter" <spam@spam.com> wrote in message 
news:cc3Zc.3814$8d1.41@newsread2.news.pas.earthlink.net...
> Dan McLeran wrote:
>
>> I guess I was expecting more from the IDE for the money. If ACT is
>> going to sell support for these tools, they should make them worth
>> having. An IDE without code completion help? Gimme a break. A GUI
>> builder that doesn't let you write your event handler code while
>> you're building your GUI? Again, gimme a break.
>
> It would be nice to hear from supported users of GPS about these issues. 
> The supported version is generally ahead of the public version. You could 
> contact ACT sales and say an IDE must have these features if you're going 
> to pay for support, and see if they can meet your requirements.
>
> -- 
> Jeff Carter
> "I'm particularly glad that these lovely children were
> here today to hear that speech. Not only was it authentic
> frontier gibberish, it expressed a courage little seen
> in this day and age."
> Blazing Saddles
> 88
> 





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

* Re: Feasibility of using Ada in new development
  2004-08-31 17:46                       ` stephane richard
@ 2004-08-31 19:19                         ` Björn Persson
  2004-09-01 12:32                           ` Georg Bauhaus
  2004-09-02 15:18                         ` Dan McLeran
  1 sibling, 1 reply; 103+ messages in thread
From: Björn Persson @ 2004-08-31 19:19 UTC (permalink / raw)


stephane richard wrote:

> (the currently publically available version of GPS is 1.4.2).

Where is that available? http://libre.act-europe.fr/gps/ says 1.4.0.

-- 
Björn Persson                              PGP key A88682FD
                    omb jor ers @sv ge.
                    r o.b n.p son eri nu




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

* Re: Feasibility of using Ada in new development
  2004-08-31 18:14                         ` stephane richard
@ 2004-08-31 20:09                           ` Hyman Rosen
  2004-09-02  8:56                             ` Martin Dowie
  2004-09-02 15:11                             ` Dan McLeran
  0 siblings, 2 replies; 103+ messages in thread
From: Hyman Rosen @ 2004-08-31 20:09 UTC (permalink / raw)


stephane richard wrote:
> What I'd like to know is what could be code completed except for:
> - With and Use clauses
> - Pragma
> - and data types when creating a variable
> would there be anything else?

You left out the most important thing, which is auto completion of
procedure calls. The IDE should offer a choice of all matching names
and parameter profiles. Once one is picked, it should display the
name and type of each parameter.



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

* Re: Feasibility of using Ada in new development
  2004-08-31  6:22 ` Wojtek Narczynski
@ 2004-09-01  4:04   ` Adrian Hoe
  2004-09-04 15:38     ` Wojtek Narczynski
  0 siblings, 1 reply; 103+ messages in thread
From: Adrian Hoe @ 2004-09-01  4:04 UTC (permalink / raw)


Wojtek Narczynski wrote:
> Robert,
> 
> 
>>I'm at the point in my life where I want to pursue a dream
>>I've had for years of having my own software development company,
>>basically a VAR or ISV.
> 
> 
> Go for it! This is what I did, and I'm glad I did, even though I have
> to care about salaries of 25 people, not only one. There are many
> people mourning the condition of Ada on this list, instead of doing
> exactly this - starting a company.
> 
> 
>>I want to use a language (...)
> 
> 
> Don't start a business with thinking about which language you are
> going to choose, this is wrong thinking. Instead do a per-project
> language / technology selection. Let me put it in another way: would
> it have made sense to write all the software you'd written to date in
> Ada? I bet not! In other words: free your mind.


I would not agree with that (if I don't get it wrong). I would worry if 
my software were not developed in Ada. As the matter of fact, we did 
worry about software which were not developed in Ada.

After switching to Ada, we have freed our mind. No more worries and this 
let us concentrate more in developing good quality software and more 
time on research projects.

Go for Ada!
-- 
Adrian Hoe
m a i l b o x AT a d r i a n h o e . c o m




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

* Re: Feasibility of using Ada in new development
  2004-08-27 21:08                 ` Dan McLeran
  2004-08-28  0:28                   ` Stephen Leake
@ 2004-09-01  4:07                   ` Adrian Hoe
  2004-09-01 14:14                     ` Hyman Rosen
  1 sibling, 1 reply; 103+ messages in thread
From: Adrian Hoe @ 2004-09-01  4:07 UTC (permalink / raw)


Dan McLeran wrote:

>>Do they want payment for supporting particular products in their
>>toolset?
> 
> They want money for support. They wanted something on the order of
> $15K for 5 developer licenses to support GPS + GtkAda. I thought it
> was way too much considering the quality of the tools. Five developer
> seats for the .Net environment doesn't cost THAT much!


Yes. And the support contract isn't flexible enough. I once inquired 
about support for 2 seats. But they only provide minimum 5 seats!

That's too much.
-- 
Adrian Hoe
m a i l b o x AT a d r i a n h o e . c o m




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

* Re: Feasibility of using Ada in new development
  2004-08-28  0:28                   ` Stephen Leake
@ 2004-09-01  4:09                     ` Adrian Hoe
  0 siblings, 0 replies; 103+ messages in thread
From: Adrian Hoe @ 2004-09-01  4:09 UTC (permalink / raw)


Stephen Leake wrote:
> 
> And they still support Ada mode for Emacs, which is way better than
> any other IDE (sorry, couldn't resist :).


Yes. I still prefer Emacs. It's the best. :)

GPS? It sucks.
-- 
Adrian Hoe
m a i l b o x AT a d r i a n h o e . c o m




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

* Re: Feasibility of using Ada in new development
  2004-08-31 19:19                         ` Björn Persson
@ 2004-09-01 12:32                           ` Georg Bauhaus
  2004-09-01 14:35                             ` Björn Persson
  0 siblings, 1 reply; 103+ messages in thread
From: Georg Bauhaus @ 2004-09-01 12:32 UTC (permalink / raw)


Bj�rn Persson <spam-away@nowhere.nil> wrote:
: stephane richard wrote:
: 
:> (the currently publically available version of GPS is 1.4.2).
: 
: Where is that available? http://libre.act-europe.fr/gps/ says 1.4.0.

A recent snapshot for GNU/Linux is publicly available from the site.

-- Georg



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

* Re: Feasibility of using Ada in new development
  2004-09-01  4:07                   ` Adrian Hoe
@ 2004-09-01 14:14                     ` Hyman Rosen
  2004-09-01 15:30                       ` Ed Falis
  0 siblings, 1 reply; 103+ messages in thread
From: Hyman Rosen @ 2004-09-01 14:14 UTC (permalink / raw)


Adrian Hoe wrote:
> Yes. And the support contract isn't flexible enough. I once inquired 
> about support for 2 seats. But they only provide minimum 5 seats!
> 
> That's too much.

The problem is that providing support for two seats, or for one, is too
much for ACT. I'd bet that the amount of support needed by a single person
might easily be *more* than the amount needed by a small group, who after
all are available to talk with each other.

But GNAT is free software. There's nothing to stop someone from setting up
a support shop himself. That person could even buy support from ACT, and act
as a conduit for his group of supported individuals.



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

* Re: Feasibility of using Ada in new development
  2004-09-01 12:32                           ` Georg Bauhaus
@ 2004-09-01 14:35                             ` Björn Persson
  0 siblings, 0 replies; 103+ messages in thread
From: Björn Persson @ 2004-09-01 14:35 UTC (permalink / raw)


Georg Bauhaus wrote:

> Björn Persson <spam-away@nowhere.nil> wrote:
> : stephane richard wrote:
> : 
> :> (the currently publically available version of GPS is 1.4.2).
> : 
> : Where is that available? http://libre.act-europe.fr/gps/ says 1.4.0.
> 
> A recent snapshot for GNU/Linux is publicly available from the site.

Oh I know that. When Stéphane mentioned version 1.4.2 I thought he meant 
a release, not a snapshot.

-- 
Björn Persson                              PGP key A88682FD
                    omb jor ers @sv ge.
                    r o.b n.p son eri nu




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

* Re: Feasibility of using Ada in new development
  2004-09-01 14:14                     ` Hyman Rosen
@ 2004-09-01 15:30                       ` Ed Falis
  2004-09-05 20:50                         ` Florian Weimer
  0 siblings, 1 reply; 103+ messages in thread
From: Ed Falis @ 2004-09-01 15:30 UTC (permalink / raw)


On Wed, 01 Sep 2004 10:14:55 -0400, Hyman Rosen <hyrosen@mail.com> wrote:

> ... That person could even buy support from ACT, and act
> as a conduit for his group of supported individuals.

Not under the current terms of our license.

- Ed (AdaCore)
falis@gnat.com



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

* Re: Feasibility of using Ada in new development
  2004-08-31 20:09                           ` Hyman Rosen
@ 2004-09-02  8:56                             ` Martin Dowie
  2004-09-02 16:23                               ` Martin Krischik
  2004-09-02 15:11                             ` Dan McLeran
  1 sibling, 1 reply; 103+ messages in thread
From: Martin Dowie @ 2004-09-02  8:56 UTC (permalink / raw)


Hyman Rosen wrote:
> stephane richard wrote:
>> What I'd like to know is what could be code completed except for:
>> - With and Use clauses
>> - Pragma
>> - and data types when creating a variable
>> would there be anything else?
>
> You left out the most important thing, which is auto completion of
> procedure calls. The IDE should offer a choice of all matching names
> and parameter profiles. Once one is picked, it should display the
> name and type of each parameter.

This will be a whole lot easier with Object.Method notation - this shold be
Ada0Y.

-- Martin






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

* Re: Feasibility of using Ada in new development
  2004-08-31 20:09                           ` Hyman Rosen
  2004-09-02  8:56                             ` Martin Dowie
@ 2004-09-02 15:11                             ` Dan McLeran
  2004-09-02 16:17                               ` Code completion Björn Persson
  2004-09-02 19:29                               ` Feasibility of using Ada in new development Simon Wright
  1 sibling, 2 replies; 103+ messages in thread
From: Dan McLeran @ 2004-09-02 15:11 UTC (permalink / raw)


> You left out the most important thing, which is auto completion of
> procedure calls. The IDE should offer a choice of all matching names
> and parameter profiles. Once one is picked, it should display the
> name and type of each parameter.

Exactly. When one types Ada. a list of available Ada packages, types,
etc. should pop up to choose from. Then, if one types Ada.Calender. a
list of valid stuff for the Ada.Calendar package should pop up as
well. Every other IDE I've ever used has this feature (regardless of
language). It's quite a productivity hit to not have this kind of help
available when coding and once you've had it, you don't want to live
without it.

Beyond that, when one writes their own package e.g.

package My_Package is
   type My_Type is digits 10;
end My_Package;

The IDE should be smart enought to provide help when later one you use
that package:

   Some_Variable : My_Package. <- A list of types, procedures, etc.
from My_Package should pop up here.



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

* Re: Feasibility of using Ada in new development
  2004-08-31 17:46                       ` stephane richard
  2004-08-31 19:19                         ` Björn Persson
@ 2004-09-02 15:18                         ` Dan McLeran
  2004-09-02 22:03                           ` Randy Brukardt
  1 sibling, 1 reply; 103+ messages in thread
From: Dan McLeran @ 2004-09-02 15:18 UTC (permalink / raw)


> I agree, because of the rest of the programming industry, today, a language 
> is often deemed as good as it's IDE.  It shouldn't be that way, but it 
> usually is.  What I like to say to that is.  It doesn't matter how good the 
> IDE is, it's still not as good as the programmer, hence you can induce 
> errors you think aren't just as you can in C++, Delphi, Pascal, VB and the 
> others.  But only Ada will tell you that before it's too late rather than 
> after it's on a client's machine and that's where Ada scores the big points, 
> the errors it can detect that C/C++ won't even know is there, but Ada won't 
> compile it until it's fixed. Try that with the other IDE's and Languages.
> 
> Stephane Richard
> "Ada World" webmaster
> http://www.adaworld.com


There's also productivity concerns as well. One could do everything
necessary to create great software with NotePad and batch files, but
would you want to? Regardless of language quality, (Ada is obviously a
great language for building software), one needs tools that help
generate great software. If the tools are any kind of hinderance, the
language gets a bad rap.



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

* Code completion
  2004-09-02 15:11                             ` Dan McLeran
@ 2004-09-02 16:17                               ` Björn Persson
  2004-09-02 17:42                                 ` Georg Bauhaus
  2004-09-02 19:29                               ` Feasibility of using Ada in new development Simon Wright
  1 sibling, 1 reply; 103+ messages in thread
From: Björn Persson @ 2004-09-02 16:17 UTC (permalink / raw)


Dan McLeran wrote:

> When one types Ada. a list of available Ada packages, types,
> etc. should pop up to choose from. Then, if one types Ada.Calender. a
> list of valid stuff for the Ada.Calendar package should pop up as
> well. Every other IDE I've ever used has this feature (regardless of
> language).

Then you've never used Turbo Pascal. :-)

For packages, this could be made better. Most of the time I don't think 
"I want a package in the Ada hierarchy, but which one?" I think "I need 
to write integers to text files. What is the name again? Is it 
Integer_Text_IO? Text_Integer_IO? Text_IO.Integer_IO? IO.Text.Integers? 
Is it in the Ada hierarchy or not?" So what would be really useful would 
be a search function that I could invoke with a key press, type "text 
integer", and get Ada.Integer_Text_IO and Ada.Text_IO.Integer_IO as 
matches, with different icons or colours to distinguish subpackage from 
child package and generic from nongeneric.

>    Some_Variable : My_Package. <- A list of types, procedures, etc.
> from My_Package should pop up here.

Since clearly only a type can fit here, only types should be shown.

-- 
Björn Persson                              PGP key A88682FD
                    omb jor ers @sv ge.
                    r o.b n.p son eri nu




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

* Re: Feasibility of using Ada in new development
  2004-09-02  8:56                             ` Martin Dowie
@ 2004-09-02 16:23                               ` Martin Krischik
  2004-09-03  8:30                                 ` Martin Dowie
  0 siblings, 1 reply; 103+ messages in thread
From: Martin Krischik @ 2004-09-02 16:23 UTC (permalink / raw)


Martin Dowie wrote:

> Hyman Rosen wrote:
>> stephane richard wrote:
>>> What I'd like to know is what could be code completed except for:
>>> - With and Use clauses
>>> - Pragma
>>> - and data types when creating a variable
>>> would there be anything else?
>>
>> You left out the most important thing, which is auto completion of
>> procedure calls. The IDE should offer a choice of all matching names
>> and parameter profiles. Once one is picked, it should display the
>> name and type of each parameter.
> 
> This will be a whole lot easier with Object.Method notation - this shold
> be Ada0Y.

I don't think it gets any easier. The main problem is the use of "use" here.
A lot of progammers "use" everything and anything and hence an enourmous
amount of identifier become visible. And then the IDE can't choose.

Shure, once you type "Object." the IDE can reduce the choice - but then
"Package." would have been just as easy for the IDE.

So actually more difficult. The IDE must now support "Object." and
"Package."

With Regards

Martin.

-- 
mailto://krischik@users.sourceforge.net
http://www.ada.krischik.com




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

* Re: Code completion
  2004-09-02 16:17                               ` Code completion Björn Persson
@ 2004-09-02 17:42                                 ` Georg Bauhaus
  0 siblings, 0 replies; 103+ messages in thread
From: Georg Bauhaus @ 2004-09-02 17:42 UTC (permalink / raw)


Bj�rn Persson <spam-away@nowhere.nil> wrote:

: So what would be really useful would 
: be a search function that I could invoke with a key press, type "text 
: integer", and get Ada.Integer_Text_IO and Ada.Text_IO.Integer_IO as 
: matches,

For a start, you could run

grep -i 'package\|procedure\|function' *.ads

once, in the directory where you Ada system files have been entered.
(Use findstr if you have Windows.) Save the output in a file. Then,
for a two word search, use the features of your editor to bind
a key to a command like the following.

grep -i %1 output.file | grep -i %2

:-) This is not a the real thing though. 


Searching the LRM in one of its free forms is useful, too.
It is available in Info format, so if Emacs is your IDE,
searching is easy and quick.


Is there a risk that with package-dot-popup functionality alone
program text will have an abundance of FQNs?

(The public Ada Emacs mode has identifier completion, though to some
extent only.)


-- Georg



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

* Re: Feasibility of using Ada in new development
  2004-09-02 15:11                             ` Dan McLeran
  2004-09-02 16:17                               ` Code completion Björn Persson
@ 2004-09-02 19:29                               ` Simon Wright
  2004-09-03 14:57                                 ` Dan McLeran
  1 sibling, 1 reply; 103+ messages in thread
From: Simon Wright @ 2004-09-02 19:29 UTC (permalink / raw)


dan.r.mcleran@seagate.com (Dan McLeran) writes:

> Exactly. When one types Ada. a list of available Ada packages, types,
> etc. should pop up to choose from. Then, if one types Ada.Calender. a
> list of valid stuff for the Ada.Calendar package should pop up as
> well. Every other IDE I've ever used has this feature (regardless of
> language). It's quite a productivity hit to not have this kind of help
> available when coding and once you've had it, you don't want to live
> without it.

I find that the latest GLIDE (the Emacs-based IDE from ACT) has
identifier completion, but only for unambiguous identifiers .. since
it clearly knows there are other identifiers, no doubt it could be
persuaded to display a pick list. I haven't explored this or the
equivalent in the new GPS either ..

-- 
Simon Wright                               100% Ada, no bugs.



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

* Re: Feasibility of using Ada in new development
  2004-09-02 15:18                         ` Dan McLeran
@ 2004-09-02 22:03                           ` Randy Brukardt
  2004-09-03 14:56                             ` Dan McLeran
  0 siblings, 1 reply; 103+ messages in thread
From: Randy Brukardt @ 2004-09-02 22:03 UTC (permalink / raw)


"Dan McLeran" <dan.r.mcleran@seagate.com> wrote in message
news:19b0e504.0409020718.40a57082@posting.google.com...
> There's also productivity concerns as well. One could do everything
> necessary to create great software with NotePad and batch files, but
> would you want to?

Why not? I still use the circa 1985 MS-DOS editor and batch files to
program; the Janus/Ada compiler provides everything else that I need (mostly
good program creating support). I haven't found a GUI editor yet that
matches the productivity of that old DOS editor. And compilation of the
entire project is just launching a single batch file (which usually contains
just a single command); all the GUI will do there is make it more likely to
lose the settings (because they're in some obscure settings file in the
registry or some remote directory, rather than in a batch file that gets
backed up daily with the source code...)

That said, I understand the many modern programmers are looking for GUIs to
hold their hands, and certainly we support that. Some things (like managing
projects) are rather confusing to do from the command line (of course, you
only need to do that once, so its not an ongoing pain).

> Regardless of language quality, (Ada is obviously a
> great language for building software), one needs tools that help
> generate great software. If the tools are any kind of hinderance, the
> language gets a bad rap.

Ada tools aren't a hindrance (and the rules of the language make building
programs trivial in any Ada compiler - compare gnatmake to the complicated
make scripts used to build C++ programs). The only problem is that they
don't necessarily give the comfort programmers are now expecting.

Of course, that's just part of a general dumping-down of programming. And
that's what managers want: they want any idiot to be able to build software,
so they can hire minimum wage people (or outsource) to do the job. But
you're never going to get anything well-designed and maintainable that way.

                            Randy.






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

* Re: Feasibility of using Ada in new development
  2004-08-24 20:25       ` Robert Law
  2004-08-25 21:05         ` Dan McLeran
  2004-08-26  9:52         ` Pascal Obry
@ 2004-09-03  7:14         ` Case Crab
  2004-09-03 12:21           ` Georg Bauhaus
  2 siblings, 1 reply; 103+ messages in thread
From: Case Crab @ 2004-09-03  7:14 UTC (permalink / raw)


blaw@mkisserve.com (Robert Law) wrote in message news:<8429999a.0408241225.144c0066@posting.google.com>...
> We are all zealots for one thing or another.  As far as what he says,
> I know and have worked with Java for three years.  I took a
> VisualBasic.NET class in school and I hated it.  So I guess that makes
> us even.
> 
> What I was trying to get across is my first message which must have
> been confusing for some is that I am interested in choosing a language
> that lets me develop excellant software with a minimum of the problems
> that are so prevalent in the C/C++ world.  And yes, I've been working
> with C for 14 years.  I'm uncomfortable writing a full suite of
> financial applications in C or C++.
> 
> The applications need to be able to be run in a graphical environment
> or accessed using a web browser.  Even using curses is okay.  Those of
> you who have watched a clerk enter timecards in a non graphical
> environment know what I mean when I say a GUI generally slows most
> users down when they are doing data entry.
> 
> I guess I need to learn Ada better.

Or you could just learn C++ better.  Or maybe you should look at
languages like Perl and Python.  To be competitive in development of
business applications you will have to get working code done more
cheaply than your competition writing Java or C++.  The only way to do
that is to either hire better people, or else get the same work done
with less code by picking higher-level languages.  Preferably both.

And there's no reason data entry via a GUI has to be cumbersome.  It
often is cumbersome because few GUI developers think about whether
their application is usable without a mouse.  But if you get things
like tab order and keyboard shortcuts right, a GUI can afford
efficient data entry.  Quicken is a great example of a GUI program
that can be operated easily without ever touching the mouse.



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

* Re: Feasibility of using Ada in new development
  2004-09-02 16:23                               ` Martin Krischik
@ 2004-09-03  8:30                                 ` Martin Dowie
  2004-09-03 18:04                                   ` Jeffrey Carter
  0 siblings, 1 reply; 103+ messages in thread
From: Martin Dowie @ 2004-09-03  8:30 UTC (permalink / raw)


Martin Krischik wrote:
>> This will be a whole lot easier with Object.Method notation - this
>> shold be Ada0Y.
>
> I don't think it gets any easier. The main problem is the use of
> "use" here. A lot of progammers "use" everything and anything and
> hence an enourmous amount of identifier become visible. And then the
> IDE can't choose.

But with Object.Method notation, the need to use "use" is reduced. :-)


> Shure, once you type "Object." the IDE can reduce the choice - but
> then "Package." would have been just as easy for the IDE.
>
> So actually more difficult. The IDE must now support "Object." and
> "Package."

That's a difficulty for the IDE implementor (thankfully) not me.

Cheers

-- Martin






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

* Re: Feasibility of using Ada in new development
  2004-09-03  7:14         ` Case Crab
@ 2004-09-03 12:21           ` Georg Bauhaus
  0 siblings, 0 replies; 103+ messages in thread
From: Georg Bauhaus @ 2004-09-03 12:21 UTC (permalink / raw)


Case Crab <casecrab@yahoo.com> wrote:
: 
: To be competitive in development of
: business applications you will have to get working code done more
: cheaply than your competition writing Java or C++.

And in the long run ...

The software crisis is up and well it seems. :-)


-- Georg



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

* Re: Feasibility of using Ada in new development
  2004-09-02 22:03                           ` Randy Brukardt
@ 2004-09-03 14:56                             ` Dan McLeran
  2004-09-03 18:09                               ` Jeffrey Carter
  2004-09-03 23:42                               ` Randy Brukardt
  0 siblings, 2 replies; 103+ messages in thread
From: Dan McLeran @ 2004-09-03 14:56 UTC (permalink / raw)


> Why not? I still use the circa 1985 MS-DOS editor and batch files to
> program; the Janus/Ada compiler provides everything else that I need (mostly
> good program creating support). 

You must have a high pain-tolerance.

> all the GUI will do there is make it more likely to
> lose the settings (because they're in some obscure settings file in the
> registry or some remote directory, rather than in a batch file that gets
> backed up daily with the source code...)

I would hope a high-quality IDE would not.

> That said, I understand the many modern programmers are looking for GUIs to
> hold their hands, and certainly we support that. 

Maybe not hold my hand but at least help speed up tedious tasks.

> Ada tools aren't a hindrance (and the rules of the language make building
> programs trivial in any Ada compiler - compare gnatmake to the complicated
> make scripts used to build C++ programs). The only problem is that they
> don't necessarily give the comfort programmers are now expecting.

I would agree, they aren't a hinderance but they aren't a whole lot of
help either. I would also agree that programmers now expect their IDE
to help them write software. The bar is being set higher in this area
and tool vendors can either keep up or get left behind.

> Of course, that's just part of a general dumping-down of programming. And
> that's what managers want: they want any idiot to be able to build software,
> so they can hire minimum wage people (or outsource) to do the job. But
> you're never going to get anything well-designed and maintainable that way.

I assume you made a typo above and mean dumbing-down? I'm not sure I
agree that tool vendors who make tools to make programming easier are
attempting to dumb-down programmers. As far as managers go, that may
be the case. I agree that you cannot outsource software to the lowest
bidder and then get something great out of it. I don't know about you,
but I would be a little nervous if I found out that the software
inside of the 777 I was about to board was given to the lowest bidder.
If this is the case in reality, don't tell me.



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

* Re: Feasibility of using Ada in new development
  2004-09-02 19:29                               ` Feasibility of using Ada in new development Simon Wright
@ 2004-09-03 14:57                                 ` Dan McLeran
  0 siblings, 0 replies; 103+ messages in thread
From: Dan McLeran @ 2004-09-03 14:57 UTC (permalink / raw)


> I find that the latest GLIDE (the Emacs-based IDE from ACT) has
> identifier completion, but only for unambiguous identifiers .. since
> it clearly knows there are other identifiers, no doubt it could be
> persuaded to display a pick list. I haven't explored this or the
> equivalent in the new GPS either ..
I'll check it out, thanks.



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

* Re: Feasibility of using Ada in new development
  2004-09-03  8:30                                 ` Martin Dowie
@ 2004-09-03 18:04                                   ` Jeffrey Carter
  0 siblings, 0 replies; 103+ messages in thread
From: Jeffrey Carter @ 2004-09-03 18:04 UTC (permalink / raw)


Martin Dowie wrote:

> But with Object.Method notation, the need to use "use" is reduced. :-)

Hey, we have this already. Just make every type a protected type :)

-- 
Jeff Carter
"It's all right, Taggart. Just a man and a horse being hung out there."
Blazing Saddles
34




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

* Re: Feasibility of using Ada in new development
  2004-09-03 14:56                             ` Dan McLeran
@ 2004-09-03 18:09                               ` Jeffrey Carter
  2004-09-03 23:42                               ` Randy Brukardt
  1 sibling, 0 replies; 103+ messages in thread
From: Jeffrey Carter @ 2004-09-03 18:09 UTC (permalink / raw)


Dan McLeran wrote:

> I assume you made a typo above and mean dumbing-down? I'm not sure I
> agree that tool vendors who make tools to make programming easier are
> attempting to dumb-down programmers. As far as managers go, that may
> be the case. I agree that you cannot outsource software to the lowest
> bidder and then get something great out of it. I don't know about you,
> but I would be a little nervous if I found out that the software
> inside of the 777 I was about to board was given to the lowest bidder.
> If this is the case in reality, don't tell me.

You'll be pleased to learn that Boeing and Airbus both use Ada for their 
embedded flight software. They weren't forced to. They did the 
comparisons and found that the reliability they needed could be obtained 
more cheaply with Ada than with any other language.

-- 
Jeff Carter
"It's all right, Taggart. Just a man and a horse being hung out there."
Blazing Saddles
34




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

* Re: Feasibility of using Ada in new development
  2004-09-03 14:56                             ` Dan McLeran
  2004-09-03 18:09                               ` Jeffrey Carter
@ 2004-09-03 23:42                               ` Randy Brukardt
  2004-09-04 15:06                                 ` Stephen Leake
  1 sibling, 1 reply; 103+ messages in thread
From: Randy Brukardt @ 2004-09-03 23:42 UTC (permalink / raw)


"Dan McLeran" <danmcleran@hotmail.com> wrote in message
news:e71d8d6.0409030656.eef6dcf@posting.google.com...
> > Why not? I still use the circa 1985 MS-DOS editor and batch files to
> > program; the Janus/Ada compiler provides everything else that I need
(mostly
> > good program creating support).
>
> You must have a high pain-tolerance.

Actually, I have less tolerance for IDEs that try to 'help' by reorganizing
my carefully structured program text. Or by changing identifiers to match
some capitalization "standard", even if they don't make sense: "Text_Io",
anyone?

In any case, my MS-DOS editor is multi-window, does auto-indenting, and
allows all commands to be operated on blocks (even rectangles) of text. This
last capability is invaluable, because it is often the case that you want to
replace something is a section of text, not the whole file, and there often
are enough mods that OKing each one isn't sane.

As far as creating the program goes, any decent Ada compiler will do that
with a single command (gnatmake for GNAT, make for Janus/Ada, and there are
similar commands in IBM/Rational Ada and in ObjectAda). Nothing complicated
about it, even if the program is split into shared libraries and the like.

Let me assure you, if a GUI really would help me be more productive, I'd be
using it. But short of building one myself (which I may do someday, the one
we provide with Janus/Ada is garbage), I don't expect to see it.

> > all the GUI will do there is make it more likely to
> > lose the settings (because they're in some obscure settings file in the
> > registry or some remote directory, rather than in a batch file that gets
> > backed up daily with the source code...)
>
> I would hope a high-quality IDE would not.

An IDE is in a lose-lose situation here. If it clutters up the users space
with all kinds of files with obscure contents, then people (rightly) will
complain about the clutter. If it hides the files, they are likely to not
get backed up. The "quality" of the IDE isn't going to fix this.

The original design of Janus/Ada had no extra files (other than object code)
at all. You could run 'make' anywhere, and it would work (presuming all of
the source was visible directly or on the search path). We went away from
that because people wanted better tools than the search path for structuring
than the search path, but I'm very unconvinced that anything could be
better. (Note that GNAT started with a system very similar to the original
Janus/Ada in this regard.)

> > That said, I understand the many modern programmers are looking for GUIs
to
> > hold their hands, and certainly we support that.
>
> Maybe not hold my hand but at least help speed up tedious tasks.

And that is my point. There are almost no tedious tasks in creating programs
from the command line in Janus/Ada, or in GNAT. So a GUI simply doesn't buy
much. The only thing I find tedious is waiting for the compiler to finish -
and no GUI is going to help with that!

...
> > Of course, that's just part of a general dumping-down of programming.
And
> > that's what managers want: they want any idiot to be able to build
software,
> > so they can hire minimum wage people (or outsource) to do the job. But
> > you're never going to get anything well-designed and maintainable that
way.
>
> I assume you made a typo above and mean dumbing-down?

Yes, it was a typo.

> I'm not sure I agree that tool vendors who make tools to make programming
> easier are attempting to dumb-down programmers. As far as managers go,
that may
> be the case.

Tools vendors write tools that they can sell, which means appealing to
managers. Any help to actual programmers is purely coincidental. (RRS never
did this, which is a significant reason that Janus/Ada wasn't very
successful.)

                    Randy.






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

* Re: Feasibility of using Ada in new development
  2004-09-03 23:42                               ` Randy Brukardt
@ 2004-09-04 15:06                                 ` Stephen Leake
  2004-09-04 18:31                                   ` Georg Bauhaus
                                                     ` (2 more replies)
  0 siblings, 3 replies; 103+ messages in thread
From: Stephen Leake @ 2004-09-04 15:06 UTC (permalink / raw)
  To: comp.lang.ada

"Randy Brukardt" <randy@rrsoftware.com> writes:

> Actually, I have less tolerance for IDEs that try to 'help' by reorganizing
> my carefully structured program text. Or by changing identifiers to match
> some capitalization "standard", even if they don't make sense: "Text_Io",
> anyone?

Emacs solves the "Text_IO" case by allowing users to specify
exceptions to the default capitalization rule. I expect a "good IDE"
to do the same.

> In any case, my MS-DOS editor is multi-window, does auto-indenting,
> and allows all commands to be operated on blocks (even rectangles)
> of text. This last capability is invaluable, because it is often the
> case that you want to replace something is a section of text, not
> the whole file, and there often are enough mods that OKing each one
> isn't sane.

I don't use it much, but I believe Emacs can do this as well, although
not all commands will respect rectangles. 

> As far as creating the program goes, any decent Ada compiler will do
> that with a single command (gnatmake for GNAT, make for Janus/Ada,
> and there are similar commands in IBM/Rational Ada and in
> ObjectAda). Nothing complicated about it, even if the program is
> split into shared libraries and the like.

The complicated part is fixing errors reported by the compiler. A
"good IDE" will capture the compiler output, parse it, and pull up the
source code with the cursor at the point of the and the error message
in another window. An "excellent IDE" will then, at a keystroke, fix
simple errors (like "= should be :="). Emacs (and GPS) does this.

This ability is a _large_ productivity gain. Ada reports lots of good
errors at compile time on "fresh" code; it must be easy to fix them.

It is also essential when refactoring; that also produces lots of
error messages.

> Let me assure you, if a GUI really would help me be more productive,
> I'd be using it. But short of building one myself (which I may do
> someday, the one we provide with Janus/Ada is garbage), I don't
> expect to see it.

I don't think of Emacs as a GUI, but it is and excellent IDE.

> > > all the GUI will do there is make it more likely to lose the
> > > settings (because they're in some obscure settings file in the
> > > registry or some remote directory, rather than in a batch file
> > > that gets backed up daily with the source code...)
> >
> > I would hope a high-quality IDE would not.
> 
> An IDE is in a lose-lose situation here. If it clutters up the users space
> with all kinds of files with obscure contents, then people (rightly) will
> complain about the clutter. If it hides the files, they are likely to not
> get backed up. The "quality" of the IDE isn't going to fix this.

I have two project files for each Ada project; one for GNAT and one
for Emacs. The GNAT one sets compiler search paths and options; the
Emacs one sets error parsing search paths and capitalization rules.
Both are ASCII, human-editable. That's a very good compromise between
your two extremes.

> > > That said, I understand the many modern programmers are looking
> > > for GUIs to hold their hands, and certainly we support that.
> >
> > Maybe not hold my hand but at least help speed up tedious tasks.
> 
> And that is my point. There are almost no tedious tasks in creating programs
> from the command line in Janus/Ada, or in GNAT. So a GUI simply doesn't buy
> much. The only thing I find tedious is waiting for the compiler to finish -
> and no GUI is going to help with that!

One tedious task is fixing compiler errors, as I discussed above.

Another is synching with a source code configuration management
repository. Emacs pcvs mode is hands down the best user interface for
this I have ever seen. It presents a list of files that need
attention, and offers advice on what to do with each. Rational
ClearCase doesn't come close to that; neither does GPS or any other
CVS GUI. This is an absolute requirement for IDE's used by my team;
consequently, they are all using Emacs (and I'm not getting complaints
after the first month :).

> ... > > Of course, that's just part of a general dumping-down of
> programming. And > > that's what managers want: they want any idiot
> to be able to build software, > > so they can hire minimum wage
> people (or outsource) to do the job. But > > you're never going to
> get anything well-designed and maintainable that way.
> >
> > I assume you made a typo above and mean dumbing-down?
> 
> Yes, it was a typo.

I agree here. Emacs is a powerful tool, and takes time to learn and
skill to use well. One guideline in judging a potential team member is
to ask if they like Emacs. If they've never tried it, I give them a
chance. If they have tried it and don't like it, they are suspect.
Same for whether they like Ada.

-- 
-- Stephe




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

* Re: Feasibility of using Ada in new development
  2004-09-01  4:04   ` Adrian Hoe
@ 2004-09-04 15:38     ` Wojtek Narczynski
  2004-09-05  8:27       ` Pascal Obry
                         ` (3 more replies)
  0 siblings, 4 replies; 103+ messages in thread
From: Wojtek Narczynski @ 2004-09-04 15:38 UTC (permalink / raw)


> As the matter of fact, we did worry about software which were not
> developed in Ada.
> 
> After switching to Ada, we have freed our mind. No more worries and this 
> let us concentrate more in developing good quality software and more 
> time on research projects.
> 
> Go for Ada!

Unfortunately, the world is a bit more complex, with billions lines of
existing code, customers that don't share Ada enthusiasm, not to
mention library code voids.

Don't get me wrong. I like Ada enough to be doing a project in it
right now, even thought Objective-C (it's on Mac) would have been a
better choice (libraries, libraries, libraries, compiler problems with
signals).

But let me give you a few examples:
- For a program that analyzes and transforms a C program I'd use SML
or O'Caml, because of their library code (ckit, FrontC), and pattern
mathing.
- For linux kernel development I'd use C, because otherwise I'd have
zero chances to commit my work.
- For a web e-commerce site I'd use WebObjects (now Java, but I
prefered it in Obj-C), because it will be the quickest to develop.
- Even the most Ada-centric company in the world uses tons of legacy C
code, and I don't think they will rewrite it in Ada any soon. Of
course, that code is causing them a lot of problems, but would you
call their business decision to stay with it, wrong?
- (vicious) There's also a company that is pursuing a subset of Ada,
with annotations. Are they wrong, should they switch to full Ada and
drop their annotations?
- (vicious) Would you use Ada instead of VDM or Z?

Final example, I am sincerely interested in the resolution, you may
perceive it as a challenge for an Ada zealot:
- http://state-threads.sourceforge.net/ how would you do this in Ada
(thread = task)? http://citeseer.ist.psu.edu/681845.html describes why
I would want this.

I really don't know wether to start a six months and up, high risk,
project to modify the GNAT runtime, or just use this library in C.


Regards,
Wojtek



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

* Re: Feasibility of using Ada in new development
  2004-09-04 15:06                                 ` Stephen Leake
@ 2004-09-04 18:31                                   ` Georg Bauhaus
  2004-09-05  8:18                                   ` Pascal Obry
  2004-09-07  8:32                                   ` Jacob Sparre Andersen
  2 siblings, 0 replies; 103+ messages in thread
From: Georg Bauhaus @ 2004-09-04 18:31 UTC (permalink / raw)


Stephen Leake <stephen_leake@acm.org> wrote:
: Randy Brukardt wrote:
:> This last capability is invaluable, because it is often the
:> case that you want to replace something is a section of text, not
:> the whole file, and there often are enough mods that OKing each one
:> isn't sane.
: 
: I don't use it much, but I believe Emacs can do this as well, although
: not all commands will respect rectangles. 

(narrow-to-region START END) etc.. The functions are usually bound to
some character following the  C-x n  prefix (n for narrow).

Regular expressions help me a lot when the regions must be rectangular
and I cannot use one in the dozen or so predefined *-rectangle commands :)


-- Georg



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

* Re: Feasibility of using Ada in new development
  2004-09-04 15:06                                 ` Stephen Leake
  2004-09-04 18:31                                   ` Georg Bauhaus
@ 2004-09-05  8:18                                   ` Pascal Obry
  2004-09-07  8:32                                   ` Jacob Sparre Andersen
  2 siblings, 0 replies; 103+ messages in thread
From: Pascal Obry @ 2004-09-05  8:18 UTC (permalink / raw)



Stephen Leake <stephen_leake@acm.org> writes:

> "Randy Brukardt" <randy@rrsoftware.com> writes:
> 
> > Actually, I have less tolerance for IDEs that try to 'help' by reorganizing
> > my carefully structured program text. Or by changing identifiers to match
> > some capitalization "standard", even if they don't make sense: "Text_Io",
> > anyone?
> 
> Emacs solves the "Text_IO" case by allowing users to specify
> exceptions to the default capitalization rule. I expect a "good IDE"
> to do the same.

GPS does have the same feature.

PAscal.

-- 

--|------------------------------------------------------
--| Pascal Obry                           Team-Ada Member
--| 45, rue Gabriel Peri - 78114 Magny Les Hameaux FRANCE
--|------------------------------------------------------
--|              http://www.obry.org
--| "The best way to travel is by means of imagination"
--|
--| gpg --keyserver wwwkeys.pgp.net --recv-key C1082595



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

* Re: Feasibility of using Ada in new development
  2004-09-04 15:38     ` Wojtek Narczynski
@ 2004-09-05  8:27       ` Pascal Obry
  2004-09-05 11:54         ` Marius Amado Alves
  2004-09-06 17:56         ` Wojtek Narczynski
  2004-09-06  3:11       ` Adrian Hoe
                         ` (2 subsequent siblings)
  3 siblings, 2 replies; 103+ messages in thread
From: Pascal Obry @ 2004-09-05  8:27 UTC (permalink / raw)



wojtek@power.com.pl (Wojtek Narczynski) writes:

> Unfortunately, the world is a bit more complex, with billions lines of
> existing code, customers that don't share Ada enthusiasm, not to
> mention library code voids.

Bindings ?

> But let me give you a few examples:
> - For linux kernel development I'd use C, because otherwise I'd have
> zero chances to commit my work.

I agree about this one.

> - For a web e-commerce site I'd use WebObjects (now Java, but I
> prefered it in Obj-C), because it will be the quickest to develop.

I'll use AWS, quite simpler and way quickest to develop with it.

> - Even the most Ada-centric company in the world uses tons of legacy C
> code, and I don't think they will rewrite it in Ada any soon. Of
> course, that code is causing them a lot of problems, but would you
> call their business decision to stay with it, wrong?

Rewrite certainly not, that will be stupid, but building binding when needed
is certainly a safe path in the long run.

> - (vicious) There's also a company that is pursuing a subset of Ada,
> with annotations. Are they wrong, should they switch to full Ada and
> drop their annotations?
> - (vicious) Would you use Ada instead of VDM or Z?

As you said: vicious :)

> Final example, I am sincerely interested in the resolution, you may
> perceive it as a challenge for an Ada zealot:
> - http://state-threads.sourceforge.net/ how would you do this in Ada
> (thread = task)? http://citeseer.ist.psu.edu/681845.html describes why
> I would want this.
> 
> I really don't know wether to start a six months and up, high risk,
> project to modify the GNAT runtime, or just use this library in C.

Why modify the GNAT runtime. This is a library right ? Ada with tasks,
protected object is certainly in a good position to propose something.
Maybe starting with AWS is a good idea...

Pascal.

-- 

--|------------------------------------------------------
--| Pascal Obry                           Team-Ada Member
--| 45, rue Gabriel Peri - 78114 Magny Les Hameaux FRANCE
--|------------------------------------------------------
--|              http://www.obry.org
--| "The best way to travel is by means of imagination"
--|
--| gpg --keyserver wwwkeys.pgp.net --recv-key C1082595



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

* Re: Feasibility of using Ada in new development
  2004-09-05  8:27       ` Pascal Obry
@ 2004-09-05 11:54         ` Marius Amado Alves
  2004-09-05 12:18           ` State Threads (was: Feasibility of using Ada in new development) Björn Persson
  2004-09-06 12:19           ` Feasibility of using Ada in new development Wojtek Narczynski
  2004-09-06 17:56         ` Wojtek Narczynski
  1 sibling, 2 replies; 103+ messages in thread
From: Marius Amado Alves @ 2004-09-05 11:54 UTC (permalink / raw)
  To: comp.lang.ada

>>Final example, I am sincerely interested in the resolution, you may
>>perceive it as a challenge for an Ada zealot:
>>- http://state-threads.sourceforge.net/ how would you do this in Ada...
>>I really don't know wether to start a six months and up, high risk,
>>project to modify the GNAT runtime, or just use this library in C.
> 
> Why modify the GNAT runtime. This is a library right ? Ada with tasks,
> protected object is certainly in a good position to propose something.
> Maybe starting with AWS is a good idea...

Definitely. This State Threads project seems a waste of time to me. If I 
understand correctly, their objective is increasing web server 
performance by a small factor, namely not changing the order of 
magnitude. To me this is clearly a case where it much less costly to 
achieve the same result by throwing in more hardware. And keep 
programming in AWS with the run time and operative system as it is.




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

* State Threads (was: Feasibility of using Ada in new development)
  2004-09-05 11:54         ` Marius Amado Alves
@ 2004-09-05 12:18           ` Björn Persson
  2004-09-05 13:13             ` State Threads Marius Amado Alves
  2004-09-06 12:19           ` Feasibility of using Ada in new development Wojtek Narczynski
  1 sibling, 1 reply; 103+ messages in thread
From: Björn Persson @ 2004-09-05 12:18 UTC (permalink / raw)


Marius Amado Alves wrote:

> This State Threads project seems a waste of time to me. If I 
> understand correctly, their objective is increasing web server 
> performance by a small factor, namely not changing the order of 
> magnitude. To me this is clearly a case where it much less costly to 
> achieve the same result by throwing in more hardware. And keep 
> programming in AWS with the run time and operative system as it is.

That's probably true if you were writing it yourself for your own server 
only, but what if it allows hundreds of thousands of people to each use 
one server instead of two?

-- 
Björn Persson                              PGP key A88682FD
                    omb jor ers @sv ge.
                    r o.b n.p son eri nu




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

* Re: State Threads
  2004-09-05 12:18           ` State Threads (was: Feasibility of using Ada in new development) Björn Persson
@ 2004-09-05 13:13             ` Marius Amado Alves
  2004-09-06 13:15               ` Wojtek Narczynski
  0 siblings, 1 reply; 103+ messages in thread
From: Marius Amado Alves @ 2004-09-05 13:13 UTC (permalink / raw)
  To: comp.lang.ada

> ... but what if it allows hundreds of thousands of people to each use
> one server instead of two?

Ok, it's probably a market perception issue. I don't feel a market for 
State Threads, one that compensates the effort and anyhow. And the risk. 
That's all I meant by "waste of time." But I'm may be wrong of course. 
If you believe there's a market for 100_000 copies of State Thread go 
for it.




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

* Re: Feasibility of using Ada in new development
  2004-09-01 15:30                       ` Ed Falis
@ 2004-09-05 20:50                         ` Florian Weimer
  2004-09-05 21:27                           ` Ed Falis
  0 siblings, 1 reply; 103+ messages in thread
From: Florian Weimer @ 2004-09-05 20:50 UTC (permalink / raw)


* Ed Falis:

> On Wed, 01 Sep 2004 10:14:55 -0400, Hyman Rosen <hyrosen@mail.com> wrote:
>
>> ... That person could even buy support from ACT, and act
>> as a conduit for his group of supported individuals.
>
> Not under the current terms of our license.

Shouldn't that read "current support contract terms"?



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

* Re: Feasibility of using Ada in new development
  2004-09-05 20:50                         ` Florian Weimer
@ 2004-09-05 21:27                           ` Ed Falis
  0 siblings, 0 replies; 103+ messages in thread
From: Ed Falis @ 2004-09-05 21:27 UTC (permalink / raw)


On Sun, 05 Sep 2004 22:50:02 +0200, Florian Weimer <fw@deneb.enyo.de>  
wrote:

> Shouldn't that read "current support contract terms"?


Sure, but you certainly knew what I meant without getting technical with  
the language?  "Pass-through" support is not allowed under the terms of  
our support licenses.

- Ed



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

* Re: Feasibility of using Ada in new development
  2004-09-04 15:38     ` Wojtek Narczynski
  2004-09-05  8:27       ` Pascal Obry
@ 2004-09-06  3:11       ` Adrian Hoe
  2004-09-06  8:17         ` Mark Lorenzen
  2004-09-06 12:31         ` Wojtek Narczynski
  2004-09-06  7:36       ` Ole-Hjalmar Kristensen
  2004-09-07 23:51       ` Randy Brukardt
  3 siblings, 2 replies; 103+ messages in thread
From: Adrian Hoe @ 2004-09-06  3:11 UTC (permalink / raw)


Wojtek Narczynski wrote:
>>As the matter of fact, we did worry about software which were not
>>developed in Ada.
>>
>>After switching to Ada, we have freed our mind. No more worries and this 
>>let us concentrate more in developing good quality software and more 
>>time on research projects.
>>
>>Go for Ada!
> 
> 
> Unfortunately, the world is a bit more complex, with billions lines of
> existing code, customers that don't share Ada enthusiasm, not to
> mention library code voids.
> 
> Don't get me wrong. I like Ada enough to be doing a project in it
> right now, even thought Objective-C (it's on Mac) would have been a
> better choice (libraries, libraries, libraries, compiler problems with
> signals).
> 
> But let me give you a few examples:
> - For a program that analyzes and transforms a C program I'd use SML
> or O'Caml, because of their library code (ckit, FrontC), and pattern
> mathing.
> - For linux kernel development I'd use C, because otherwise I'd have
> zero chances to commit my work.
> - For a web e-commerce site I'd use WebObjects (now Java, but I
> prefered it in Obj-C), because it will be the quickest to develop.
> - Even the most Ada-centric company in the world uses tons of legacy C
> code, and I don't think they will rewrite it in Ada any soon. Of
> course, that code is causing them a lot of problems, but would you
> call their business decision to stay with it, wrong?
> - (vicious) There's also a company that is pursuing a subset of Ada,
> with annotations. Are they wrong, should they switch to full Ada and
> drop their annotations?
> - (vicious) Would you use Ada instead of VDM or Z?
> 
> Final example, I am sincerely interested in the resolution, you may
> perceive it as a challenge for an Ada zealot:
> - http://state-threads.sourceforge.net/ how would you do this in Ada
> (thread = task)? http://citeseer.ist.psu.edu/681845.html describes why
> I would want this.
> 
> I really don't know wether to start a six months and up, high risk,
> project to modify the GNAT runtime, or just use this library in C.
> 
> 
> Regards,
> Wojtek


But Robert is going to develop commercial applications and most or all 
of them will be critical software for his clients business.

Just like Andrew Caroll quoted in this thread:
 > The thing that matters is that YOU are satisfied with a few select
 > languages and products that YOU are productive with, that they yield
 > excellent deliverables for your customers ("productive") and that using
 > them pays the bills.  ;-)  That's my two cents worth.

Customers don't care what you use to develop your software, what they 
care is that your software works and have their job done. Ada can 
deliver this.

I wonder if Robert Law has chosen Ada?
-- 
Adrian Hoe
m a i l b o x AT a d r i a n h o e . c o m




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

* Re: Feasibility of using Ada in new development
  2004-09-04 15:38     ` Wojtek Narczynski
  2004-09-05  8:27       ` Pascal Obry
  2004-09-06  3:11       ` Adrian Hoe
@ 2004-09-06  7:36       ` Ole-Hjalmar Kristensen
  2004-09-06 15:32         ` Wojtek Narczynski
  2004-09-07 23:51       ` Randy Brukardt
  3 siblings, 1 reply; 103+ messages in thread
From: Ole-Hjalmar Kristensen @ 2004-09-06  7:36 UTC (permalink / raw)


>>>>> "WN" == Wojtek Narczynski <wojtek@power.com.pl> writes:

<snip>

    WN> Final example, I am sincerely interested in the resolution, you may
    WN> perceive it as a challenge for an Ada zealot:
    WN> - http://state-threads.sourceforge.net/ how would you do this in Ada
    WN> (thread = task)? http://citeseer.ist.psu.edu/681845.html describes why
    WN> I would want this.

Its was shown years ago by researchers from IBM, that switching
threads only when the application was in a well-defined state gave
opportuninty for considerable optimization of thread switching, so the
basic idea is sound.

But I am not convinced that the advantages of using state-threads are
much more than you would get from just using another task dispatching
policy in Ada. Thre trouble with that is of course that such a policy
is not part of the Ada standard. On the other hand, state-threads
aren't a standard either.

I think just switching from a the native threads interface in GNAT to
the user-space POSIX version should give you an order of magnitude
better performance wrt. task switching time, at least it did last time
I tried it. You also will get some of the drawbacks, like your whole
program will block on some OS calls.

Fundamentally, what you need is fast task switching and and if you
want to minimize the number of locks, non-preemptive scheduling.

I believe that at least one Ada vendor (Green Hills) can supply
you with a version which supports non-preemptive scheduling.

I also think that it is possible to compile the FSU Pthreads library
in such a way that it will give you non-preemptive scheduling. Whether
the GNAT runtime would still work with a modified FSU pthreads, I
cannot say.

    WN> I really don't know wether to start a six months and up, high risk,
    WN> project to modify the GNAT runtime, or just use this library in C.

I would think using any library derived from Netscape *IS* high risk.
It is easily the most bug-ridden program on my desktop.

Also, do not believe that when using non-preemptive scheduling that
you can get rid of *ALL* locks. Depending on you application, there
will usually be locks which must be held between activations of your
thread.

    WN> Regards,
    WN> Wojtek

-- 
   C++: The power, elegance and simplicity of a hand grenade.



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

* Re: Feasibility of using Ada in new development
  2004-09-06  3:11       ` Adrian Hoe
@ 2004-09-06  8:17         ` Mark Lorenzen
  2004-09-06 12:31         ` Wojtek Narczynski
  1 sibling, 0 replies; 103+ messages in thread
From: Mark Lorenzen @ 2004-09-06  8:17 UTC (permalink / raw)


Adrian Hoe <AdrianHoe@nowhere.com> writes:

> Wojtek Narczynski wrote:
> >>As the matter of fact, we did worry about software which were not
> >>developed in Ada.
> >>
> >> After switching to Ada, we have freed our mind. No more worries and
> >> this let us concentrate more in developing good quality software
> >> and more time on research projects.
> >>
> >>Go for Ada!
> > Unfortunately, the world is a bit more complex, with billions lines
> > of
> > existing code, customers that don't share Ada enthusiasm, not to
> > mention library code voids.
> > Don't get me wrong. I like Ada enough to be doing a project in it
> > right now, even thought Objective-C (it's on Mac) would have been a
> > better choice (libraries, libraries, libraries, compiler problems with
> > signals).
> > But let me give you a few examples:
> > - For a program that analyzes and transforms a C program I'd use SML
> > or O'Caml, because of their library code (ckit, FrontC), and pattern
> > mathing.
> > - For linux kernel development I'd use C, because otherwise I'd have
> > zero chances to commit my work.
> > - For a web e-commerce site I'd use WebObjects (now Java, but I
> > prefered it in Obj-C), because it will be the quickest to develop.
> > - Even the most Ada-centric company in the world uses tons of legacy C
> > code, and I don't think they will rewrite it in Ada any soon. Of
> > course, that code is causing them a lot of problems, but would you
> > call their business decision to stay with it, wrong?
> > - (vicious) There's also a company that is pursuing a subset of Ada,
> > with annotations. Are they wrong, should they switch to full Ada and
> > drop their annotations?
> > - (vicious) Would you use Ada instead of VDM or Z?
> > Final example, I am sincerely interested in the resolution, you may
> > perceive it as a challenge for an Ada zealot:
> > - http://state-threads.sourceforge.net/ how would you do this in Ada
> > (thread = task)? http://citeseer.ist.psu.edu/681845.html describes why
> > I would want this.
> > I really don't know wether to start a six months and up, high risk,
> > project to modify the GNAT runtime, or just use this library in C.
> > Regards,
> > Wojtek
> 
> 
> But Robert is going to develop commercial applications and most or all
> of them will be critical software for his clients business.
> 
> Just like Andrew Caroll quoted in this thread:
>  > The thing that matters is that YOU are satisfied with a few select
>  > languages and products that YOU are productive with, that they yield
>  > excellent deliverables for your customers ("productive") and that using
>  > them pays the bills.  ;-)  That's my two cents worth.
> 
> Customers don't care what you use to develop your software, what they
> care is that your software works and have their job done. Ada can
> deliver this.

Unfortunately a lot of customers demand the use of a specific
language, even though that language may not be suitable for the
problem.

> 
> I wonder if Robert Law has chosen Ada?
> -- 
> Adrian Hoe
> m a i l b o x AT a d r i a n h o e . c o m

Regards,
- Mark Lorenzen



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

* Re: Feasibility of using Ada in new development
  2004-09-05 11:54         ` Marius Amado Alves
  2004-09-05 12:18           ` State Threads (was: Feasibility of using Ada in new development) Björn Persson
@ 2004-09-06 12:19           ` Wojtek Narczynski
  1 sibling, 0 replies; 103+ messages in thread
From: Wojtek Narczynski @ 2004-09-06 12:19 UTC (permalink / raw)


Marius Amado Alves <amado.alves@netcabo.pt> wrote in message news:<mailman.34.1094385273.31213.comp.lang.ada@ada-france.org>...
> >>Final example, I am sincerely interested in the resolution, you may
> >>perceive it as a challenge for an Ada zealot:
> >>- http://state-threads.sourceforge.net/ how would you do this in Ada...
> >>I really don't know wether to start a six months and up, high risk,
> >>project to modify the GNAT runtime, or just use this library in C.
> > 
> > Why modify the GNAT runtime. This is a library right ? Ada with tasks,
> > protected object is certainly in a good position to propose something.
> > Maybe starting with AWS is a good idea...
> 
> Definitely. This State Threads project seems a waste of time to me. If I 
> understand correctly, their objective is increasing web server 
> performance by a small factor, namely not changing the order of 
> magnitude. 

Actually, their objective is resource aware scheduling of many (even
100K and up) cooperative threads.

The "Accelerating Apache" project is a daughter projects that shows
that even an application that has not been written in this in mind,
can benefit.

Now quote from the "Accelerating Apache" project home page:

"Nonetheless, this project's aggressive optimizations make Apache/1.3
up to ten times faster and Apache/2.0 up to four times faster on the
SPECweb96 benchmark."

x10 performance increase is exaclty one order of magnitude, which
proves, again, that love is blind. Wether an x4 optimization is
interesting, depends on the situation.

> To me this is clearly a case where it much less costly to 
> achieve the same result by throwing in more hardware. And keep 
> programming in AWS with the run time and operative system as it is.

Incidentally, this is always the answer of Java fans: "throw in more
hardware".



Regards,
Wojtek



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

* Re: Feasibility of using Ada in new development
  2004-09-06  3:11       ` Adrian Hoe
  2004-09-06  8:17         ` Mark Lorenzen
@ 2004-09-06 12:31         ` Wojtek Narczynski
  1 sibling, 0 replies; 103+ messages in thread
From: Wojtek Narczynski @ 2004-09-06 12:31 UTC (permalink / raw)


Hello,

> But Robert is going to develop commercial applications and most or all 
> of them will be critical software for his clients business.

I don't think this has been said in the original post.

> Customers don't care what you use to develop your software, what they 
> care is that your software works and have their job done.

My customers often get source code, and they would be very surprised
if they got Ada instead of what they ordered.

> Ada can deliver this.

It takes much more than Ada. GPS is in Ada, Anjuta is in C++, both are
GTK, go compare.

> I wonder if Robert Law has chosen Ada?

Well, he seemed already convinced in his original post. I'm more
curious what will be the commercial result in a few years.

Regards,
Wojtek



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

* Re: State Threads
  2004-09-05 13:13             ` State Threads Marius Amado Alves
@ 2004-09-06 13:15               ` Wojtek Narczynski
  2004-09-06 14:28                 ` Marius Amado Alves
  2004-09-06 16:23                 ` Georg Bauhaus
  0 siblings, 2 replies; 103+ messages in thread
From: Wojtek Narczynski @ 2004-09-06 13:15 UTC (permalink / raw)


Marius Amado Alves <amado.alves@netcabo.pt> wrote in message news:<mailman.36.1094390025.31213.comp.lang.ada@ada-france.org>...
>> ... but what if it allows hundreds of thousands of people to each
>> use one server instead of two?

That would be one instead of ten, or ten instead of one hundred, for
the application that our company is looking at writing.

> Ok, it's probably a market perception issue. I don't feel a market for 
> State Threads, one that compensates the effort and anyhow. And the risk. 
> That's all I meant by "waste of time." But I'm may be wrong of course. 
> If you believe there's a market for 100_000 copies of State Thread go 
> for it.

I am not sure what you mean by "market for State Threads", as they are
already available free in at least three incarnations (SGI, GNU Pth,
Capriccio).

But there definitely is a market for very high performance internet
servers (Zeus, Stalker, Lyris - to name just three successful
companies).

At first sight Ada seems a perfect choice for very high performance
software, but when I looked closely, the results were disappointing.

Also disappointing is the NIH syndrome that prevails the Ada world.

Regards,
Wojtek



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

* Re: State Threads
  2004-09-06 13:15               ` Wojtek Narczynski
@ 2004-09-06 14:28                 ` Marius Amado Alves
  2004-09-06 18:24                   ` Wojtek Narczynski
  2004-09-06 16:23                 ` Georg Bauhaus
  1 sibling, 1 reply; 103+ messages in thread
From: Marius Amado Alves @ 2004-09-06 14:28 UTC (permalink / raw)
  To: comp.lang.ada

> But there definitely is a market for very high performance internet
> servers (Zeus, Stalker, Lyris - to name just three successful
> companies).

OK. I met Zeus once. So maybe there's a market. Good.

> At first sight Ada seems a perfect choice for very high performance
> software, but when I looked closely, the results were disappointing.

I've seen plenty of information and indication that C does not 
outperform Ada significantly or at all.

> Also disappointing is the NIH syndrome that prevails the Ada world.

No. We may be keen on 100% Ada, 0% bugs, but will use a good binding 
happily. GtkAda, Pgsql...




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

* Re: Feasibility of using Ada in new development
  2004-09-06  7:36       ` Ole-Hjalmar Kristensen
@ 2004-09-06 15:32         ` Wojtek Narczynski
  0 siblings, 0 replies; 103+ messages in thread
From: Wojtek Narczynski @ 2004-09-06 15:32 UTC (permalink / raw)


Hello,

With ST implementations already exist. Non-preemptive scheduling (from
GHS) alone is not enough. What I would need is scheduling based on
file descriptor readiness.

> Fundamentally, what you need is fast task switching and and if you
> want to minimize the number of locks, non-preemptive scheduling.

This is why I asked about a cooperative GNAT runtime some time ago on
this list :-)

> I also think that it is possible to compile the FSU Pthreads library
> in such a way that it will give you non-preemptive scheduling. Whether
> the GNAT runtime would still work with a modified FSU pthreads, I
> cannot say.

I compiled GNAT 3.4.1 FSU pthreads runtime. When I use libgthread.a
supplied with binary gnat-3.15p it only grumbles about errno at link
time. When I export errno in my app, it works. I also compiled the
curent fsu pthreads http://www.informatik.hu-berlin.de/~mueller/pthreads/
(only compiles with gcc 2.x series), but those two turned out to be
rather out of sync, and it is not documented, which version of
pthreads, and which switches, to use.

But in general this is my current idea to obtain a runing cooperative
fsu-pthreads gnat 3.4.1 runtime, and then try to modify the scheduler
to consider IO. The problem is signals, my current idea is to have
minimal signal handlers that will merely make note of the signal
reception, and then have the scheduler dispatch the actual
Signal_Handler. I also expect to run into scalability problems of the
runtime itself, mean things like All_Task_List, with emphasis on
'list'. Another idea of mine is to port the runtime to GNU Pth, which
does the same as ST, and more. Porting the GNAT runtime to ST seems
infeasible.

> I would think using any library derived from Netscape *IS* high risk.
> It is easily the most bug-ridden program on my desktop.

You might be confusing Netscape server business (yes, there used to be
one), with their browser busines :-) Using State Threads incurrs
little risk alone, because it is only 3000 lines of (IMO quite good)
code, but using C is high risk. This is why, for quite some time, I've
been thinking how to do it in Ada.

> Also, do not believe that when using non-preemptive scheduling that
> you can get rid of *ALL* locks. Depending on you application, there
> will usually be locks which must be held between activations of your
> thread.

There sure will be locks, but they never require syscalls, nor even
CMPXCHG. In other words, they are extremely fast locks. But it's not
really about locks, it's about socket descriptor readiness.

Thanks for confirming what I already know on this subject :-)

Regards,
Wojtek



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

* Re: State Threads
  2004-09-06 13:15               ` Wojtek Narczynski
  2004-09-06 14:28                 ` Marius Amado Alves
@ 2004-09-06 16:23                 ` Georg Bauhaus
  2004-09-07  8:01                   ` Wojtek Narczynski
  1 sibling, 1 reply; 103+ messages in thread
From: Georg Bauhaus @ 2004-09-06 16:23 UTC (permalink / raw)


Wojtek Narczynski <wojtek@power.com.pl> wrote:
:> State Threads, one that compensates the effort and anyhow. And the risk. 
:> That's all I meant by "waste of time." But I'm may be wrong of course. 
:> If you believe there's a market for 100_000 copies of State Thread go 
:> for it.
: 
: I am not sure what you mean by "market for State Threads", as they are
: already available free in at least three incarnations (SGI, GNU Pth,
: Capriccio).

If a user at a client computer decides to open another view of
some page in a web based application (a tab, a window), would that lead
to the creation of another thread? If not, can thread data safely be used
to react to input from either view?


-- Georg



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

* Re: Feasibility of using Ada in new development
  2004-09-05  8:27       ` Pascal Obry
  2004-09-05 11:54         ` Marius Amado Alves
@ 2004-09-06 17:56         ` Wojtek Narczynski
  2004-09-06 20:52           ` Pascal Obry
  2004-09-07 23:59           ` Randy Brukardt
  1 sibling, 2 replies; 103+ messages in thread
From: Wojtek Narczynski @ 2004-09-06 17:56 UTC (permalink / raw)


Pascal Obry <pascal@obry.org> wrote in message news:<uhdqdjf2z.fsf@obry.org>...

>> - For a web e-commerce site I'd use WebObjects (now Java, but I
>> prefered it in Obj-C), because it will be the quickest to develop.
> 
> I'll use AWS, quite simpler and way quickest to develop with it.

Because you know WebObjects, and don't like it, or because you only
know AWS?

> Why modify the GNAT runtime. This is a library right ? Ada with tasks,
> protected object is certainly in a good position to propose something.

I reason that you have not looked at the material under the links I
sent. While Ada tasks and protected objects provide convenient
semantics, their GNAT implementation with task = os level thread does
not yield desired performance under certain applications. In this
situation for C there are libraries of cooperative threads with
resource aware scheduling, for Ada there isn't anything comparable.
More info in other posts.

> Maybe starting with AWS is a good idea...

Can it scale to > 100K socket connections?

Regards,
Wojtek



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

* Re: State Threads
  2004-09-06 14:28                 ` Marius Amado Alves
@ 2004-09-06 18:24                   ` Wojtek Narczynski
  2004-09-07  0:23                     ` Marius Amado Alves
  2004-09-07 10:08                     ` Ole-Hjalmar Kristensen
  0 siblings, 2 replies; 103+ messages in thread
From: Wojtek Narczynski @ 2004-09-06 18:24 UTC (permalink / raw)


Hello,

> I've seen plenty of information and indication that C does not 
> outperform Ada significantly or at all.

You merely scratch the subject. How exactly would you structure an Ada
application to handle 100K socket connections?


>> Also disappointing is the NIH syndrome that prevails the Ada world.

> No. We may be keen on 100% Ada, 0% bugs, but will use a good binding 
> happily. GtkAda, Pgsql...

Mercy. Without non-Ada code you could not even boot your computer, so
you are forced to use non-Ada code, it's not your choice.

Besides, this NIH syndrome is about reusing concepts, not about
reusing code.

Regards,
Wojtek



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

* Re: Feasibility of using Ada in new development
  2004-09-06 17:56         ` Wojtek Narczynski
@ 2004-09-06 20:52           ` Pascal Obry
  2004-09-07  8:40             ` Wojtek Narczynski
  2004-09-07 23:59           ` Randy Brukardt
  1 sibling, 1 reply; 103+ messages in thread
From: Pascal Obry @ 2004-09-06 20:52 UTC (permalink / raw)



wojtek@power.com.pl (Wojtek Narczynski) writes:

> I reason that you have not looked at the material under the links I
> sent. While Ada tasks and protected objects provide convenient
> semantics, their GNAT implementation with task = os level thread does
> not yield desired performance under certain applications. In this
> situation for C there are libraries of cooperative threads with
> resource aware scheduling, for Ada there isn't anything comparable.
> More info in other posts.

Ok, yet you can build such library without modifying the GNAT runtime.

> 
> > Maybe starting with AWS is a good idea...
> 
> Can it scale to > 100K socket connections?

No, I said that AWS could be a good starting point.

Pascal.

-- 

--|------------------------------------------------------
--| Pascal Obry                           Team-Ada Member
--| 45, rue Gabriel Peri - 78114 Magny Les Hameaux FRANCE
--|------------------------------------------------------
--|              http://www.obry.org
--| "The best way to travel is by means of imagination"
--|
--| gpg --keyserver wwwkeys.pgp.net --recv-key C1082595



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

* Re: State Threads
  2004-09-06 18:24                   ` Wojtek Narczynski
@ 2004-09-07  0:23                     ` Marius Amado Alves
  2004-09-07  8:13                       ` Wojtek Narczynski
  2004-09-07 10:08                     ` Ole-Hjalmar Kristensen
  1 sibling, 1 reply; 103+ messages in thread
From: Marius Amado Alves @ 2004-09-07  0:23 UTC (permalink / raw)
  To: comp.lang.ada

> ... How exactly would you structure an Ada
> application to handle 100K socket connections?

With the right compiler and operating system. If any of these does not 
exist yet, then write it, or, as others indicated, write a supporting 
library. Whatever you write, do it in Ada :-)

>>No. We may be keen on 100% Ada, 0% bugs, but will use a good binding 
>>happily. GtkAda, Pgsql...
> Mercy. Without non-Ada code you could not even boot your computer, so
> you are forced to use non-Ada code, it's not your choice.

Wasn't that what I said?

> Besides, this NIH syndrome is about reusing concepts, not about
> reusing code.

Sure.

Anyway, aren't there operating systems written in Ada, booting many a 
system? And with well performant, scalable, multitasking?




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

* Re: State Threads
  2004-09-06 16:23                 ` Georg Bauhaus
@ 2004-09-07  8:01                   ` Wojtek Narczynski
  2004-09-07  9:16                     ` Georg Bauhaus
  0 siblings, 1 reply; 103+ messages in thread
From: Wojtek Narczynski @ 2004-09-07  8:01 UTC (permalink / raw)


Georg Bauhaus <sb463ba@l1-hrz.uni-duisburg.de> wrote in message news:<chi2uq$4tp$1@a1-hrz.uni-duisburg.de>...

> If a user at a client computer decides to open another view of
> some page in a web based application (a tab, a window), would that lead
> to the creation of another thread? If not, can thread data safely be used
> to react to input from either view?

Please read this introductory paper:
http://state-threads.sourceforge.net/docs/st.html

Regards,
Wojtek



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

* Re: State Threads
  2004-09-07  0:23                     ` Marius Amado Alves
@ 2004-09-07  8:13                       ` Wojtek Narczynski
  2004-09-07 10:03                         ` Marius Amado Alves
  0 siblings, 1 reply; 103+ messages in thread
From: Wojtek Narczynski @ 2004-09-07  8:13 UTC (permalink / raw)


Marius Amado Alves <amado.alves@netcabo.pt> wrote in message news:<mailman.51.1094516595.31213.comp.lang.ada@ada-france.org>...
> > ... How exactly would you structure an Ada
> > application to handle 100K socket connections?
> 
> With the right compiler and operating system. If any of these does not 
> exist yet, then write it, or, as others indicated, write a supporting 
> library. Whatever you write, do it in Ada :-)

Thank you, this is very informative. To date I've been mistaken I
thought I needed a wrong compiler and operating system.

I am starting to suspect that you don't have anything to say.


Regards,
Wojtek



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

* Re: Feasibility of using Ada in new development
  2004-09-04 15:06                                 ` Stephen Leake
  2004-09-04 18:31                                   ` Georg Bauhaus
  2004-09-05  8:18                                   ` Pascal Obry
@ 2004-09-07  8:32                                   ` Jacob Sparre Andersen
  2004-09-07  8:57                                     ` Georg Bauhaus
  2 siblings, 1 reply; 103+ messages in thread
From: Jacob Sparre Andersen @ 2004-09-07  8:32 UTC (permalink / raw)


Stephen Leake wrote:

> Emacs solves the "Text_IO" case by allowing users to specify
> exceptions to the default capitalization rule. I expect a "good IDE"
> to do the same.

How do I do that?  (both in general and per-project)

Jacob (still not an Emacs expert)
-- 
"Any newsgroup where software developers hang out is
  an Emacs newsgroup."




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

* Re: Feasibility of using Ada in new development
  2004-09-06 20:52           ` Pascal Obry
@ 2004-09-07  8:40             ` Wojtek Narczynski
  0 siblings, 0 replies; 103+ messages in thread
From: Wojtek Narczynski @ 2004-09-07  8:40 UTC (permalink / raw)


Pascal,

> Ok, yet you can build such library without modifying the GNAT runtime.

There are basically two ways to approach 100K concurrent connections
problem, as described in http://citeseer.ist.psu.edu/681845.html:
threads and events (there are variants, but those are the two opposite
poles). The authors conclude that threads are way easier to program,
which my personal experience confirms. With library code the thread
(=task) approach is not available. You can't write a library that will
allow you to create 100K tasks, nor aid the scheduler with IO
descriptor availability awareness.

>>> Maybe starting with AWS is a good idea...
>> 
>> Can it scale to > 100K socket connections?
> 
> No, I said that AWS could be a good starting point.

polyorb might be a better one, because it already has event
demultiplexing code.


Regards,
Wojtek



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

* Re: Feasibility of using Ada in new development
  2004-09-07  8:32                                   ` Jacob Sparre Andersen
@ 2004-09-07  8:57                                     ` Georg Bauhaus
  2004-09-08 12:26                                       ` Stephen Leake
  0 siblings, 1 reply; 103+ messages in thread
From: Georg Bauhaus @ 2004-09-07  8:57 UTC (permalink / raw)


Jacob Sparre Andersen <sparre@crs4.it> wrote:
: Stephen Leake wrote:
: 
:> Emacs solves the "Text_IO" case by allowing users to specify
:> exceptions to the default capitalization rule. I expect a "good IDE"
:> to do the same.
: 
: How do I do that?  (both in general and per-project)

   "The idea  is to  create a dictionary  of exceptions,  and store it
in a file. This file should contain  one identifier per line, with the
casing you   want   to   force.   The   default   name   for   this
file   is `~/.emacs_case_exceptions'.  You can  of course  change  this
name, through the variable `ada-case-exception-file'."

From the Ada mode info file. It also explains the variables that
control casing.

HTH, Georg




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

* Re: State Threads
  2004-09-07  8:01                   ` Wojtek Narczynski
@ 2004-09-07  9:16                     ` Georg Bauhaus
  2004-09-08 12:38                       ` Wojtek Narczynski
  0 siblings, 1 reply; 103+ messages in thread
From: Georg Bauhaus @ 2004-09-07  9:16 UTC (permalink / raw)


Wojtek Narczynski <wojtek@power.com.pl> wrote:
: Georg Bauhaus <sb463ba@l1-hrz.uni-duisburg.de> wrote in message news:<chi2uq$4tp$1@a1-hrz.uni-duisburg.de>...
: 
:> If a user at a client computer decides to open another view of
:> some page in a web based application (a tab, a window), would that lead
:> to the creation of another thread? If not, can thread data safely be used
:> to react to input from either view?
: 
: Please read this introductory paper:
: http://state-threads.sourceforge.net/docs/st.html

I have, and I think it doesn't address the question.
I'm not saying it has to, but the mechanism seems as incomplete
for Web based applications as many others. (Maybe I haven't read
with enough attention, though.)

For example, HTTP is essentially stateless.
Some port receives the input sequence i1, i2, then
i1 _again_. Let ik stand for some Web form.
i1 has triggered a state change in the server's store.
This state change might affect the server's reaction to i2 arriving.
("Go this way if i1 has been X, that way if i1 has been Y").
Now i1 arrives again (user has pressed some back navigation button say).
Only this time i1 carries slightly different data.
Again, this should affect the server's reaction to a possible i2.
Now the previous rule setting (based on previous i1) for reacting to i2
is outdated, unless the server updates all affected storage in the server.
What if i2 arrives another time now?

-- Georg



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

* Re: State Threads
  2004-09-07  8:13                       ` Wojtek Narczynski
@ 2004-09-07 10:03                         ` Marius Amado Alves
  0 siblings, 0 replies; 103+ messages in thread
From: Marius Amado Alves @ 2004-09-07 10:03 UTC (permalink / raw)
  To: comp.lang.ada

>>With the right compiler and operating system. If any of these does not 
>>exist yet, then write it, or, as others indicated, write a supporting 
>>library. Whatever you write, do it in Ada :-)
> 
> Thank you, this is very informative. To date I've been mistaken I
> thought I needed a wrong compiler and operating system.

Maybe I failed to express the hint at the strong possibility that there 
are Ada compilers and operating systems out there other than GNAT and 
Linux or Windows that may not have the performance problems under 
discussion.




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

* Re: State Threads
  2004-09-06 18:24                   ` Wojtek Narczynski
  2004-09-07  0:23                     ` Marius Amado Alves
@ 2004-09-07 10:08                     ` Ole-Hjalmar Kristensen
  2004-09-07 15:20                       ` Wojtek Narczynski
  1 sibling, 1 reply; 103+ messages in thread
From: Ole-Hjalmar Kristensen @ 2004-09-07 10:08 UTC (permalink / raw)


>>>>> "WN" == Wojtek Narczynski <wojtek@power.com.pl> writes:

    WN> Hello,
    >> I've seen plenty of information and indication that C does not 
    >> outperform Ada significantly or at all.

    WN> You merely scratch the subject. How exactly would you structure an Ada
    WN> application to handle 100K socket connections?

One (very old) way of doing this is the way it has tradionally been
done in TP monitors. You have a pool of servers for each server class.
In case you only want to have a web server, you just need one pool.
The number of servers (threads) are dependent on you number of CPU's.
Typically you want some more threads than CPU's to account for threads
that may be blocking on IO. If you want to be fancy (TP systems are),
you can include a load balancer which creates new server threads in
case some of you CPU's are idle although there are unprocessed
messages, otherwise just have a reasonable number of threads in
reserve. All threads are identical, and execute in an endless loop,
consuming messages from the network. When the message is read, the
thread restores the execution context, in a TP system it would be the
transaction state, in a web server it would be the session state.  It
then dispatches on the message type, and executes in the restored
context. When it is finished, it sends the result. This model has no
problems with blocking on disk IO, because if a thread needs to block,
it blocks, and some other thread gets to execute. As long as there are
enough threads, no CPU will be idle. Since we dimension the number of
threads after the number of CPU's not after the number of connections,
there should be no thrashing. Now, this model is probably closer to an
event driven model than you like, but you do not need to register any
callbacks. The two critical points with this scheme are fast retrieval
of messages from the network and fast restoration of the execution
context. On a Unix system the select or poll system calls would be the
natural choiche to handle your sockets, although I wonder how it would
scale to 100K connections. The execution context takes the place of
the stack in state-threads, whether one is better than the other
depends on the application, I would think. Also observe that the
state-threads library has no explicit support for multiple CPU's.

You might argue that in a typical web server, each new request will
result in blocking disk IO, thus leading to an ever increasing number
of threads. But the answer is, just don't increase the number of
threads. If the disk is the bottleneck, increasing the number of
active requests will not give you any better throughput as long as you
have a reasonable number of active entries in the disk queue at any
time.

    >>> Also disappointing is the NIH syndrome that prevails the Ada world.

    >> No. We may be keen on 100% Ada, 0% bugs, but will use a good binding 
    >> happily. GtkAda, Pgsql...

    WN> Mercy. Without non-Ada code you could not even boot your computer, so
    WN> you are forced to use non-Ada code, it's not your choice.

    WN> Besides, this NIH syndrome is about reusing concepts, not about
    WN> reusing code.

    WN> Regards,
    WN> Wojtek

-- 
   C++: The power, elegance and simplicity of a hand grenade.



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

* Re: State Threads
  2004-09-07 10:08                     ` Ole-Hjalmar Kristensen
@ 2004-09-07 15:20                       ` Wojtek Narczynski
  0 siblings, 0 replies; 103+ messages in thread
From: Wojtek Narczynski @ 2004-09-07 15:20 UTC (permalink / raw)


Hello,

> One (very old) way of doing this is the way it has tradionally been
> done in TP monitors. (...)

Gray & Reuter 'Transaction processing: concepts and techniques' is one
of my favourite tech books.

> On a Unix system the select or poll system calls would be the
> natural choiche to handle your sockets, although I wonder how it would
> scale to 100K connections.

They would not, this is why xBSD has kqueue and Linux has epoll.

> Also observe that the state-threads library has no explicit 
> support for multiple CPU's.

Observed, need to fork one process per CPU.

> You might argue that in a typical web server, each new request will
> result in blocking disk IO, thus leading to an ever increasing number
> of threads. But the answer is, just don't increase the number of
> threads. If the disk is the bottleneck, increasing the number of
> active requests will not give you any better throughput as long as you
> have a reasonable number of active entries in the disk queue at any
> time.

In the application, we're looking at writing, there is no disk IO at
all, there are only TCP and UDP conversations. But I think I could
have a separate, internally threaded, file server process. BTW, Linux
2.6 can do asynchronous disk IO, after all these years...

Currently I am attempting to renovate fsu threading, as I described in
anoter other post. I'm stuck with assembly code, bleh! If this fails,
I will re-read the G&R book on TP monitor architecture.

Thanks,
Wojtek



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

* Re: Feasibility of using Ada in new development
  2004-09-04 15:38     ` Wojtek Narczynski
                         ` (2 preceding siblings ...)
  2004-09-06  7:36       ` Ole-Hjalmar Kristensen
@ 2004-09-07 23:51       ` Randy Brukardt
  3 siblings, 0 replies; 103+ messages in thread
From: Randy Brukardt @ 2004-09-07 23:51 UTC (permalink / raw)


"Wojtek Narczynski" <wojtek@power.com.pl> wrote in message
news:5ad0dd8a.0409040738.3fff41b8@posting.google.com...
> - Even the most Ada-centric company in the world uses tons of legacy C
> code, and I don't think they will rewrite it in Ada any soon. Of
> course, that code is causing them a lot of problems, but would you
> call their business decision to stay with it, wrong?

This statement is demonstratably false. R.R. Software probably is the most
Ada-centric company in the world (certainly in the top 10!). The only C in
any of our products is a dozen lines in our (obsolete) Sun68K compiler.
We've got roughly 20,000 lines of assembler code, and everything else is in
Ada. (When we first started out circa 1980, we used Pascal, but all of that
code is either lost or automatically translated to Ada using our PasTran
tool.)

We do, of course, use OSes like Windows that have a lot of C code, but those
are black-boxes to us - we don't maintain those in any sense.

We've done things where it's possible another language would have done
better, but we haven't used other languages because (a) we didn't want to
depend any more than absolutely necessary on outside products; and/or (b)
the learning curve would be higher than the amount of time saved.

                                Randy.






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

* Re: Feasibility of using Ada in new development
  2004-09-06 17:56         ` Wojtek Narczynski
  2004-09-06 20:52           ` Pascal Obry
@ 2004-09-07 23:59           ` Randy Brukardt
  2004-09-08  9:10             ` Wojtek Narczynski
  1 sibling, 1 reply; 103+ messages in thread
From: Randy Brukardt @ 2004-09-07 23:59 UTC (permalink / raw)


"Wojtek Narczynski" <wojtek@power.com.pl> wrote in message
news:5ad0dd8a.0409060956.7fe744f6@posting.google.com...
...
> I reason that you have not looked at the material under the links I
> sent. While Ada tasks and protected objects provide convenient
> semantics, their GNAT implementation with task = os level thread does
> not yield desired performance under certain applications. In this
> situation for C there are libraries of cooperative threads with
> resource aware scheduling, for Ada there isn't anything comparable.

This is how tasking works in the Janus/Ada compiler. So, clearly there is
something comparable available. But I wouldn't go so far as to call it high
performance (it was designed to make tasking available on as many targets as
possible).

                            Randy.







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

* Re: Feasibility of using Ada in new development
  2004-09-07 23:59           ` Randy Brukardt
@ 2004-09-08  9:10             ` Wojtek Narczynski
  2004-09-09  1:12               ` Randy Brukardt
  0 siblings, 1 reply; 103+ messages in thread
From: Wojtek Narczynski @ 2004-09-08  9:10 UTC (permalink / raw)


Randy,

> This is how tasking works in the Janus/Ada compiler. So, clearly there is
> something comparable available. But I wouldn't go so far as to call it high
> performance (it was designed to make tasking available on as many targets as
> possible).

You mean you can put a task to sleep untill an IO descriptor is ready
for reading or writing?

Regards,
Wojtek



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

* Re: Feasibility of using Ada in new development
  2004-09-07  8:57                                     ` Georg Bauhaus
@ 2004-09-08 12:26                                       ` Stephen Leake
  2004-09-08 13:07                                         ` Georg Bauhaus
  0 siblings, 1 reply; 103+ messages in thread
From: Stephen Leake @ 2004-09-08 12:26 UTC (permalink / raw)
  To: comp.lang.ada

Georg Bauhaus <sb463ba@l1-hrz.uni-duisburg.de> writes:

> Jacob Sparre Andersen <sparre@crs4.it> wrote:
> : Stephen Leake wrote:
> : 
> :> Emacs solves the "Text_IO" case by allowing users to specify
> :> exceptions to the default capitalization rule. I expect a "good IDE"
> :> to do the same.
> : 
> : How do I do that?  (both in general and per-project)
> 
>    "The idea  is to  create a dictionary  of exceptions,  and store it
> in a file. This file should contain  one identifier per line, with the
> casing you   want   to   force.   The   default   name   for   this
> file   is `~/.emacs_case_exceptions'.  You can  of course  change  this
> name, through the variable `ada-case-exception-file'."
> 
> >From the Ada mode info file. It also explains the variables that
> control casing.

In addition, I've extended the "emacs project file" defined by
ada-mode to allow specifying the case exception file. See
http://www.toadmail.com/~ada_wizard/ 

-- 
-- Stephe




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

* Re: State Threads
  2004-09-07  9:16                     ` Georg Bauhaus
@ 2004-09-08 12:38                       ` Wojtek Narczynski
  2004-09-08 13:26                         ` Georg Bauhaus
  0 siblings, 1 reply; 103+ messages in thread
From: Wojtek Narczynski @ 2004-09-08 12:38 UTC (permalink / raw)


Georg,

Let me try to answer your questions, even though it regards a higher
level of processing.

> If a user at a client computer decides to open another view of
> some page in a web based application (a tab, a window), would that lead
> to the creation of another thread?

Calling in st_thread_create(), and only this, leads to the creation of
a new thread. Often, you'd call this function after st_accept(), to
create a thread to handle new connections. Server doesn't know about
browsers and windows, it only deals with sockets and
requests/responses.

> If not, can thread data safely be used to react to input from 
> either view?

The threads will do what you code them to do. They can access shared,
but protected, data.

> For example, HTTP is essentially stateless.

ST library knows nothing about HTTP, neither do Ada tasks. HTTP/1.1
has the mechanism of cookies, which allow you to maintain a session
above http, so can url rewriting be used for that.

> Some port receives the input sequence i1, i2, then i1 _again_.
> Let ik stand for some Web form. i1 has triggered a state change in the
> server's store. This state change might affect the server's reaction to i2
> arriving. ("Go this way if i1 has been X, that way if i1 has been Y").
> Now i1 arrives again (user has pressed some back navigation button say).
> Only this time i1 carries slightly different data. Again, this should
> affect the server's reaction to a possible i2. Now the previous rule
> setting (based on previous i1) for reacting to i2 is outdated, unless
> the server updates all affected storage in the server. What if i2 arrives
> another time now?

Now we're not talking about low level architecture anymore, we're
talking about how the app responds to requests, and more specifically
about how the application should deal with the 'Back' button. It is a
good practice to stamp each generated response so that you could
detect the backtracking situation. Once you can detect it, the actions
taken will vary. Sometimes you can just unroll the changes done by the
first submission, but sometimes other sessions have made use of the
modified data, so you need to present an error message.

Reards,
Wojtek



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

* Re: Feasibility of using Ada in new development
  2004-09-08 12:26                                       ` Stephen Leake
@ 2004-09-08 13:07                                         ` Georg Bauhaus
  0 siblings, 0 replies; 103+ messages in thread
From: Georg Bauhaus @ 2004-09-08 13:07 UTC (permalink / raw)


Stephen Leake <stephen_leake@acm.org> wrote:
 
: In addition, I've extended the "emacs project file" defined by
: ada-mode to allow specifying the case exception file. See
: http://www.toadmail.com/~ada_wizard/ 

If you have Debian GNU/Linux testing you might first want to install the
separate ada-mode package, as the ada-mode that comes with Emacs 21.3
is an older version.


-- Georg



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

* Re: State Threads
  2004-09-08 12:38                       ` Wojtek Narczynski
@ 2004-09-08 13:26                         ` Georg Bauhaus
  0 siblings, 0 replies; 103+ messages in thread
From: Georg Bauhaus @ 2004-09-08 13:26 UTC (permalink / raw)


Wojtek Narczynski <wojtek@power.com.pl> wrote:
 
: The threads will do what you code them to do. They can access shared,
: but protected, data.
: 
:> For example, HTTP is essentially stateless.
: 
: ST library knows nothing about HTTP, neither do Ada tasks.

Thanks for the details. I was wondering about ways in which
a specialised thread library could replace (parts of) a web
server like AWS. Seems like there are some restrictions WRT
data handling, I/O, but nevertheless...

Georg



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

* Re: Feasibility of using Ada in new development
  2004-09-08  9:10             ` Wojtek Narczynski
@ 2004-09-09  1:12               ` Randy Brukardt
  2004-09-09 10:26                 ` Wojtek Narczynski
  0 siblings, 1 reply; 103+ messages in thread
From: Randy Brukardt @ 2004-09-09  1:12 UTC (permalink / raw)


"Wojtek Narczynski" <wojtek@power.com.pl> wrote in message
news:5ad0dd8a.0409080110.1be46d74@posting.google.com...
> Randy,
>
> > This is how tasking works in the Janus/Ada compiler. So, clearly there
is
> > something comparable available. But I wouldn't go so far as to call it
high
> > performance (it was designed to make tasking available on as many
targets as
> > possible).
>
> You mean you can put a task to sleep untill an IO descriptor is ready
> for reading or writing?

I don't know if you can even do that on Windows. I know that the API exists,
but it was seriously broken the last time I looked. Perhaps its been fixed.

In any case, the answer is no, there is no I/O support in our tasking (its
the big flaw, which I why I said it wasn't high performance). But it doesn't
use the OS threads. It would actually be fairly easy to build a special I/O
library that could put a task to sleep (no threads here - only Ada :-). Just
replace the implementation of Read and Write. Of course that wouldn't work
for sockets, because sockets aren't I/O in Windows. The Claw sockets library
supports various forms of socket waits, but experience has shown that (at
least on Windows 2000), there is no performance to be gained there. Every
one we tried was worse than the basic busy-wait a bunch of worker tasks
implementation. (This was in the context of Ada Server, the web server that
runs Adaic.com and the search engine for AdaIC, Ada-Auth.Org, and the ARM.)

                                 Randy.






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

* Re: Feasibility of using Ada in new development
  2004-09-09  1:12               ` Randy Brukardt
@ 2004-09-09 10:26                 ` Wojtek Narczynski
  2004-09-09 21:46                   ` Randy Brukardt
  0 siblings, 1 reply; 103+ messages in thread
From: Wojtek Narczynski @ 2004-09-09 10:26 UTC (permalink / raw)


Randy,

> It would actually be fairly easy to build a special I/O library that could 
> put a task to sleep (no threads here - only Ada :-). Just replace the 
> implementation of Read and Write. 

Are all the runtime sources included with the compiler so that a third
party could do it for themselves?

> Of course that wouldn't work for sockets, because sockets aren't I/O in
> Windows. 

Well, right now I am interested only in sockets. There is a select
call and also some nice looking WSA* (Windows Sockets 2 API) calls
that could be tried. But, also, I'd prefer to have it working on unix.

Yesterday I managed to patch and build the current fsu threads library
http://www.informatik.hu-berlin.de/~mueller/ftp/pub/PART/pthreads.tar.gz
and gnat 3.15p runtime together, so now I have complete working
sources of a cooperative, or at least could-be-cooperative, runtime.
Seems like a good starting point, as you also noted.

Regards,
Wojtek Narczynski



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

* Re: Feasibility of using Ada in new development
  2004-09-09 10:26                 ` Wojtek Narczynski
@ 2004-09-09 21:46                   ` Randy Brukardt
  0 siblings, 0 replies; 103+ messages in thread
From: Randy Brukardt @ 2004-09-09 21:46 UTC (permalink / raw)


"Wojtek Narczynski" <wojtek@power.com.pl> wrote in message
news:5ad0dd8a.0409090226.154b7b11@posting.google.com...
> Randy,
>
> > It would actually be fairly easy to build a special I/O library that
could
> > put a task to sleep (no threads here - only Ada :-). Just replace the
> > implementation of Read and Write.
>
> Are all the runtime sources included with the compiler so that a third
> party could do it for themselves?

They're available, but under a separate support agreement.

> > Of course that wouldn't work for sockets, because sockets aren't I/O in
> > Windows.
>
> Well, right now I am interested only in sockets. There is a select
> call and also some nice looking WSA* (Windows Sockets 2 API) calls
> that could be tried. But, also, I'd prefer to have it working on unix.

As I recall, I tried three different organizations of the server. They all
seemed to be limited by some limit in the number of connections that Windows
would allow through a single port at one time (although that may have been a
limit of our network or of the software somewhere). I eventually decided
that there having more than 16(?) simultaneous HTTP commands was happening
rarely enough that it wasn't worth figuring out why we couldn't get beyond
it.

There really isn't anything specificly Windows about our design, and indeed,
we used to support compilers on various Unix targets. There hasn't been
enough interest (or time in the day!) to port those to Linux, but it
wouldn't be very hard to do.

 > Yesterday I managed to patch and build the current fsu threads library
> http://www.informatik.hu-berlin.de/~mueller/ftp/pub/PART/pthreads.tar.gz
> and gnat 3.15p runtime together, so now I have complete working
> sources of a cooperative, or at least could-be-cooperative, runtime.
> Seems like a good starting point, as you also noted.

Sounds good. Good luck.

                     Randy.







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

end of thread, other threads:[~2004-09-09 21:46 UTC | newest]

Thread overview: 103+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-08-23 18:27 Feasibility of using Ada in new development Robert Law
2004-08-23 19:05 ` Martin Dowie
2004-08-23 19:09 ` Jeffrey Carter
2004-08-24  0:06 ` Florian Weimer
2004-08-24  1:31 ` Stephen Leake
2004-08-24  3:59 ` Adrian Hoe
2004-08-24  4:13 ` Steve
2004-08-24 11:09   ` Phong Ho
2004-08-24 11:40     ` Jeff C,
2004-08-24 20:25       ` Robert Law
2004-08-25 21:05         ` Dan McLeran
2004-08-26  2:42           ` John B. Matthews
2004-08-26 11:49           ` Georg Bauhaus
2004-08-26 19:31             ` Dan McLeran
2004-08-26 20:04               ` Simon Wright
2004-08-27 12:47               ` Georg Bauhaus
2004-08-27 21:08                 ` Dan McLeran
2004-08-28  0:28                   ` Stephen Leake
2004-09-01  4:09                     ` Adrian Hoe
2004-09-01  4:07                   ` Adrian Hoe
2004-09-01 14:14                     ` Hyman Rosen
2004-09-01 15:30                       ` Ed Falis
2004-09-05 20:50                         ` Florian Weimer
2004-09-05 21:27                           ` Ed Falis
2004-08-26 18:15           ` Ludovic Brenta
2004-08-28 17:57             ` Dan McLeran
2004-08-28 18:37               ` Ludovic Brenta
2004-08-30 17:06                 ` Dan McLeran
2004-08-30 18:00                   ` Georg Bauhaus
2004-08-30 18:55                   ` Jeffrey Carter
2004-08-31 17:11                     ` Dan McLeran
2004-08-31 17:46                       ` stephane richard
2004-08-31 19:19                         ` Björn Persson
2004-09-01 12:32                           ` Georg Bauhaus
2004-09-01 14:35                             ` Björn Persson
2004-09-02 15:18                         ` Dan McLeran
2004-09-02 22:03                           ` Randy Brukardt
2004-09-03 14:56                             ` Dan McLeran
2004-09-03 18:09                               ` Jeffrey Carter
2004-09-03 23:42                               ` Randy Brukardt
2004-09-04 15:06                                 ` Stephen Leake
2004-09-04 18:31                                   ` Georg Bauhaus
2004-09-05  8:18                                   ` Pascal Obry
2004-09-07  8:32                                   ` Jacob Sparre Andersen
2004-09-07  8:57                                     ` Georg Bauhaus
2004-09-08 12:26                                       ` Stephen Leake
2004-09-08 13:07                                         ` Georg Bauhaus
2004-08-31 18:12                       ` Jeffrey Carter
2004-08-31 18:14                         ` stephane richard
2004-08-31 20:09                           ` Hyman Rosen
2004-09-02  8:56                             ` Martin Dowie
2004-09-02 16:23                               ` Martin Krischik
2004-09-03  8:30                                 ` Martin Dowie
2004-09-03 18:04                                   ` Jeffrey Carter
2004-09-02 15:11                             ` Dan McLeran
2004-09-02 16:17                               ` Code completion Björn Persson
2004-09-02 17:42                                 ` Georg Bauhaus
2004-09-02 19:29                               ` Feasibility of using Ada in new development Simon Wright
2004-09-03 14:57                                 ` Dan McLeran
2004-08-26  9:52         ` Pascal Obry
2004-09-03  7:14         ` Case Crab
2004-09-03 12:21           ` Georg Bauhaus
2004-08-25  1:08     ` Puckdropper
2004-08-25  6:02       ` Adrian Hoe
2004-08-25  8:12         ` Martin Dowie
2004-08-25 12:54         ` Florian Weimer
2004-08-24 23:01 ` Luke A. Guest
2004-08-26 17:17   ` Warren W. Gay VE3WWG
2004-08-31  6:22 ` Wojtek Narczynski
2004-09-01  4:04   ` Adrian Hoe
2004-09-04 15:38     ` Wojtek Narczynski
2004-09-05  8:27       ` Pascal Obry
2004-09-05 11:54         ` Marius Amado Alves
2004-09-05 12:18           ` State Threads (was: Feasibility of using Ada in new development) Björn Persson
2004-09-05 13:13             ` State Threads Marius Amado Alves
2004-09-06 13:15               ` Wojtek Narczynski
2004-09-06 14:28                 ` Marius Amado Alves
2004-09-06 18:24                   ` Wojtek Narczynski
2004-09-07  0:23                     ` Marius Amado Alves
2004-09-07  8:13                       ` Wojtek Narczynski
2004-09-07 10:03                         ` Marius Amado Alves
2004-09-07 10:08                     ` Ole-Hjalmar Kristensen
2004-09-07 15:20                       ` Wojtek Narczynski
2004-09-06 16:23                 ` Georg Bauhaus
2004-09-07  8:01                   ` Wojtek Narczynski
2004-09-07  9:16                     ` Georg Bauhaus
2004-09-08 12:38                       ` Wojtek Narczynski
2004-09-08 13:26                         ` Georg Bauhaus
2004-09-06 12:19           ` Feasibility of using Ada in new development Wojtek Narczynski
2004-09-06 17:56         ` Wojtek Narczynski
2004-09-06 20:52           ` Pascal Obry
2004-09-07  8:40             ` Wojtek Narczynski
2004-09-07 23:59           ` Randy Brukardt
2004-09-08  9:10             ` Wojtek Narczynski
2004-09-09  1:12               ` Randy Brukardt
2004-09-09 10:26                 ` Wojtek Narczynski
2004-09-09 21:46                   ` Randy Brukardt
2004-09-06  3:11       ` Adrian Hoe
2004-09-06  8:17         ` Mark Lorenzen
2004-09-06 12:31         ` Wojtek Narczynski
2004-09-06  7:36       ` Ole-Hjalmar Kristensen
2004-09-06 15:32         ` Wojtek Narczynski
2004-09-07 23:51       ` Randy Brukardt

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