The BASIC Stamp is only the latest. I was (un)fortunate enough to be required to use 8052AH-BASIC (Intel 8052 with BASIC in ROM) on an embedded project, and, of course, needed to have a judicious dose of assembly in the interrupts and several other routines as well.

What Ed says is very true, although less so now. Most microcontroller work is really bit-specific, and for most of my career in embedded work, I never even bothered with C. Pure assembler is plenty, because you never have more overhead or syntax than you need. Nowdays, the chips that have grown up from micros, such as the ARM, XScale, AVR and whatnot, are both word-oriented and have much more available RAM. Much more often these days, one drops in a SBC with a whole PC or ARM, and one can expect to have a minimum of 64K and usually a gob of FLASH. Even the 8051 variants now have a gob of FLASH.

All that said, I, too, would like to have something more than assembler. Something with the scheduler core of an OS, the stack handling and extensibility of FORTH, and built-in data types and I/O routines. Say what you will about BASIC, but PRINT is a heckofalot easier to grasp than:
MOV DPTR, #MYSTRING PLOOP: MOVX A, @DPTR JZ DONE MOV #PPORT, A INC DPTR JMP PLOOP DONE:
The catch to languages in micros is that languages are compiled with assumptions about hardware configuration. The only reason BASIC Stamps et al can exist is that they pretty much assume that certain hardware will always be available. In the AH BASIC, for example, the on-chip serial port was always the console. If you added another serial chip, you had to roll your own access routines.

Should you decide to proceed, there are ways to target microcontroller targets with GCC. You need to really study the micro's architecture to configure your compiler, but it can be done.

In reply to Re: Pico-Perl by samizdat
in thread Pico-Perl by rje

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.