テラボブログ

なぜビジュアル言語から始めるのか

2025年6月1日

こんにちは、本多です。
このブログでは、プログラミングや教育のことについて書いていきます。

今回は、なぜビジュアル言語から始めるのかについて書いていきます。

2種類の言語

さて、教育的観点から言えば、プログラミング言語には大きく分けて2種類存在します。
それがテキスト言語と今回話すビジュアル言語の2種類です。
現在、日本の小中学校ではビジュアル言語の採用が主流であり、この傾向は今後も続くと考えられます。では、ビジュアル言語を用いることの教育的効果は具体的にどのようなものなのでしょうか。本記事では、この点を詳しく解説します。

まず、テキスト言語とビジュアル言語の違いから説明していきたいと思います。
テキスト言語とは、一般的にプログラミングと聞いてイメージされるような、英数字や記号のコードを記述していく言語です。詳細は言語ごとに異なりますが、基本的にはキーボードでコードをタイピングしてプログラムを構築します。
一方、ビジュアル言語は、命令や処理がまとめられたブロックを、パズルのように組み合わせてプログラムを作成する言語です。テキスト言語がタイピング中心であるのに対し、ビジュアル言語はマウスによるドラッグ&ドロップ操作が中心となります。

例えば、「キャラクターが回りながら小さくなっていく動き」を行う同じプログラムを、両者で作ってみた結果の画面が以下の通りです。

2種類の言語の違い

上記画像から、テキスト言語とビジュアル言語には何か明確な違いがあることがお分かりいただけたかと思います。本記事では、これらの違いを大きく「①言語の可読性」「②操作方法」「③必要な知識と検索の容易さ」「④エラーの発生と対処」という4つの観点から詳しく比較検討します。

①言語の可読性
まず顕著なのは、言語そのものの見た目や親しみやすさ、すなわち可読性です。
現在主流のテキスト言語の多くは英語ベースで作られており、プログラムコード中には英単語に似た命令語が頻出します。そのため、英語に不慣れな日本語話者の初学者にとっては、これが一つの障壁となり得ます。
大岩ら(2015)は、初学者がテキスト言語を学ぶ際の困難について、「(1)『新しい言語を理解すること』(2)『それを使って仕組を作ること』という2つの初めての作業を同時に行わなければならない。殆どの受講者は、新しく学ぶ言語の文法通り、プログラムを書く段階で挫折してしまう」と指摘しています (大岩ら, 2015)。

この指摘を踏まえると、多くのビジュアル言語は日本語に対応していることから、言語理解の負荷を軽減し、(2)の「それを使って仕組を作ること」、すなわち論理的な思考や問題解決といったプログラミングの本質的な学びに集中できる点で、初学者にとってテキスト言語よりも有用であると言えるでしょう。

②操作方法
前述の通り、テキスト言語はタイピング、ビジュアル言語はマウス操作が多いです。一般的に、マウス操作はタイピングに比べて習得が容易であるとされています。実際に、千葉県教育委員会が示す「情報活用能力に関する指導目標例(情報活用能力体系表)」によれば、マウス操作は小学校低学年で習得目標が設定されているのに対し、キーボードによる文字入力は中学校段階まで継続的な指導が必要とされています (千葉県教育委員会, 発行年不明) [2]。

③必要な知識と検索のしやすさ
ビジュアル言語では、使用できる命令(ブロック)がカテゴリ別に一覧表示されているため、命令の名前を正確に記憶していなくても、目的の機能を持つブロックを視覚的に探して利用できます。一方、テキスト言語では、命令語の正確なスペルや文法を記憶するか、別途資料を参照したり、インターネットで検索したりする必要があります。これは、特に初学者にとっては学習の負担となる場合があります。

④エラーの発生と対処
テキスト言語では、タイプミスや文法的な誤り(例:1文字のスペルミス)がプログラムのエラーに直結します。タイピングに不慣れな初学者や、英語のスペルに馴染みのない学習者にとっては、これが頻繁なエラーの原因となり得ます。対照的に、ビジュアル言語の多くは、ブロックの形状などによって組み合わせが制約されるため、文法的なエラー(シンタックスエラー)が構造上発生しにくい設計になっています。これにより、初学者は細かな記述ミスに煩わされることなく、プログラムの論理構造やアルゴリズムの検討に集中できます。

初学者に適した言語

以上のことから、初学者にとってビジュアル言語が適していると考えられます。
文部科学省も、小学校段階のプログラミング教育においてビジュアル言語の活用を推奨しており、『小学校プログラミング教育の手引(第三版)』の中で次のように述べています。

「プログラミング言語については、あたかもブロックを組み上げるかのように命令を組み合わせることなどにより簡単にプログラミングできる言語(ビジュアル型プログラミング言語)が普及しており、種類も豊富です。マウスやタッチ操作が主で(表示させる言葉や数などはキーボードで入力します。)、ブロックの色で機能の分類を示すなど視覚的に把握しやすく、また、その言語の細かな文法を気にすることなくプログラムを作成することができますので、自分が考える動きを実現することに専念することができます。」(文部科学省, 2020) [3]

ビジュアル言語は、前述のようなテキスト言語における初学者の困難を軽減し、論理的思考に集中できる環境を提供します。さらに、プログラミングに対する自信の醸成にも寄与することが研究で示されています。例えば、Smithら(2014)は、イギリスのプログラミングクラブ(日本の児童館や学童クラブでの活動に近い)でビジュアル言語を学ぶ2000人以上の小学生を対象とした調査を行いました。その結果、多くの児童がプログラミングそのものだけでなく、関連する概念の理解に対しても自信を示したと報告されており、ビジュアル言語が学習者の自己効力感を高める可能性が示唆されています (Smith et al., 2014) [4]。

