インターフェース通信 2020年05月号
特集「C/C++後継 モダン言語の研究」【立ち読み版】
インターフェース2020年5月号の特集は「C/C++後継 モダン言語の研究」となります.本特集では,2020年の現代において注目すべき,モダンなプログラミング言語を紹介し,実験いたします.また,プログラミング言語の基礎知識やレガシな言語からモダンな言語まで解説するプログラミング言語事典も掲載しています.
FORTRAN:世界最初の高水準言語.「FORmulaTRANslation」の名前の通り,複素数演算を扱えるなど,数式処理を中心とした科学技術計算を目的とした手続き型プログラミング言語で,FORTRAN 66として標準化されたが,変数名は6文字,1行80 桁固定,構造化機能もなくGOTO文が必須で,見た目も現在とは全く違う言語だった.
LLVMは,もともとLow Level Virtual Machineの略で,最初はイリノイ大学の学生による修士論文として始まったプロジェクトです.それを元に,今(2020年)ではさまざまな言語およびアーキテクチャで再利用が可能なモジュール化されたコンパイラ,ツール・チェーン(デバッガなど)までを含む大きなプロジェクトに成長し,LLVMがプロジェクトを指す固有名詞となりました.
Rust は,C/C++(どちらかというとC++)と真っ向から競合するプログラミング言語です.C/C++の安全性に関わる問題を人類の英知で克服しようとする正統派な言語だと感じることから,筆者の推しプログラミング言語はRustです.
Rustのインストールは,非常に簡単です.Rustのインストーラであるrustupを使用します.次の手順に従って,rustup(https://www.rust-lang.org/tools/install)をインストールします.
ここでは,Rustのマイコン・ファームウェア用パッケージ(Rustではクレートという)をビルドして,マイコン上で動かしてみます.
前章では,スクラッチでRustのファームウェアを書いてみました.その中で出てきたのがunsafeです.Rustの安全性とは何なのか,unsafeとは何なのか,1度ここで整理してみます.
Go言語は,Googleが2009年に設計した新しいプログラミング言語です.2012年にバージョン1がリリースされました.Go言語は静的な型付きのコンパイル型言語で,オープンソースで開発されています.
TinyGoには次のような特徴があります.
(1) マイコン上で動作
(2) WebAssemblyのサポート
(3) ガベージ・コレクションのサポート(一部を除く)
(4) goroutines(並列実行)のサポート(一部を除く)
(5) Go言語の標準機能の一部サポート
■次号予告
■見逃しインターフェース
インターフェース2019年12月号の特集は,「注目オープンソース RISC-Vマイコン」となります.オープンソースCPUとして注目を集める「RISC-V」の基礎知識から続々登場する低価格マイコン・ボード,オープンソース時代の新しいコンピュータ作りまで,新世界をかいま見てみます. |
■Interface バックナンバー
注目オープンソース RISC-Vマイコン
水・海洋IoTセンシング&カメラ実験研究
プログラミング学習の研究
農業&自然センシング大研究
AIモダン計測制御の研究
カメラで測る 画像センシング
見える空間センシング ARコンピュータの世界
あなたの知らないモダンOSの世界【事典付き】
国土地理院から始める地図とIoT
算数&電子工作から始める量子コンピュータ
これから期待のコンピュータ技術百科
小型リアルタイム組み込み人工知能
My人工知能の育て方
ラズパイ・ESP32 IT料理実験
新定番IoTマイコンESP32大研究
IoT新技術 なるほどブロックチェーン
360°&マルチ時代カメラ画像処理
ちゃんとはじめる学習コンピュータ[事典付き]
もくもく自習 人工知能
AIスピーカの仕組み 音声信号の科学
陸・海・空!ラズパイの限界に挑戦[ムービーDVD付き]
知っ得 世界のAI技術
人工知能ウルトラ大百科
これから注目のIoT無線 大研究
IoTのための地図・地形・地球 大集合
■Interface関連リンク先
(1) Interfaceホームページ
(2) Interface(CQ出版)twitter
(3) Interfaceなかの人 twitter
(4) Interface オフ会のページ
(5) Interface facebook
(6) インターフェース通信【立ち読み版】まとめ
(7) Interface バックナンバー