見出し画像

ビジュアルプログラミングの時代は来るの?

こんにちは。なおしむです。
最近Node-REDというビジュアルプログラミングツールを見つけました。
ブラウザ上で処理を線で結ぶことで視覚的にソフトウェアが作れます。
実行環境としては自分のサーバが必要ですが、現時点ではとりあえず自分のPCにインストールして遊んでいます。これまでテキストによるプログラミングを行ってきましたが、UI上でコーディングをするのは新鮮で楽しい体験です。しかし、今後のコーディングがこのスタイルになるのか?と考えるといくつか疑問もあります。
今回はビジュアルプログラミングツールであるNode-REDを使って簡単なソフトウェアを作ってみて、テキストベースのプログラミングと比較してみます。この記事からビジュアルプログラミングの雰囲気を味わってもらえたら幸いです。

作ったソフトウェア

今回、お題として作成したのは、Mastodonへの投稿をMisskeyに投稿するツールです。具体的には自分自身のMastodonへの投稿を30分毎に監視して、投稿があれば同じ内容をMisskeyへも投稿します。
プログラム全体はこんな感じです。内部で使ってる自作の関数は省略します。


プログラムソース

このプログラムでは、左上の「30分毎に実行」から処理が始まり、vivaldi(Mastodon)のRSSを読み込み、条件を満たすものをMisskeyへポストします。プログラムソースの画像から初見でも全体の流れがなんとなくわかるかと思います。

よかったこと:全体像がつかみやすい

まずは良い点ですが、”ビジュアルプログラミング”という名前からもわかる通り、視覚的に分かりやすいです。
テキストのプログラミングで、例えば、オブジェクト指向プログラミングの場合、クラス設計を見れば全体像はわかりやすいですが、処理の始まりであるエントリーポイントがわからずに理解が進まないことがあります。またWebAPIを作った場合もエンドポイントが、一体いくつあるのかわかりづらいことも多いです。
Node-REDの場合は、見た目で「端っこの部分」がエントリーポイントなので、すぐにわかります。
また、単純にコードを日本語で書けることもわかりやすく感じるポイントかもしれません。

改善点:diffがわからない

視覚的に作れるのが売りのNode-REDですが、diffによって変更箇所を表示することができません。テキストのプログラミングではdiffを元にコードレビューをしますが、それができません。一応コードをJSON形式でエクスポートする機能はあるため、バージョン管理はできますが、JSONのdiffを見せられても意味が分からないですよね。。なので、現状ではチーム開発などでコードレビューをするのが難しいと思います。なのでチーム開発をするには、diffの表示の仕方について技術的な進歩がないと難しいのかなと思いました。

まとめ

以上がNode-REDを使ってみた感想です。
まだ始めたばかりですが、現時点での結論は「個人的な趣味で遊ぶには良いが、仕事でチーム開発を行うには向いてない。」です。

とはいえ視覚的に開発するスタイルはソフトウェア開発の敷居を下げる意味で重要だと思うので、今後も動向を追っていきたいと思います。


この記事が気に入ったらサポートをしてみませんか?