NNTP-Posting-Date: Fri, 13 Dec 2002 08:18:57 -0600
Date: Fri, 13 Dec 2002 08:21:06 -0600
From: gary drummond
X-Mailer: Mozilla 4.78 [en] (Win98; U)
Subject: Re: Which basic compiler to buy?
X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers
X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly
Mike Harding wrote:
> On Tue, 10 Dec 2002 19:49:17 -0000, "John Jardine"
> >Stay clear of the C!. It's an obtuse and unfriendly language having little
> >correspondance with good machine code routines.
> Every professional embedded programmer I have know over
> many years in this business uses C or assembler (on bigger
> systems some use C++ - yuk :) ). I have never know a proper
> professional use Basic for an embedded product.
Does that include embedded designers too? ;-)
I use whatever works for the time/effort I want to invest. BASIC
works in many cases, and offers some advantages over other
languages. (Remember time/effort!)
An example would be an antenna azimuth & elevation controller
marketed to the Amateur Radio community for satellite tracking.
It used an 8052-BASIC chip to provide realtime tracking. BASIC
was used because it was fast enough, it included floating point
math at NO additional cost for libraries, and was more than fast
enough to track the bird for communications purposes. I would
guess that it took longer to develop the interface to the az/el
motors than the rest of the design, including the program...
If nobody used BASIC in the embedded world, why do companies like
Micromint, Blue Earth, and BASCOM, continue in business? It
can't be just hobby users, because they wouldn't need products
like BXC-51 and the Tiger BASIC systems which also provide
multitasking. Zilog also had a Z180 and a multitasking BASIC
available (or did...).
Manufacturing involves hardware and software development costs.
Where is the cutoff point between time and effort for a project,
and the quantity to be manufactured? I don't know if that can be
set down in print, just like the choice in languages to be used.
My old company developed a language for programming operating
systems for our different mainframes. They didn't use C, they
developed one which include features and constructs from C, Pascal,
PL/I, Fortran, and other bits and pieces. ALL of the OS was in
ASM, and conversion to PLUS was only allowed when performance was
increased, or not degraded. All of the OS's ran batch, remote
batch, R/T, interactive, and communications, in a multitasking and
multiprocessing environment. (Sorry, it's now called multi-threaded
by the C programmers who seem to dominate the media now ;-)
I am not a language bigot, I can and have programmed in C, C++,
Pascal, Fortran, Jovial, PLUS, BASIC, COBOL, a few 4th Gen app
generators, and about 12 different assemblers. (Well, also the
scripting stuff and commands on Solaris/Unix...)
I also wrote diagnostics for the mainframe and peripherals. We
had a VERY smart Meta-Assembler which could produce code for
anything from an 8 bit cpu to our 36 bit mainframe. The Diags
were developed using just macros, but it looked like a high
level language at the source level. The main program could run
as a bootable OS, or as another (Privileged) user program, and
you just told it to run a particular diagnostic. I developed
similar macros for my 8051 programs and find my ASM code VERY
easy to maintain. (I do not post those on my web site...)
I have many COBOL and ASM programs I have developed and use,
but only one C program on my PC. The C reads a Gerber file and
displays my design in higher resolution than my MS-DOS program
I tried converting my device programmers to C, but after
replacing 90% of the C with ASM, because of timing problems,
I dumped it. I supported 17 versions of 87/89C5x chips in a
Signetics '750 (1K EPROM), and the C version required a '751
for just one type...
I wouldn't try to use BASIC for a device programmer or an OS,
but I still use my BASIC-52 boards for testing and prototypes.
Some of them I leave in BASIC because it works and is not worth
the effort to convert to ASM or C.
I guess the product and potential sales determine the time and
effort ($$) to be expended in development, which IS influenced
by the cost of licenses for libs and/or royalties on the OS and
The original poster asked about which compiler to buy, and if
he should convert to C. If he has 4-6 months to learn C, it MAY
work for him, but he can't do anything for that period of time.
If he can buy a compiler that will work for him, he should do
it, and keep making things to sell...