SWEST23
特別企画「ぼくの／わたしの欲しい組込みプログラミング言語」
2021年9月2日（木）13:20-14:40
コーディネータ
株式会社アイシン 間瀬 順一

特別企画のねらい
組込みソフトウェア開発では、⾧い期間、多くのプロジェクトで C 言語が使われています。組込みソフトウェ
ア開発で言語に求められる要素、もしくは開発言語を変えていくには、どんな起点があるのか。
SWEST実行委員を中心に全員参加型のパネルを行います。
組込み開発を変えていくSWESTでの議論のきっかけになるパネルを目指します会場参加について• ZOOMの機能を使って、アンケートを取ります。
• 個人の結果は、ホストでもわかりません。
• 集計した結果は、引用する形で公開させていただきます。
• ブレイクアウトルームに分かれて小グループ（5名程度）で議論していただきます。
• 会社施設からの参加で聞くことはできるが、話すことができないという方も居られると思います。そのような方も許容します。可能ならルーム内チャットで対応してください。

• 全員参加型の企画にご協力ください。

コーディネータ自己紹介
氏名：間瀬 順一
所属：株式会社アイシン
バス・トラック向けAT制御ソフトの開発を担当していました。
今は、車載向けソフトウェアPF全般の開発に関わっています。
• 技術士（情報工学）• 名古屋大学特任教授（2007/09/11/14/20）• 自動車技術会 ソフトウェア更新分科会 委員

現状把握（1）• 約2/3のプロジェクトで、Cが主力言語• 次がC++、補助的な利用を含めると次がアセンブラ

組込みソフトウェアデータ白書2019

独立行政法人 情報処理推進機構 2019年

現状把握（2）• 新規開発は7%• 多くの開発プロジェクトは、ベースソフトがある。

組込みソフトウェアデータ白書2019

独立行政法人 情報処理推進機構 2019年

現状把握（3）組込みソフトウェアデータ白書2019

独立行政法人 情報処理推進機構 2019年

現状把握（まとめ）C は、以下の理由で使われ続けているようです。
• 組込みソフト開発は流用することが多く、流用元が C で書かれているから、そのまま C を使っている。
• 組込み開発の成果は、「モノ」として販売される側面があり、計算力をむやみに増やすことが難しい。リアルタイム制約も厳
しく、小回りが効く C を使うことは合理性がある。
• 法規制や機能安全規格などへの対応を考えると、ナレッジが集約されたガイドラインが整備されていたり、コンパイラを含めた開発ツールが強く品質保証されているのは好ましく、C はこの面では蓄積がある。

SWESTセッションから
一方、C には現代的な視点で見ると言語としての欠点もあり、組込みシステム開発向けの新しい言語が普及しつつあります。
• SWEST19

mruby（s3c）• SWEST20

mruby（s1d/s3c）、Elixir（s2c）• SWEST21

Elixir（基調講演/s2d/s3d）、mruby（s4d/s5d）• SWEST22

Zen（s2a/s3a）、Elixir（s5a）• SWEST23（今回）Elixir（s2b）、 Rust（s4a）ポジションペーパから（提出ありがとうございます）
提出70名

集計

プログラミング言語
その他
開発方法論
ハードウェア
教育
ツール
システムソフトウェア
モデリング理論
コデザイン

ポジションペーパから（続き）今、興味を持っているプログラミング言語
20181614121086420

PythonRust

C++

Elixir

C

Ruby

Go

Nim

1票の言語は「その他」として集約しました。

その他

パネラ紹介アプリケーション開発者の立場から教育機関の立場で学生もしくは若年技術者の立場から開発マネージャの立場から言語を提案する立場から各自4分でお願いします。

細合及川
浜名
後藤
山崎

晋太郎様
達裕先生
将輝様
孝一様
進先生

Zoomを使ったアンケート１
あなたの立場は、どれに近い？
1. 開発に、主な役割として管理者として従事している。
2. 開発に、主な役割として開発者として従事している。
3. 研究もしくは教育に従事している。（学生含む）
4. その他

Zoomを使ったアンケート１ 結果• 想定より管理者が少ない印象• 3番目の選択肢は学生が含まれいていると予想（学生参加 25名）

Zoomを使ったアンケート２
ソフトウェア開発で困っていることは？
研究や教育でソフトを作る場合も含みます。開発する立場でない方は、開発している方の様子、もしくはご自身が見聞きした経験から回答してください。

複数回答ありです。
1.
2.
3.
4.
5.
6.
7.
8.

開発したソフトウェアの品質が悪い。
開発するソフトウェアの量が（開発リソースと比べて）多い。
ソフトウェアを短期間で開発しなければならない
開発するソフトウェアの複雑度が高い。
開発するソフトウェアの仕様や制約が頻繁に変更される。
開発で使うライブラリやツールに不具合が多い。
開発で使う言語や環境に習熟できていない。
特にないZoomを使ったアンケート２ 結果• コーディネータ（間瀬）からは、「7. 言語や環境に習熟できていない。」の多さは以外だった。
• 2番目以降の選択は、現在のソフトウェア開発の状況を表していると考えられる。
• 短期間
• 複雑
• 量が多いブレイクアウトルームに分かれてディスカッション！
お題「ソフトウェア開発で一番困っていることは何ですか？」• ブレイクアウトルームのメンバーでディスカッションして、一番困っていることを合意してください。
• 検討事項の例• 発生している頻度• 解決の困難さ• 困っていることによる負のインパクト

ブレイクアウトルームの補足• ブレイクアウトルームでのチャットは、ルーム内の参加者にしか届きません。
（全体へのチャットはホストしか出来ません。）• ブレイクアウトルームでの議論は録画/録音の対象となりません。
• ルームの番号は、ウィンドウの上に表示されています。
• ブレイクアウトルームを抜けてから、ルームの結論をチャットで送信してください。
（送信する人はルームで決めてください。）
それでは、始めましょう！

パネラの方に戻しましょう。
ブレイクアウトルームの議論の結果言語、ツールなどいろいろなものが複雑になりすぎている「 （使いこなすために）新しいものを覚えるコスト」が大きいこと

設計漏れによる手戻り工数がツライ！
開発する時間が取れていない
新しいことをやるのに、言語や技術の選択肢が広く難しい。各々の学習コストが高くてつらい

情報の吸収、自分の中に取り込むことが難しいこと

言語を読み書きするための、言語やライブラリAPIの仕様やエラーメッセージについての情報になかなかたどり着けない。

今まで何も困ったことが無いことが、不安そもそも開発者が技術向上に対してモチベーションが低い。自発的に技術力の向上をしていく意識のある人がすくない。
非ソフトウェアエンジニアがソフトウェアのカンコツ・文化を理解できずに開発に参画している
4つ困っていること・大規模化したときに見通しが悪くなる
・学生にとっては習熟に困っている・外部ライブラリの不具合で困っている，OSSなら直せるけど，バイナリのみ提供だとどうしようもない・バージョンの不一致，バージョンアップをいつすべきかで悩んでいる

オンライン中心になってきているのもありコミュニケーションがとりずらい最後に
今回は困りごとについて、技術的な面で議論しましたが、プロセス、人材育成などいろいろな切り口で議論ができるセッションが予定されています。
SWESTを議論で盛り上げていきましょう。

SWESTは議論で盛り上がったと思います。
参加者のみなさま、ありがとうございました。

間瀬