先日、「プログラマーが本当に支持するプログラミング言語がわかる「人気の高いプログラミング言語2019」」という記事を見つけました。



1位はPython、2位JAVA、3位C言語と、この辺は特別驚くようなことはないんのですが(C言語が意外に高いとは思う)、今回驚いたのが8位にMatlabが入ったいたことです。
記事の中でもあるようになんでMatlabが?と思うプログラマーは多いと思います。

Matlabの人気が上がった理由の一つにMBDがあるでしょう。
自動車関連で組込みをやったころある方などはわかると思いますが、数年くらい前からMBDと言われる開発手法が普及してきています。
MBDとは「モデルベース開発」のことで、実際にものを作る前にPC上でモデルを作り、PC上でシミュレーションをして動作を確認をしていく開発です。
組込みシステムの場合開発はだいたい↓のようなプロセスで進みます。

開発
このプロセスだと最初に作成した仕様が正しいか、つまり作ったものが期待通りのものなのかを確認するには実際のモノが必要になります。
モノを作るのにはお金がいるし、実際にテストしたいシチュエーションを自由に作ることが困難な場合もあります。
また、実機でテストをしてそこで仕様が全然思った通りでなかった場合は、折角ものを作ったのに1から設計のやり直しになってしまいます。
これがMBDだと設計→コーディング→デバッグ→シミュレーション(実機相当のテスト)がすべてPC上でできることになるのです。
このように開発工数の削減が見込める開発手法がMBDの特徴です。

で、このMBDを実施するにあたりMatlab/Simuilinkが多く使われているのです。
SimulinkとはMatlab上で動くブロック線図シミュレータみたいなもので、プログラミング言語を書けなくても感覚的に制御プログラムを作ることができるソフトです。
この組み合わせは本当に人気で、私もメーカでの組込みを2社経験しましたが、どちらもMatlab/Simulinkを使用してMBDをやっていました。
また他の会社から転職してきた人も高確率でMatlab/Simulinkを使っていました。
有名なところで言うとマツダのSKY ACTIVEはMatlab/Simulinkを使い開発を進めていました。
このように組込みソフト開発ではMatlab/Simulinkが使われる流れになってきています。

そういう訳で今回プログラミング人気言語にランクインしたわけですが、人気が出てきたということは需要もあるということなので、
Matlab/Simulinkはしっかり使えるようになって損はないなーと思いました。
自分が普段使っている言語が急にランクインすると嬉しいもんですね。