Re: [DIYbio] Micropython vs C++ for microcontrollers

The BBC micro:bit is useless in real world designs because the major design failure of not having a voltage regulator on-board which means it can't be run from battery packs or rechargeables, only alkaline.  This is a significant design flaw which renders the board relatively useless on its own.

 
On Mon, Mar 18, 2019 at 11:01 PM Gerald Trost <gerald...@mail.com> wrote:

Hi!
 
just some programmer's thoughts:

1.)

could it be that "C++" on Arduino is merely a C interpreter ?

So far I never extended a class and never implemented an interface
and I never saw generic types ...



Yes, the compiler is grammatically C++ capable.  No one writes full-featured C++ code on arduino platform regardless of what the compiler is capable of.    Calling a library or writing a very basic class is about all that is done in practice, and use of those trivial features does not equate to "oh yeah we use C++" any more than a diybio group doing strawberry DNA extraction in a shotglass equates to real wetlab work.    Runtime speed comparisons between micropython and C show that micropython is very useable especially considering that lab equipment does not have to be real-time and the IC should be actively in Sleep most of the time as well.  Parts of the design where speed are a true concern would implement in assembly anyway (most likely inline-assembly in the C source).  C++ shouldnt be used on time-critical functions due to overhead regardless.   

As the cost of lab supplies is well into the hundreds per project, the difference between a $2 board and a $8 board since it is a one-time lab equipment capital asset purchase is relatively meaningless. The chassis ends up costing more than either.   Once a wetlab scales to need enough devices to matter, the lab equipment budget will have already increased far in excess to compensate so the accumulated difference is also insignificant.

Micropython is a good choice although assuming enhancements will be made by end users is not a good goal.   Yes, Bioinformatics is focused on python, so skills are transferrable.  Studies of the much-hyped long tail of open source have already shown that nearly all development work for projects is done by the original project owner(s), not by end users or many-small-contributors down the road.   Especially in biology as stated, the end users, even if they are advanced users, are unlikely to enhance a piece of lab equipment.  Large companies have been working at this problem for decades and designing and refining supposedly "easier to use" graphical device control languages to little avail.  Biologists have their hands full and are in a different mindset in the lab and do not want or are not qualified to reprogram equipment.  Not even beta testers will want to modify or even study the code if given the opportunity.   Focus on building solid, ready-to-use tools, minimize the avenues of customization (especially since features allowing end-user modifications increase R&D effort anyway).   Interoperability among other vendors devices, and adoption of standard file and communication protocols, is a far more important priority.


-- 
## Jonathan Cline
## jcline@ieee.org
## Mobile: +1-805-617-0223
########################

--
-- 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/9371622c-0cb7-430c-9057-11100507ba2d%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

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

0 comments:

Post a Comment