(画像提供:Quality Stock Arts - stock.adobe.com)
MicroPythonによるプログラミングの最大の魅力の1つは、20年近くにわたりデスクトップ環境で広く使われているCPythonと似ていることです。構文と設計パラダイムがほぼ同じであるため、組み込み開発環境とデスクトップ開発環境との間をほぼシームレスに移行できます。これは、モバイル、デスクトップ、クラウドなど、さまざまなプラットフォームから組み込み電子機器のデータにアクセスすることが求められるIoT時代には、非常に望ましいことです。ツールやプログラミング言語の種類が少なければ、開発要員数を抑え、製品開発サイクルを短縮することができます。とはいえ、組み込みハードウェア環境の性質上、デスクトップと比較して、MicroPythonとCPythonの間には少なからず違いがあることに注意しておく必要があります。
組み込み電子機器のエコシステムには、デスクトップやサーバーにはない多くの制約があります。まず第一に、消費電力による制約です。組み込み機器はその多くがバッテリ駆動ですが、バッテリ寿命の延長にはパフォーマンス面で限界があります。デスクトップコンピュータは数ギガヘルツで動作するのに対し、マイコンの動作速度はせいぜい数十メガヘルツです。また、メモリとストレージの制約もCPythonとMicroPythonとの差を大きく広げる制限要因となることがあります。メモリはわずかキロバイトかメガバイト単位なので、メモリ負荷のかかる機能はMicroPython実装では削減されたり、完全に削除されることも珍しくありません。このような違いを知っておくことは、組み込みコードのデバッグに長時間を取られないためにも重要です。以下、開発者が知っておくべき重要な違いについて説明したいと思います。
import array as array a = array.array('i', [1, 2, 3, 4]) print(1 in a)
マイケル・パークス:カスタム電子機器設計スタジオ・組み込みセキュリティ研究会社Green Shoe Garage (米国メリーランド州) の共同設立者。科学的・技術的トピックに対する社会の意識向上に向けてGears of Resistance Podcastを制作。メリーランド州プロフェッショナルエンジニア (P.E.) 資格を取得、ジョンズ・ホプキンス大学にてシステム工学で修士号を取得。