comp.lang.ada
 help / color / mirror / Atom feed
* Re: Can Ada by popularized faster ?
@ 1997-10-13  0:00 Marin David Condic, 561.796.8997, M/S 731-96
  1997-10-13  0:00 ` Robert Dewar
  0 siblings, 1 reply; 23+ messages in thread
From: Marin David Condic, 561.796.8997, M/S 731-96 @ 1997-10-13  0:00 UTC (permalink / raw)



Brian Rogoff <bpr@SHELL5.BA.BEST.COM> writes:
>
>Seriously, for Ada to succeed it should have a niche; looking for a killer
>app to propel it forward is improbable. I like your SBC idea, but that
>market seems controlled by C now (is it?). Where would you propose
>focusing a development effort to dislodge it?
>
    Well, the killer-app idea isn't necessarily totally improbable.
    For example, there is AdaSAGE which provides a database developed
    in Ada and is in the public domain. (it is, isn't it?) If a
    compiler vendor were to glom onto it, put some helpful glue
    software around it to make it easy to use in their environment,
    the product becomes instantly more attractive. If someone used
    that to build a nice desktop application - like an address book or
    calendar or whatever - which caught on because it was inexpensive
    or did something real unique or was easier to use than other
    products - there's where you might get a market generated for
    add-ons. Database apps are real good for that because once someone
    has invested all their data in a particular format, they are
    naturally going to want additional capabilities not provided by
    the original tool. (Lots of folks build add-on software that
    depends on Oracle being out there, eh?)

    As for the SBC idea, I'd have to say my impression is that C
    pretty well dominates there. But think of this: Out there
    somewhere you've got GNAT available and the GCC back end is
    supposed to be pretty easy to port. Building the port of the back
    end would give you the ability to provide Ada, C, Fortran and
    maybe a bunch of other languages for your target. (Think of the
    sales pitch: "Sure, we think Ada is cool, but if you need language
    X for some subset of the system, we've got the compiler and Ada
    can easily connect to it!") Then there's the RTEMS RTK available
    so you have runtime support on a bare machine. And you've got GDB
    available as a starting point for developing a debugger. Oh,
    you've got some holes to fill, (linkers, realtime monitors,
    debuggers, etc.), but it's not like you're starting at
    bottom-dead-center. So probably 80-90% of an embedded development
    environment already constructed for you. It's just got to be
    pulled together, retargeted and made into a seamless, easy to use
    tool. (As an embedded developer, I havn't got the time to fool
    around with integrating a bunch of stuff I've pulled together from
    50 different places. I just want to buy an already integrated
    environment and get started building my app.)

    So let's suppose you've got the "basic" development environment
    built and you plan on adding on creature comforts as you go along.
    Now you're probably at least "competitive" with the C compilers
    that are bundled with most SBCs. To get an edge, you've got to
    provide lots of easy to use, well thought out and well documented
    libraries of stuff that makes building the embedded app a lot
    easier. Clearly, you need libraries which make the I/O easy (lots
    of C kits are going to include something like this, but with Ada
    you could make it better) and you need things to make interfacing
    to the bare hardware easier. I could see how with Ada95 you could
    rather easily build a mini, generic scheduler which would border
    on being a real RTOS - except it would be lean and tailorable.

    The key here would be providing as much general purpose support
    code for the particular SBC as possible and doing it *better* than
    a hodge-podge collection of C subroutines. Think of it as a
    "thick" binding to the hardware. The thicker the binding, the less
    work the embedded developer has to do. If it's done well, your
    selling point is quicker time to market because the developer
    doesn't have to build all this stuff from the ground up. And since
    you're going to provide the source code, etc. he can always get
    around the binding right down to the bare metal if he has to.

    Oh, there'd still be lots of persuading and demonstrating to do to
    convince your garden variety embedded SBC developer that Ada *can*
    do the job and that he *wants* to use Ada to do the job, but I
    don't see it as impossible. One thing is clear to me - if nobody
    is willing to *try* to penetrate these markets, there's no use
    telling me how wonderful Ada is for embedded programming because
    no matter how badly I want to use it, I can't. I'm not well served
    if the Ada supporter just lies there telling me how great it's going
    to be.

    I believe in Ada as a superior language and we use it here on lots
    of projects. I'd love to see Ada available on inexpensive, small
    SBC's so I could put it to work in other areas.

    MDC

Marin David Condic, Senior Computer Engineer     Voice:     561.796.8997
Pratt & Whitney GESP, M/S 731-96, P.O.B. 109600  Fax:       561.796.4669
West Palm Beach, FL, 33410-9600                  Internet:  CONDICMA@PWFL.COM
===============================================================================
    "Eagles may soar, but a weasle never gets sucked up into a jet engine."
===============================================================================




^ permalink raw reply	[flat|nested] 23+ messages in thread
* Re: Can Ada by popularized faster ?
@ 1997-10-16  0:00 William A Whitaker
  1997-10-25  0:00 ` Dave Wood
  0 siblings, 1 reply; 23+ messages in thread
