Re: [DIYbio] Micropython vs Rust and Go for microcontrollers OT

On 3/19/19 10:38 AM, Simon Quellen Field wrote:
> Cathal's point about data scientists being more likely to know Python is relevant and has support from other sources
> <https://www.analyticsindiamag.com/top-10-programming-languages-data-scientists-learn-2018/>.
> But the Python libraries they are used to using won't fit onto a microcontroller.

I chose micropython for the "familiar to customers reason", even though I don't really expect them
to create new code with libs they use on data. I expected them to tweak sequences and possibly
data output format related to the existing functions of the machine. So, I made code that has those
functions nicely named so they can be tweaked by a casual coder. There is so little response on this diybio list
that I wonder if that was a wrong guess and 0.1% of customers will do any code tweaking, even if it seems easy
to hardware developers.

Micropython has a python prompt like an OS that you can
use for testing code that generates different waveforms, which is very handy
with a hardware/software programmable switching power supply like this. So, another reason I chose it was speed
of development by not having to write a REPL in C code.

The machine makes high voltage in a very power limited way with series of fast pulses used
to get one slower high voltage pulse result,
measures the output and gives that waveform data back on an OLED display or sends it out the serial port,
and responds to buttons that let it be run standalone with no other computer attached.

Maybe I should have gone native code and used C libraries from ST or the libopencm3
FOSS libraries for STM323F4 micros. It's too late now though... :-)

After hearing about rust, I searched around some and found this:

https://tinygo.org/faq/why-go-instead-of-rust/

I really like this part of the intro description:

"Go prides itself on being a simple and slightly dumb language, sacrificing some expressiveness for readability.

Built-in support for concurrency with goroutines and channels that do not rely on a particular implementation threads. This avoids
the need for a custom RTOS-like framework or a full-blown RTOS with the associated API one has to learn. In Go, everything is
handled by goroutines which are built into the language itself.

A batteries-included standard library that consists of loosely-coupled packages. "

but then there are cons also:

"Rust has stronger memory-safety guarantees.

In general, Rust is more low-level and easier to support on a microcontroller."

So now I am so far OT for diybio I'm stopping. :-)

--
-- You received this message because you are subscribed to the Google Groups DIYbio group. To post to this group, send email to diybio@googlegroups.com. To unsubscribe from this group, send email to diybio+unsubscribe@googlegroups.com. For more options, visit this group at https://groups.google.com/d/forum/diybio?hl=en
Learn more at www.diybio.org
---
You received this message because you are subscribed to the Google Groups "DIYbio" group.
To unsubscribe from this group and stop receiving emails from it, send an email to diybio+unsubscribe@googlegroups.com.
To post to this group, send email to diybio@googlegroups.com.
Visit this group at https://groups.google.com/group/diybio.
To view this discussion on the web visit https://groups.google.com/d/msgid/diybio/e0ab47e0-20ef-7c50-d3bd-2a421ba42710%40industromatic.com.
For more options, visit https://groups.google.com/d/optout.

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

0 comments:

Post a Comment