多目的化しているプログラミング学習
今では、プログラミング学習やプログラミング教育の重要性が広く知られるようになり、色々な場面で、その必要性が取りざたされています。
プログラミング学習 / 教育といっても、その目的は様々です。
- 初等中等教育で、ITリテラシーとして
- 論理的思考を鍛えるために
- エンジニアになるために
- 研究や開発で使うため
など、色々な文脈でプログラミング学習 / 教育は始まります。
今日は、目的別に、プログラミング学習 / 教育でお勧めのプログラミング言語を4つ紹介します。
- Scratch
- Python
- JavaScript
- C言語
です。
ビジュアルプログラミング言語:Scratch
- 小学校や中学校での学習
- 本格的にプログラミングを学び始める準備として
- プログラミングの考え方を効率よく把握する
時などに、お勧めなのがビジュアルプログラミング言語を使った学習です。
ビジュアルプログラミング言語を使うと、プログラミングのコードをキーボードで打ち込んでいくのではなく、視覚的なブロックを組み合わせてプログラミングできます。主にマウスやスクリーンタッチで操作します。
ビジュアルプログラミング言語の代表的なものにScratchがあります。
Scratchを使えば、
- 視覚的にプログラミングの仕組みを学習できる
- キーボードを使用しなくてもプログラミングを学ぶことができる
などのメリットを享受できます。
世界的にも、プログラミング教育でのビジュアルプログラミング言語の利便性は知られていて、初学者向けのプログラミング言語として広く導入されています。
学習教材が多い:Python
Pythonは、
- キーボード操作が可能
- ビジュアルプログラミング言語以外でのプログラミング経験がない
- 初学者だが本格的にプログラミングしてみたい
- Web開発やゲーム開発など、今の時点では特に作りたいものが決まっていない
などの場合にお勧めのプログラミング言語です。
理由は、
- 日本を含め、世界中で利用人口が多いため、学習の素材が豊富
- 基本的な書き方=文法が簡単
- 汎用的なプログラミング言語なので、色々な用途に使用できる
などです。
Pythonは世界中で、
プログラミング学習からプロの開発現場まで広く使われています。
そのため、Web上の学習教材や書籍など、活用できる情報が非常に多いです。
必然的に良質な学習用のコンテンツが簡単に見つかる、ということになります。
そして、Pythonのプログラミングコードの書き方は比較的シンプルで読みやすいので、初学者にも取り組みやすいプログラミング言語です。
実際に、プログラミング初学者向けの言語として、Pythonが選ばれるケースは多く見られます。
また、Pythonは、多くの現場で使われていることからも分かるように、汎用的なプログラミング言語です。Web開発からデータ分析まで幅広い分野で活用されています。
Web開発には欠かせない:JavaScript
- Webページ作成に興味がある
- Webデザインとプログラミングに興味がある
- Webブラウザで自分で作ったものが動くのを見たい
などの時には、
JavaScriptがお勧めです。
JavaScriptは、WebサイトやWebアプリ開発で広く使われています。
色々なプログラミング言語使用ランキングでPythonと共に上位の常連です。
JavaScriptには、
- フレームワークやライブラリが充実している=エコシステムが成熟している
- 使用人口が多く、良質な教材が多数ある
- ホームページの画面表示、Webデザインなど、フロントエンド(ユーザーの目に触れる部分)の他のスキルと親和性が高い
などの特徴があります。
JavaScriptはプログラミング学習の言語として、初学者に少しハードルがあります。
- HTML / CSSの知識が必要
- Pythonよりはやや書きにくいと感じ得るコード
などです。コードの書きやすさは主観が強く入るので置いておくとしても、HTML / CSSの最低限の知識は必要です。
これらの少しのハードルを考慮しても、Web開発に興味がある場合は、お勧めのプログラミング言語です。
コンピュータの基礎と共に学ぶなら:C言語
最後はC言語です。
- コンピュータの基本的な仕組みに興味がある
- プログラミング言語の基本的な仕組みに興味がある
- ハードウェアを含めてコンピュータサイエンスを学びたい
などの場合は、C言語は学習用のプログラミング言語としてお勧めです。
C言語の特徴として、特に先に紹介したPythonやJavaScriptなどに比べると、
よりコンピュータ側のことを意識する必要があるプログラミング言語
ということがあります。
プログラミング言語には色々な種類のものがあって、
それぞれ人間がどの程度コンピュータ側を意識してプログラミングコードを書く必要があるか、には差があります。
Pythonは初学者にも分かりやすいコード、ということを説明しましたが、ここには、あまりコンピュータ側のことを意識してコードを書く必要がない、ということも関係しています。これは良いことばかりではありません。
- 実行速度が遅い
- ハードウェアの理解なしでもプログラミングできる
などのデメリットがあります。
プログラムの実行速度が遅いという点ですが、人間がコンピュータ側を意識したコードの書き方をしなくて良い分、自動化されている部分が多いということです。その分、計算処理の速度は遅くなりがちです。
ハードウェアの理解については、メリットとも取れますが、
ハードウェアの面からもプログラミングを理解する
という学習の側面ではデメリットになりえます。
これらの意味でC言語はPythonと対照的です。
コンピュータのハードウェアに近い部分を理解しつつ、プログラミングのコードを書く必要があります。そしてその分、実行速度は速くなる傾向があります。
C言語を学ぶメリットはこれらだけではないですが、ハードウェアの理解を深めつつプログラミングを学ぶことができる、というのは大きいと思います。
自分の目的に合ったプログラミング言語を選ぶ
このように、学習目的別に、プログラミング言語にはいくつか選択肢があります。
- Scratch
- Python
- JavaScript
- C言語
と段階を追って学習を進めていくのも良いかもしれません。
色々な目的があるプログラミング学習 / 教育に、
選ぶべき1つのプログラミング言語
があるとは限りません。
主要なものに限っても、これだけ多くのプログラミング言語があるのには、それなりの理由があると思います。
「プログラミング初学者にはこの言語」、と決めつけるのではなく、
- 自分の学習目的に合ったもの
- 自分が楽しいと思えるもの
- 何となく興味が続きそうなもの
などの意識で、自分で選ぶと良いのかもしれません。
コメント