みなさん,こんにちは。
シンノユウキ(shinno1993)です。
昨今のプログラミング人気の高まりもあって,本ブログの主な読者層である栄養士・管理栄養士(それらを目指す学生)の方にも,プログラミングを学びたいと考える方が増えているようです。
私は学生の時に,必要に迫られてプログラミングを学習しました。学びはじめは大変でしたが,それに見合うリターンが得られていると,今では感じています。したがって,(栄養士職に限らずですが)ぜひ多くの方にプログラミングを学んでいただきたいと思っています。
とはいえ,いざプログラミングを学びたいとなっても,どのようなプログラミング言語を学ぶべきか,そもそもプログラミングで何ができるのかといった点は,特に大学等で情報系に触れる機会が少ない栄養士・管理栄養士にとっては難しいところだと思います。
そこで今回は, プログラミングを学んでみたい栄養士・管理栄養士(それらを目指す学生)の方を対象とし,プログラミングを学ぶに当たって抑えておきたいことを紹介したいと思います。
プログラミングを学ぶ前に…
さて,プログラミングを学び始める前に,しっかりと考えておかなければならないことがあります。それは,
「なぜプログラミングを学びたいのか?」
ということです。これをしっかりと定めておかないと,学ぶべきプログラミング言語がぶれてきますし,学習のモチベーションを保ちづらくなります。
以下に,目的別に学ぶべきプログラミング言語をざっと列挙してみます:
- 日常の仕事を自動化・効率化したい → VBA,GAS,Python など
- Webアプリを作りたい → HTML/CSS/JS,PHP,Rubyなど
- デスクトップアプリを作りたい → Java,C,VB など
- スマホアプリを作りたい → Swift / Java など
- 統計解析に使いたい → R,SAS,Pythonなど
プログラミング言語によって,向いていること・できることは様々です。ですので,実現したい目的に応じて,学ぶべきプログラミング言語をしっかりと選ぶ必要があります。
Webアプリを作りたいのにVBAを勉強しても役には立ちません。HTMLやCSS,PHPといった言語を勉強する必要があります。ここで間違わないためにも,プログラミングを学ぶ目的をしっかりと定めなければならないのです。
栄養士がプログラミングを学ぶ目的
上記では,プログラミングを学ぶ目的を,事前にしっかりと目的を定める必要があることを紹介しました。
とはいえ,プログラミングを学ぶ目的がはっきりしている方ばかりではないでしょう。「何となくプログラミングを学んでみたい」,「プログラミングを学ぶと何か良いことがありそう」といった方も多くいらっしゃることかと思います。
そもそもプログラミングで何ができるかわからない,特に必要に迫られているわけではない場合は尚更だと思います。
栄養士の場合,本業としての栄養士業務がありますので,プログラミングは本業ではありませんし,する必要もありません。また,大規模なアプリケーションの開発はやらないでしょうが,栄養学の専門家として開発チームに加わることはあるでしょう。
そこで,下記のような目的でプログラミングを学ぶことをオススメします:
- 本業を自動化・効率化させること
- IT職とのコミュニケーションを円滑にすること
上記で紹介したように,業務の自動化・効率化に向いたプログラミング言語は存在します。実際に仕事で活用できることは,学ぶモチベーションの維持にも役立つので一石二鳥です。
またプログラミング言語を学ぶことで,アプリケーションの裏側ではどのように動作しているのかを(何となくでも)理解できるようになります。これによって,ITエンジニア等のIT職とのコミュニケーションが円滑に行えるようになるかもしれません。
またアプリケーションのプロトタイプ(試作品)のレベルまで作成できるようになると,アプリケーションにどのような動作をさせたいのかを大変わかりやすく示せるようにもなります。
栄養士にオススメのプログラミング言語
① Python
まずオススメしたいのがPythonです。
- 文法がシンプルで初学者でも学びやすい
- ExcelやWindowsの作業を自動化・効率化できる
- できることが多く汎用性が高い(Webアプリ開発,統計処理なども可)
- 学習のためのコンテンツが充実している
特に,学生の方にはPythonをオススメします。その汎用性の高さから,就職後の様々な環境でも活用しやすいと思います。
食事管理アプリ「カロママ」を開発している「リンクアンドコミュニケーション」が,アプリ開発現場でのコミュニケーション向上のために栄養士等の非エンジニア向けに行ったプログラミング講習でも,Pythonが使われました(参考)。
無料で読める教科書型の電子書籍が東京大学や京都大学から公開されていますので,興味のある方は読んでみてください。有料だとprogateやPyQというサイトで学ぶのがオススメです(私はどちらもやりこみました)。書籍は『独学プログラマー』あたりがいいかなと思います。
本ブログでも,いくつかの記事を公開しています(カテゴリページ)。基礎的な内容というよりは,やや応用の内容になりますので,上記を終えた後にのぞいていただければと思います。
② VBA・GAS
仕事でExcelなどのMicrosoft Office,GmailやGoogleスプレッドシートといったGoogle Workspaceを活用する場合は,習得しておいて損はありません。
- Excel等の作業を自動化・効率化できる
- 開発環境を用意する必要がない(すぐに開発できる)
- 学習のためのコンテンツが充実している
逆にいうと,上記環境以外では利用できません。たとえば,VBAを学習したとしても,Excel等のMicrosoft Officeを使用しない環境では,まったく役に立たなくなります。学生が学ぶ場合は,やや注意が必要です。
とはいえ,Excel等は,多くの職場で使用されているのが現状と思います。汎用性は,比較的高いと言えるでしょう。
VBAは書籍で学ぶのがオススメです。『入門者のExcel VBA』(新書版)か『Excel VBAのプログラミングのツボとコツがゼッタイにわかる本』(単行本)あたりがよいと思います。
GASは『詳解! Google Apps Script完全入門』あたりでしょうか。同書の著者が運営されているブログ「Google Apps Script完全マニュアル|いつも隣にITのお仕事」も参考になります。
VBAの栄養士実務への活用においては,トースター(@Toaster17995234)さんが運営されているnoteが参考になりますので,ぜひのぞいてみてください。
本ブログにおいても,VBAについては,入門者向けの連載記事を用意しています。箸休めにどうぞ!
③ ノーコード
プログラミング言語を紹介するはずでしたが,どうしても外せない項目として,ノーコード・ツールを紹介させていただきます。主に下記のようなツールがあります:
・Glide
・Power Query
・Power Automate Desktop
最近はプログラミングなし(ノーコード)でもアプリを作れたり,作業の効率化を可能とするツールが増えてきました。
Glideは,本ブログでも何度か紹介していますが,Googleスプレッドシート上のデータを表示したり,編集したりするアプリを簡単に作成することができます。少し工夫することで,BMI計算アプリのようなものも作れます(参考)。
Power Queryは,Excel上で利用できるツールで,データの変換・結合といった用途に特化しています。本来であれば複雑なプログラミングが必要な作業を手軽に自動化できます。
Power Automate Desktopは,Microsoftが提供しているRPA・RDAツールです。使ってみれば理解いただけると思いますが,本当にいろんなことができます。定型作業が多い方には,ぜひ使ってみていただきたいです。
まとめ
今回は,栄養士とプログラミングについて,栄養士がプログラミングを学ぶ理由や,オススメのプログラミング言語などを紹介しました。またプログラミング言語だけでなく,オススメのノーコードツールも紹介しました。
敷居は高く感じるかもしれません。しかし,学ぶことで得られるメリットは,非常に多いと思います。可能な範囲で,是非取り組んでみてください。