[HN Gopher] Forth in Space Applications
___________________________________________________________________
Forth in Space Applications
Author : Bluestein
Score : 65 points
Date : 2021-02-17 10:40 UTC (10 hours ago)
(HTM) web link (www.forth.com)
(TXT) w3m dump (www.forth.com)
| pinewurst wrote:
| (2003)
| MaxBarraclough wrote:
| Somewhat related: NASA are listed as a customer of VFX Forth.
|
| https://vfxforth.com/#customers
|
| See also _Who uses Forth_ on Forth.com
|
| https://www.forth.com/resources/who-uses-forth/
| the_only_law wrote:
| Would be cool if the source for any of these was available.
| sitkack wrote:
| I really enjoy forth for interactive embedded development, it has
| one downside in the inability afaik to do static analysis of
| forth programs. Seeing a skilled engineer bring up a new
| multiboard system over a serial link in an afternoon and write
| system tests insitu had me sold. I did something similar years
| later with a hardware control application in Java by using Jython
| to get a remote low level repl.
|
| Forth tends to be one step in bootstrapping a system, or it is so
| small that it is correct by observation. Forth is powerful, but
| the systems that use it should be held to a small size.
|
| I think for the most part, Python/MicroPython now occupies the
| same place Forth once did in the embedded world. As MCUs get more
| capable and default to more memory, not only will higher level
| interpreted languages become the norm, low level languages can be
| integrated via Wasm, either compiled or interpreted on device.
| 0xdeadbeefbabe wrote:
| > As MCUs get more capable
|
| Doesn't power consumption go up as MCUs get more capable?
| astrobe_ wrote:
| > it has one downside in the inability afaik to do static
| analysis of forth programs
|
| I believe it is possible with annotations, at least for basic
| checks, and assuming you don't go too crazy (e.g. returning a
| variable number of results depending on the inputs).
|
| > I think for the most part, Python/MicroPython now occupies
| the same place Forth once did in the embedded world
|
| Lua is a bit closer: REPL, quite efficient, and is not a
| kitchen sink. Python is more like BASIC (Beginner's All-purpose
| Symbolic Instruction Code).
| jvanderbot wrote:
| > As MCUs get more capable and default to more memory, not only
| will higher level interpreted languages become the norm, low
| level languages can be integrated via Wasm, either compiled or
| interpreted on device.
|
| Not long ago, during the emergence of SoCs, this statement was
| uttered regarding Java, for both real time (JRT) and "regular"
| low-level applications. The story went, you could simply write
| Java and push it to your bytecode interpreter implemented in
| hardware. How convenient! It turned out differently. And now
| here we see Python, mPython, WASM, etc.
|
| I think that nobody used it because nobody used it: The
| ecosystem didn't evolve along with the capabilities.
| sitkack wrote:
| I really enjoyed the fits and starts of high level embedded
| programming, we see an analogous evolution in terms of high
| level hardware description languages. Bluespec, Chisel,
| nMigen, etc.
|
| There was such a large barrier between the practitioners that
| were shipping (C/asm) vs high level folks (formal methods,
| functional programming, etc). We routinely brought up
| embedded DSP systems with a Forth based monitor. An idea can
| be excellent, but if it doesn't have an adequate host to
| spread or a vector it goes no where. Forth was awesome in
| Astronomy because it could spread there. Just like KX/KDB can
| spread in the financial ecosystem.
|
| Folks are doing real work using micropython repls directly on
| hardware. You can go from idea to shipping something in an
| afternoon.
|
| Folks might talk about power or resources, but both are a
| factor in Moore's law which still very much a thing. And the
| hot inner loop can be written with power and space in mind.
|
| The pricepoint for an MCU that could run a high level stack
| was about 8-10$ 10 years ago, now it is less $1. In hindsight
| the ESP32-C3 will be an inflection point.
|
| I am curious, is NASA looking at Wasm for space and
| aeronautics applications? What are your thoughts on high
| reliability languages? What are the current hot topics in
| autonomous probes? Are the same things that are going on with
| self driving vehicles also transferring to self navigating
| probes? How far away are we from <launch probes> and it just
| sends back interesting results? ;)
| Bluestein wrote:
| "The following table presents space-related applications of Forth
| microprocessors and the Forth programming language, including:
|
| spacecraft flight system controllers
|
| on-board payload experiment controllers
|
| ground support systems (e.g., communications controllers and data
| processing systems)
|
| hardware or software used to build or test either flight or
| ground systems."
___________________________________________________________________
(page generated 2021-02-17 21:02 UTC)