comp.lang.ada
 help / color / mirror / Atom feed
From: John Howard <jhoward@sky.net>
Subject: Re: Best for small embedded systems
Date: 1997/06/10
Date: 1997-06-10T00:00:00+00:00	[thread overview]
Message-ID: <Pine.GSO.3.93.970610022525.3347A-100000@sky.net> (raw)
In-Reply-To: 97060615152267@psavax.pwfl.com


An Ada 95 subset allowing machine code support of Philips XA will be
offered by my company. An XA is a 16-bit target designed with hardware 
support for real-time multitasking. Further details will be made available
when the product is ready for release.

On Fri, 6 Jun 1997, Marin David Condic wrote:
> "WhiteR@no.spam.please.crpl.cedar-rapids.lib.ia.us" writes:
> >  I tend to agree, with the exception that there are a lot of Forth
> >users/usages for small, resource constrained, embedded applications.
> >You can't beat the memory efficiency.  Difficult to get up to speed
> >and be able to _think_ in Forth, but once you do a lone wolf
> >programmer can be very very productive (with his personal Forth
> >vocabulary of reuseable code).

I started with Forth in 1980 and stayed with it for about ten years. It is 
alot of fun to experiment with. But every project becomes a new dialect of
the language. I used Forth dialects on TRS-80, C-64, Atari 1200, TI 99/4A,
Apple II, Mac Plus, IBM PC, and an i8051 derivative microcontroller. My
experience was that most Forths didn't have a compiler which optimized at
the lowest level. Maintenance of Forth code is typically difficult and
readability is often poor. I appreciated the conciseness of Forth; its
extensibility; and especially the freedom to directly access the hardware.
Still Forth is mainly a working experiment forever in progress. 
Interestingly, Forth is both a language and a virtual machine.

>     I think the key is that we're talking about very small
>     microcontrollers which are programmed by a single individual (or
>     maybe one programmer and one or more domain experts.) For the
>     "lone wolf" programmer on a smallish sort of job, you want to go
>     with a) inexpensive, readily available target processor, b) the
>     least expensive, most readily available development environment
>     and c) what the "lone wolf" is most familiar with.
>
>     Ada is great and for me, satisfies item "C". The problem is item
>     "B" for most of your microcontroller projects. The development
>     cost *is* the lifecycle cost, so you can't afford to spend a lot
>     of time or money trying to get a language targeted to the
>     processor. If it isn't already on the shelf and available at
>     nominal cost, it looses. Sorry that life isn't fair to computer
>     languages.

I think b) should be revised to "the most cost-effective, and easiest to 
use host development environment". It is not necessarily the cheapest but
it should offer tremendous value at an affordable price.
[ My host is OS/2 Warp 4. It lets me dictate text and control development 
  by using my voice. It has other nice ease-of-use features too. ]

To laugh about difficulty-of-use, see the UNIX Haters Handbook
http://catalog.com/hopkins/unix-haters/preface.html

[snip]
>     While I'm an Ada advocate, I still believe you have to look at the
>     whole project and try to do the right thing by accounting for all
>     the various factors. Tiny microcontrollers that already have C or
>     Forth compilers, but not Ada compilers stacks the deck against Ada
>     in my book.
>
>     MDC

I believe it is not worthwhile to target Ada to less than a 16-bit 
microcontroller. Most likely 16-bit microcontrollers will be used instead
of 8-bit microcontrollers. Their prices are becoming similar.

Ada 95 subsets can have big advantages over C and Forth. Classwide 
programming is not provided by C. C lacks inherent support for 
multitasking. Forth is difficult to maintain. Forth and C lack safety 
checks that Ada can provide. Ada subsets are allowed to support efficient
implementations of protected types and multitasking models. And bit-level
handling is inherent to Ada. For these reasons I don't believe Forth or C
are overly strong challenges to an Ada 95 subset which directly supports 
the hardware of an advanced 16-bit microcontroller.

------------------------------------------------------------------------
-- John Howard <jhoward@sky.net>               -- Team Ada  Team OS/2 --





  reply	other threads:[~1997-06-10  0:00 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1997-06-06  0:00 Best for small embedded systems - was RE:ada and robots Marin David Condic, 561.796.8997, M/S 731-93
1997-06-10  0:00 ` John Howard [this message]
1997-06-11  0:00   ` Best for small embedded systems David Kristola
1997-06-11  0:00     ` John Howard
replies disabled

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