プログラムは…なぜプログラミング言語で書くのか?

タイピング

Preferred Networks (PFN) のプログラミング教材「Playgram(プレイグラム)」開発チームです。

この記事は、連載「タイピングを身につけよう!」の第三回です。第一回第二回では、プログラミングを学ぶ上で、なぜタイピングを身につけるべきなのかをお話しました。今回は、本題から少し寄り道して、本格的なアプリ開発になぜプログラミング言語が必要なのか、その理由を掘り下げます。

テキストを使わないコーディング

PFN のプログラミング教材 Playgram は、小学一年生から始めることができ、段階的に学習を進めて、最後には本格的なプログラミングの方法である「テキストコーディング」を習得できます。テキストコーディングとは、読んで字のごとく文章を使ってコーディング(プログラミング)することです。コーディングでは、普段の生活で使う言葉とは異なる「プログラミング言語」という専用の言葉を使います。

一方で、世の中には文字によるプログラミング言語を使わずにコンピュータに指示する方法もあります。その一例が、教育用として有名な Scratch に代表される「ビジュアルプログラミング」です。 

Scratch は、コードをテキストで書く代わりに、「ブロック」と呼ばれる部品をあらかじめ用意しています。ユーザーは、メニューの中から使いたいブロックを選び、マウスやタッチ操作でブロック同士をレゴのように組み合わせるだけでプログラムが作れます。このようなビジュアルプログラミングツールを使うと、子どもから大人まで、初学者でも最小限の知識でコーディングを始めることができます。

Playgram のカリキュラムでは、この利点を活用して、テキストコーディングの前にビジュアルプログラミングを体験することで、プログラミングの基礎を容易に学ぶことができるよう設計されています。同様に、今年から始まった小学校のプログラミング必修化でも、多くの学校でビジュアルプログラミングに用いたデジタル教材が活用されています。

Playgram では、ビジュアルプログラミングを通してプログラミングの基礎を学べます

なぜテキストコーディングが必要か

では、ビジュアルプログラミングのような初心者に向いた手法があるのに、なぜわざわざテキストコーディングを学ぶ必要があるのでしょうか。

この記事を読まれている方の中には、プログラミングという技術に対して「難解である」とか「たくさんのことを覚えなければいけない」といった苦手意識を持っている方は多いと思います。そんな苦労をせずにプログラミングが学べるなら、その方が望ましいはずです。なぜでしょうか?

それは、実社会で使われる本格的なアプリやサービスの開発にはテキストコーディングが必須であり、近い将来に他の方法に取って代わられる可能性はかなり低いと考えられるからです。その理由はこうです。

まず、今日のビジュアルプログラミングが初心者にとって受け入れやすいものになっているのは、直感的に操作できるユーザインタフェースを採用していることに加えて、できること(機能)を絞り込んでいるからです。そのおかげで、皆さんがプログラミングの基礎を学ぶ上で大事な部分に集中できるようになっています。

しかし、さらに進んで本格的なアプリを開発しようとすれば、画面の操作やネットワーク通信などの様々な機能が必要になります。ビジュアルプログラミングを使っても、より大規模で高度なプログラムを書こうとすれば、テキストコーディングと同様の複雑さに立ち向かう必要が出てくるのです。

また、こうした本格的なアプリ開発では、コードを一から自分の手で書き上げることはほとんどありません。たいていは、すでに世の中にあるソフトウェア部品を取り寄せて、それらを組み合わせて完成品を作ります。部品の組み合わせ方についても「フレームワーク」と呼ばれるコードのひな型が確立しており、それに則って開発することで労力を節約するのが一般的です。

このような既成の部品やひな型は、テキストコーディングの考え方を前提に作られています。それらを組み立てるのに使う工具(ツール)や作業場(開発環境)なども同様で、ビジュアルプログラミングに転用できないのです。

プログラムはたくさんの部品の組み合わせでできている

テキストコーディングは60年以上の歴史があるのに対し、実用的なビジュアルプログラミング環境が登場したのはこの20年ほどに過ぎません。今後はビジュアルプログラミングについても研究が進むでしょうが、本格的なソフトウェア開発に堪えるレベルまで成熟するのは時間がかかるでしょう。[1] … Continue reading

ビジュアルプログラミングの使いどころ

この記事では、本格的なプログラミングにテキストコーディングが必須である理由を説明しました。では、ビジュアルプログラミングは単なるテキストコーディングへの通過点で実用性に乏しいかというと、そう断じるのは早計です。

第四回では、ビジュアルプログラミングはどのような場面で使われるのかをご紹介します。

Playgram / Playgram Typing とは?

Playgram(プレイグラム)は、Preferred Networks (PFN) が開発するプログラミング教材です。PFN は Playgram を通じて、次世代を担う子どもたちに、実際のアプリ開発に通じる本格的なプログラミング技術にふれ、論理的かつ創造的な思考力や課題解決力を養う機会を提供します。最初は初心者に適したビジュアルプログラミングでプログラミングの基礎を学び、子どもの理解度と意欲に応じて段階的に学習を進め、最後に実際の製品開発にも使われる「Python」を使ったテキストコーディングを習得できます。

Playgram Typing(プレイグラムタイピング)は、プログラミングに必須なタイピング能力を習得できる Playgram の補助教材です。これからタイピングを始める子どもや、アルファベットを勉強中の未就学児でも、タイピングの正しい指使い、正確性、スピードを身につけられるよう設計されています。また、学習履歴から苦手なキーを選択して特に重点的に反復練習できる機能を搭載しており、効率的に練習できます。

Playgram Typing は、ご家庭や教育機関などで無償でご利用いただけます(教育機関でご利用の場合はお問い合わせフォームよりご連絡ください)。

References

1 筆者の私見ですが、ビジュアルプログラミングがテキストコーディングを大きく置き換えるには、漸進的な環境整備では不十分ではないかと思います。例えば、これまで人類が磨き上げてきた「言語によって思考する」という方法論を打ち破るような、何らかの大きな知的発明が必要なのかもしれません。