プログラミング言語20選! 幼児から使いこなせるプログラミング言語の選び方

2年ほど前から、ときどき、翻訳のお仕事をいただけるので嬉しく思います。

翻訳スキルを磨くべく、コツコツ、のろのろ、海外の教育系記事や本に目を通し、ちまちま、翻訳活動をしています。

本ブログでも翻訳シリーズを書くようにしていますが、
今回は、「プログラミング」に関する記事を紹介します。

幼児の多くが「スマホ」を使ったことがあると昨今のニュースで目にしました。
確かに、電車などでも、スマホを見せているお父さんお母さんを見かけることもあります。子どもとコンピュータの出会い方について、考えることも多くあるような気がします。

この記事では、「学校の先生(や保護者)が、子どもにプログラミング言語を学ばせたいとき、どのようにえらんだらいいのか?」がまとまっています。後半では、幼児〜小学生向け、中高生向けと、世代別に適したプログラミング言語を紹介しています。

1970年代ー。「コンピュープログラマー」は超一流の仕事でした。

しかし近年、プログラミングの知識はより一般に広く知られるようになり、プログラマーになるために特別な学位は必要なくなりました。プログラミングは科学者やエンジニアのためだけのものではなくなったのです。英語学習者(EFL)やウェブサイトの作り手もプログラミング言語を学びます。

この記事では、初心者がプログラミングの言語を選ぶときの基本的なガイドを紹介します。これは学生だけでなく、教職員にも役立つでしょう。

ここで言われているように、学校教育の「情報」の授業の中で、プログラミングを経験した子どもや、自宅のパソコンでプログラミングをしている、という学生も増えてきたのではないでしょうか。小学生転載プログラマー!なども登場していますよね。

みなさんが最も知りたいことは「どのプログラミング言語を学ばせる必要があるのか?」でしょう。

この問いに答えるためには、個人個人のPAL(Purpose:目的、Ability:能力、Level:難易度)が助けになるでしょう。PALを知ることで、数多あるプログラミング言語の中から、最も適したものを選ぶことができます。

目的、能力、習熟度にあわせて、プログラミング言語を選びましょう、というガイドです。

Purpose(目的):
「プログラミングで何をしたいのか?」「どんなものを作りたいのか?」という問いは、あなたが習得すべきプログラミング言語を決める上で重要です。適したプログラミング言語を使うことで、目的が正しく達成されることが非常に重要です。目的に適していない言語を選択してしまったら、目的を達成することはできず、時間の無駄になってしまいます。

Ability(能力):
「自分は論理的なことは苦手だ」と思っているならば、難しい言語を選ぶのはやめましょう。
いくつかの適切なプログラミング言語から選ぶのを迷っているなら、あなたの能力に適したものを選ぶようにしましょう。そうでなければ、イライラがたまって、「汚い言葉遣い(くそっ!など)こそ、プログラマーが最もよく使える言語である」ということを学ぶことになります。

Level(難易度):
選んだ言語が適切な難易度かどうか確認しましょう。たとえば、微分法は小学校では教えないのと同じように、あまりに複雑すぎて子どもたちのレベルでは難しすぎる言語は選ばないようにしましょう。

PAL、言われてみれば、当たり前のことしか言っていないような気がしますが、着実にこれらのことを確認していくことで、無駄なつま付きを避けられるでしょう。はじめてのプログラミング体験が、楽しいものであると良いですもんね。

次に、プログラミング言語ベスト20選が紹介されています。ただし、どんな基準で選ばれているのかについては記述がありませんでした。ベスト20の次には、どのような世代に適しているのか解説されています。

—-
学ぶべきプログラミング言語トップ20
—-

1. Java
2. C
3. C++
4. Python
5. C# (pronounced C-sharp)
6. PHP
7. JavaScript
8. Ruby
9. R
10.MATLAB (matrix laboratory)
11.Perl
12.SQL
13.Assembly
14.HTML
15.Visual Basic
16.Objective-C
17.Scala
18.Shell
19.Arduino
20.Go

最後に、年齢、目的別におすすめのプログラミング言語がまとめられています。
ここでは以下の学齢についてのものを細かく紹介します。

(1)初心者向け/幼児・小学生向け
(2)中高生のためのプログラミング言語

(1)初心者向け/幼児・低学年向け
プログラミング言語は、小さな子どもたちの初心者にも教えられます。
おすすめは以下の3つです。

●Turtle Art
http://turtleart.org/
Turtle Artは、Logoという言語にで操られる”カメ”が、Scratchのような視覚化されたプログラミングブロックを組み合わせることで、色とりどりのアートを描きます。

●Scratch
https://scratch.mit.edu/
Scratchは子どもたち自身に、インタラクティブな操作を求める物語やゲームやアニメーションをプログラムさせることができます。また、作品は他のユーザにオンラインでシェアできます。

●Tynker
https://www.tynker.com/
Tynkerを使うことで初心者はプログラミングやコーディングゲームの基礎を学ぶことができます。

私自身が修士課程のとき、Scratchを使ったプログラミング教育について授業でグループワークで調査をしました。開発したMITの教授Mitchel Resnick氏は、”programmable brick”と呼ぶ、ブロックのように言語を組み合わせるプログラムを開発しました。

Mitchel Resnick氏らの開発から影響され、レゴマインドストームが生まれました。
レゴブロックは皆さんご存知だと思いますが、レゴマインドストームは、プログラミングをすることで、ロボットが動き回ります!

レゴマインドストーム
http://www.lego.com/ja-jp/mindstorms

小学生にはおすすめのプログラミング活用例ですね。

続いて、
(2)中高生のためのプログラミング言語

●VBScript (Visual Basic Scripting Edition)
https://msdn.microsoft.com/ja-jp/library/cc392209.aspx

Microsoftによって開発されたプログラミング言語です。
Visual Basicという言語をモデルにしています。
これは初めてのフォーマルなプログラミング言語として最適です。
(先生としては、これを学ぶべきです!)

加えて、教員は、Lua や Papyrus for Skyrim についても見ておくべきでしょう。

●Lua
http://www.lua.org/
Papyrus for Skyrim
http://www.creationkit.com/Papyrus_Introduction

この後、記事では、目的別にいくつかのプログラミング言語を紹介していますがメモ程度に割愛します。

▼ウェブサイトを作る(ビジネス、趣味、教育として)
HTML
CSS
JavaScript
jQuery

▼ビジネスのためのプログラミング(学生がビジネスの世界でプログラマーになることに関心が出たら)
COBOL (Common Business Oriented Language)
SQL (Structured Query Language – for databases)

▼研究や教育機関や企業での職員やITメンバーであれば以下も必要
MATLAB (matrix laboratory)
C languages   (C, C++, C#, Objective-C)

以上、みなさんが触れたことのあるプログラミング言語は登場しましたか?
子どもたちと接する機会のある方は、是非、インターネットでサイトに一度アクセスしてみてください。
各サイトでどんなことができるのか、開発された作品も見ることができます!

出典:

How to choose the right programming language for students
– See more at:
http://www.educationxpress.org/news/how-to-choose-right-programming-language-students

Source: eSchoolNews.com
By Frank Evans
December 10th, 2015

via Education Xpress http://www.educationxpress.org/

写真は、プログラミングブロックのような?スイス土産のマカロンです。