テキスト言語への移行

一方で、より高度で複雑なプログラミングを目指す場合、いずれはテキスト言語への移行が必要となるのが一般的です。Hjorih(2017)は、ビジュアル言語の限界点として、提供されているブロックの範囲内でしか表現できない制約や、エラーが構造的に発生しにくいために問題解決(デバッグ)のスキルが育成されにくい可能性を指摘しています (Hjorih, 2017) [5]。実際に、前述のSmithら(2014)の研究でも、児童がデバッグに関しては他の項目ほど自信を示さなかったという結果が得られており、この点はビジュアル言語での学習における課題の一つと考えられます [4]。
実際、高等学校の共通教科「情報」におけるプログラミング学習では、PythonやJavaScriptといったテキスト言語の使用が一般的です。多くの教科書では、テキスト言語を用いた作例が提示され、ビジュアル言語では扱いにくい高度な内容も含まれるため、授業実践も自然とテキスト言語中心となる傾向があります。

しかし前述した通り、ビジュアル言語とテキスト言語には大きな違いがあります。このことはビジュアル言語からテキスト言語に移行する際にどのような影響を及ぼすのでしょうか。

ビジュアル言語とテキスト言語には大きな違いがあるため、学習者がスムーズに移行できるのかという疑問が生じるかもしれません。しかし、ビジュアル言語で培われたプログラミングの基本的な考え方や能力は、テキスト言語の学習にも活かされることが研究によって明らかになっています。Weintrop & Wilensky(2017)は、高校のコンピュータサイエンスの授業で、一方のグループにはビジュアル言語を、もう一方のグループにはテキスト言語を教えて比較実験を行いました。その結果、授業後のテストでは、テキスト言語に関する問題を含め、全ての項目でビジュアル言語を学んだグループの方が高い成績を収めました。このことは、ビジュアル言語による学習が、特定の言語に依存しない普遍的なプログラミング概念の理解を促進した可能性を示唆しています (Weintrop & Wilensky, 2017) [6]。
さらに、ビジュアル言語からテキスト言語への移行をより円滑にするためには、両者をつなぐ「中間コンテンツ」の活用が有効であることも示されています。中間コンテンツとは、例えば、ビジュアル言語で作成したプログラムが対応するテキストコードでどのように表現されるかを確認できるなど、両言語間の関係性を視覚的に理解しやすくした教材を指します。梅澤ら(2022)は、この中間コンテンツを用いた学習グループと用いないグループを比較し、テキスト言語の習得度を検証しました。その結果、中間コンテンツを経験したグループの方が、テキスト言語の理解度が有意に向上したことを実証しています (梅澤ら, 2022) [7]。

これらの研究結果は、ビジュアル言語がプログラミング初学者にとって非常に有効な学習ツールであることを裏付けています。ビジュアル言語で養われた基礎的な概念や思考力は、その後のテキスト言語学習においても応用可能であり、さらに中間的な教材を挟むことで、よりスムーズな移行と深い理解が期待できます。このような理由から、プログラミング学習の導入段階ではビジュアル言語から始めることの有効性が広く認識されています。

終わりに

この記事は以上となります。
今回は、なぜビジュアル言語から始めるのかについて解説しました。
本校でもビジュアル言語からスタートし、中間コンテンツを経てテキスト言語へと段階的に移行するカリキュラムを導入しています。その際、各段階での学習活動に関連性を持たせ、生徒が意欲と自信を維持しながら学べるような教材選定を心がけています。その結果、多くの生徒がテキスト言語の学習にもスムーズに移行し、着実に力をつけています。
次回は、テラボのカリキュラム設計について解説していきます。
ここまでお読みいただきありがとうございました。

(文責 本多)

引用文献

大岩 元, 近藤 一晃, 石井 裕一郎 (2015). 初心者向けプログラミング授業における教材作成支援システム. 情報処理学会研究報告コンピュータと教育(CE), 2015-CE-128(1), 1-8. https://ipsj.ixsq.nii.ac.jp/records/144733

千葉県教育委員会 (発行年不明). 情報活用能力に関する指導目標例(情報活用能力体系表). https://www.pref.chiba.lg.jp/kyouiku/kj-nanbou/shidoushitsu/documents/zyouhoukatuyou.pdf (2025年4月13日閲覧)

文部科学省 (2020). 小学校プログラミング教育の手引(第三版). https://www.mext.go.jp/content/20200218-mxt_jogai02-100003171_002.pdf (2025年05月18日閲覧)

Smith, J., Sentance, S., & Bapir, M. (2014). Making sense of the new computing curriculum: an exploratory study of primary school teachers’ perspectives in England. Paper presented at WiPSCE ’14: Workshop in Primary and Secondary Computing Education, Berlin, Germany. https://oro.open.ac.uk/39111/

Hjorih, A. (2017). Visual Cues and Affordances: how visual block programming environments can be used in an educational context (Master’s thesis, Uppsala University). DiVA portal. https://www.diva-portal.org/smash/get/diva2:1111152/FULLTEXT01.pdf

Weintrop, D., & Wilensky, U. (2017). Comparing block-based and text-based programming in high school computer science classrooms. ACM Transactions on Computing Education (TOCE), 18(1), Article 3, 1-25. https://www.cs.unm.edu/~learningcomputing/readings/17_weintrop_wilensky.pdf

梅澤 佑介, 兼宗 進 (2022). ビジュアル型言語からテキスト型言語への移行のための中間コンテンツの提案と評価. 工学教育, 70(1), 1_41-1_46.