From: William A Whitaker @ 1997-10-16  0:00 UTC (permalink / raw)



Somewhere on this thread someone suggested that Ada needed a "killer
application" and that an operating system would be a case in point (like
C -> UNIX).

In the mid 80's Steve Squires promised (in writing) to have the
second/production phase of the CMU MACH OS done in Ada, in line with
DARPA's responsibility under the DoD direction.  This was then to be the
end all of operating systems and the world would beat a path to its/out
door.

I do not know the details, I suppose that CMU just could not be bothered
and DARPA folded over the matter.  (The alternative is that Steve was a
disremembering bureaucrat ten years before it was popular I refuse to
entertain!)

And in the end, MACH was not the killer application it was supposed to
be (unless it killed Next).

I just wanted to remind the group of that little bit of history.

Whitaker




^ permalink raw reply	[flat|nested] 23+ messages in thread
* Re: Can Ada by popularized faster ?
@ 1997-10-13  0:00 Peter Hermann
  1997-10-13  0:00 ` the_walrus
  0 siblings, 1 reply; 23+ messages in thread
From: Peter Hermann @ 1997-10-13  0:00 UTC (permalink / raw)



Can some kind english speaking soul explain to me the meaning
of that subject line?     :-(

--
Peter Hermann  Tel:+49-711-685-3611 Fax:3758 ph@csv.ica.uni-stuttgart.de
Pfaffenwaldring 27, 70569 Stuttgart Uni Computeranwendungen
Team Ada: "C'mon people let the world begin" (Paul McCartney)




^ permalink raw reply	[flat|nested] 23+ messages in thread
* Re: Can Ada by popularized faster ?
@ 1997-10-13  0:00 Marin David Condic, 561.796.8997, M/S 731-96
  0 siblings, 0 replies; 23+ messages in thread
From: Marin David Condic, 561.796.8997, M/S 731-96 @ 1997-10-13  0:00 UTC (permalink / raw)



> Brian Rogoff <bpr@SHELL5.BA.BEST.COM> writes:
>Right. I think the SBC market is interesting from an Ada point of view.
>What are the main CPUs being used? Is a bare bones Ada compiler available
>for it?
>
    Well, for starters, almost any compiler that would be considered
    suitable for the SBC market would hardly be considered "bare
    bones." The quality of the code that comes out of it must be
    extremely efficient and highly reliable. Even a minor inefficiency
    starts to multiply rapidly in a chunk of code that runs once a
    milisecond. Any compiler bug that produces bad code creates the
    possibility of an error escaping into the field which can be
    *very* costly. So just the compiler itself has to be above and
    beyond what one might find acceptable, say, for teaching computer
    programming using an MS-DOS based computer.

    P.S. I am assured by folks who should know that there is no need
    to trim the Ada standard in order to get Ada to fit inside some of
    the small microprocessors in question. (At one time, yes, but
    compiler technology has improved considerably.)

    Then, because you're going to a bare piece of hardware without the
    luxury of an OS, you've got to have a cross-linker that darned
    well better be able to give you real good control of where
    anything and everything goes in memory and it has to be able to
    tell you reliably what it actually did. Surprises aren't fun! It
    needs to output IEEE symbol tables, Motorola S-Records and/or
    similar load formats.

    You need some kind of ability to load code into the card - which
    gets real dependent on the architecture of the card. We typically
    use a real time monitor of our own design that goes into startup
    ROM and communicates with a chunk of software on the host system
    which acts as our loader and our debugging system.

    You've got to have all of that just in order to play the game. We
    aren't even yet talking about bells and whistles.

    As for target processors, our engine controls are designed around
    things like the 68040 - where processor selection had to take into
    account availability of an Ada compiler. But there are lots of
    small jobs, custom one-offs, test hardware, etc. where things like
    the 68HC11 on an off-the shelf board makes the most sense.
    Micronix makes a nice little board based on this processor.
    Z-World sells a fair number of Z180 based SBCs. EMAC is another
    company with similar machines. Check out the web pages to get a
    flavor of what they're building with:

    http://www.emacinc.com/
    http://www.zworld.com/
    http://www.agt.net/public/micronix/
    http://www.claritech.demon.co.uk/


    Lots of companies make cards based on 80x86 processors, but these
    tend to be PC compatible computers which run some real time
    version of MS-DOS and tend to want to communicate with devices as
    separate cards - whereas the type of machine I'm interested in is
    the kind of thing that has one or more A/D-D/A converters a
    handful of discretes, a serial link and that's about it.

    I have not heard of any Ada compilers targeted to 68HC11, Z180,
    8051, 68HC16 or other processors you see on the web pages of the
    SBC manufacturers. That doesn't mean there aren't any - just that
    a) the SBC manufacturers aren't hawking one along with their
    development kit and b) nobody has brought to my attention any
    third-party solutions. It might not do any good simply to have, for
    example, a port of GNAT to one of these machines unless you could
    provide simultaneously all the related software that has to work
    with the output of GNAT. As you can imagine, that's not a trivial
    request.

    MDC

Marin David Condic, Senior Computer Engineer     Voice:     561.796.8997
Pratt & Whitney GESP, M/S 731-96, P.O.B. 109600  Fax:       561.796.4669
West Palm Beach, FL, 33410-9600                  Internet:  CONDICMA@PWFL.COM
===============================================================================
    "Eagles may soar, but a weasle never gets sucked up into a jet engine."
===============================================================================




^ permalink raw reply	[flat|nested] 23+ messages in thread
* Can Ada by popularized faster ?
@ 1997-10-09  0:00 safetran
  1997-10-10  0:00 ` Dave Wood
  1997-10-12  0:00 ` Steve Doiel
  0 siblings, 2 replies; 23+ messages in thread
From: safetran @ 1997-10-09  0:00 UTC (permalink / raw)



Yes, I do think that we can do more than we are doing. Maybe I am just
not aware of all the efforts going on and will be happy to be
enlightened.  I come across uninformed criticisms of Ada quite often and
find it irritating. Which is what prompted this post.

Other than Ada I also use C/C++ and so am quite aware of the benefits
that Ada provides. However discussions with collegues and others makes
me realise that Ada suffers from a very strong market perception as
being cumbersome, restrictive, slow, large, bulky and "that" defense
thing.

Few "amusing" encounters:
I have been asked "It must be really slow to program in Ada."  When I
asked why,  the reason given was that in Ada we have to type a lot of
words (syntax is wordy) where-as in C/C++ most of the syntax is cryptic
(and so it takes longer to program in Ada !!).

Another interesting example I found in the Slackware LINUX Unleashed
book.  This book has a section on the GNAT compiler and in it the author
states that Ada was so named as to honour one of the developers of the
language !  Check it out next time you go to the bookshop (I think it
was page 560).

For a new project I am starting I need an in-circuit emulator.  So
yesterday I called a few vendors.  One of the vendors told me that they
do not support Ada as Ada code is very slow and their engineers think
that Ada is not appropriate for embedded systems.  BTW, this is one of
the big suppliers of in-circuit emulators.

I think the Ada community needs to do something urgently to change this
market perception.  I read someplace that a DOD colonel was proposing
spending $1 million to do an advertising campaign. Is that the right way
to do this ? I don't know. I guess we need to go talk to some savvy
marketing types.  

Look at what Sun has done with Java in less than 2 years. Hardly a day
goes by without us hearing or reading something about Java. People say
that its all hype and marketing - does it really matter ? Its working
and Java is becoming popular.

Programmers and magazine articles refer to Java's elegance and strong
type checking or that it is a safer language than C/C++.  Ada has had
these since 1983. But few outside the Ada community know that.  I have
talked to C/C++ programmers who have criticised Ada because it has
strong type checking and it does not let you do "hacky" things. But then
they go ahead and praise Java for its strong type checking !!   The
level of ignorance that exists in the world about Ada, even among
experienced developers, is really quite amazing. 

One of the problems I perceive in the Ada market is that Ada tools
vendors have been quite complascent.  How many vendors have products
that compare with Microsoft VC++ or Borland C++ and at a comparable
price ?  

I am told that Ada compilers/tools should be more expensive because it
takes a lot more effort to develop an Ada compiler (than a C++ one) and
Ada compilers catch a lot more bugs thus reducing development effort and
time.  While I agree with all this,  the bottom-line is that if the
tools cost a lot more or are not as user friendly then the average
company/programmer are not going to buy them. In addition, if the Ada
tool vendors think that they have a captive market in the defense and
aerospace companies then they are not going to do a lot of marketing for
Ada. However, as we have seen it does not really pay to be complascent.

Another related problem is that there is very little press coverage of
Ada.  Most of the coverage I see is in defense oriented magazines.  It
is not common to see articles on Ada and its benefits in magazines like
Embedded Systems Programming,  EE Times etc.  C/C++ articles, and now
Java ones, dominate most pages.

A few things that we could do are:

- Improve Market Perception: Ada has a very poor market perception. We
need to do a lot more advertising of Ada's benefits as a programming
environment and language. Specially benefits as applying to the
commercial world e.g. improving time to market or lower development
costs etc. The fact that Ada can be used to do telecommunication
systems, databases, systems (OS) programming or device drivers should be
advertised.  Few people know that Ada can be used for these kinds of
applications.  A _LOT_ of people think that it is a language used only
for defense systems or only for the embedded world. There needs to be a
lot more articles in the common and technical press to increase
awareness. Another example is that very few people know that you can
convert Ada programs into Java byte codes.

- Improve Market Visibility:  Send out newsletters or mailers to
developers (like Sun does for Java) advertising the benefits of Ada and
successful Ada projects.   People say negative things about Ada and then
this becomes self feeding with more people criticizing the language
without even knowing anything about it. And while the original criticism
may have been valid its context is completely lost along the way. 
Mailers and magazine articles can be used to try and dispel some of the
negative perceptions.

- Improved Tools: Have better Ada tools from a lot more vendors - these
should be more user-friendly, conform to the current state of the art
for C++ tools and be easier to use/learn. eg the VxWorks environment for
C/C++ which integrates compilers, linkers, debuggers, in-circuit
emulators, design tools etc.  The tools should also be cheaper.

- Improved Processor Support: We need ports of GNAT as a cross-compiler
to common platforms (eg X86, Motorola 68K and PowerPC).  Maybe we could
provide a graphical, user friendly interface. Ports of GNAT to run on
(say) VxWorks, pSOS+ and other commonly used commercial real-time OSes
would also help.

- Maybe we should consider some way that Ada can be more easily
accomodated on lower end micro-controllers.  There is a huge market that
uses lower end 8 bit controllers.  And contrary to popular perception
this market is not becoming smaller as 32 bit processors become more
pervasive. Is there something we can do to target the 68HC11's, 68HC08's
etc that are out there ?  Sometimes these processors are used in safety
critical systems;  with C or C++ of course.

Is ACT or someone else in the Ada community attempting to tackle these
issues ?  

--
Rakesh




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

end of thread, other threads:[~1997-10-31  0:00 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1997-10-13  0:00 Can Ada by popularized faster ? Marin David Condic, 561.796.8997, M/S 731-96
1997-10-13  0:00 ` Robert Dewar
1997-10-14  0:00   ` Paul H. Whittington
  -- strict thread matches above, loose matches on Subject: below --
1997-10-16  0:00 William A Whitaker
1997-10-25  0:00 ` Dave Wood
1997-10-25  0:00   ` Larry Kilgallen
1997-10-25  0:00   ` Larry Elmore
1997-10-30  0:00     ` TConiam
1997-10-31  0:00     ` Richard A. O'Keefe
1997-10-26  0:00   ` John Black
1997-10-27  0:00     ` W. Wesley Groleau x4923
1997-10-28  0:00     ` Stanley R. Allen
1997-10-13  0:00 Peter Hermann
1997-10-13  0:00 ` the_walrus
1997-10-13  0:00 Marin David Condic, 561.796.8997, M/S 731-96
1997-10-09  0:00 safetran
1997-10-10  0:00 ` Dave Wood
1997-10-10  0:00   ` Kenneth W. Sodemann
1997-10-10  0:00   ` No Spam
1997-10-10  0:00     ` Brian Rogoff
1997-10-16  0:00     ` Tom Moran
1997-10-12  0:00 ` Steve Doiel
1997-10-13  0:00   ` Andrzej Lewandowski

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