おすすめのプログラミング学習アプリ7選!幼児から中高生まで - cocoiro(ココイロ) - Page 2

知っておきたいプログラミングの基礎知識

コンピュータが使っている「論理演算」とは?

私たちになじみの深い、算数や数学で学んだ計算方法を「算術演算」と言います。それに対し、コンピューターが内部で行っている計算方法は、「論理演算」と呼ばれるものです。論理演算とは、真(true)と偽(false)の二通りの状態を取る値の間で行われる演算のこと。真とはその命題が正しいこと、偽は正しくないことを示します。

論理演算には次の4種類があります。最初の3つは入力する値が2つの二項演算、最後のNOT演算は1つの値のみの単項演算です。コンピューターでは真を1、偽を0に置き換えて計算することが一般的で、2進法で計算します。

演算 入力値 出力結果
論理和(OR) どちらかが真であれば
論理積(AND) どちらも真であれば
排他的論理和(XOR) 両者が異なる値であれば
論理否定(NOT) 真または偽 入力が真なら偽、偽なら真

【5分で覚えるIT基礎の基礎】第1回:あなたは論理演算がわかりますか? | 日経 xTECH,論理演算(ブーリアン演算)とは |IT用語辞典 e-Words より筆者作成)

プログラミング言語では、プラスやマイナスなどの記号の代わりに論理演算子を使って式を記述します。演算子には、「&&」のような記号を使う場合と「and」のような英単語をそのまま使う場合とがあります。

子供や初学者にも分かりやすい「ビジュアル言語」とは?

プログラムはこれら論理演算を使って、プログラミング言語のルールに従い、英語や記号、数字などのテキストで記述していきます。しかし子供などの場合、テキストをキーボードでタイプするのがハードルになることが多い上に、英語圏以外の国ではアルファベット表記も障壁になりやすいものです。

そこでどんな人でも簡単にプログラムに取り組めるよう、要素を視覚的に捉えやすいパーツにし、組み合わせるだけでプログラミングできる言語が開発されました。このような言語を「ビジュアル(プログラミング)言語」と言います。サイト「プログラミングツール図鑑」は、ビジュアル言語を次のようなタイプに分類しています。

分類 特徴 言語の例
ブロックタイプ 指示の書かれた小さなブロックを繋いでプログラミング。ブロックを並べる順序や論理構造の作り方が、一般的なテキスト言語の考え方に類似している。 Scratch など
フロータイプ フローチャートのように、指示や機能、条件のアイコンを配置してプログラミング。ソフトとハードを包括するようなプログラムに適する。 MESH、SAM Labs など
独自ルールタイプ 上記の2つに当てはまらない独自のプログラミング言語。文字や数字で指示や論理構造を行うのではなく、より直感的に作品作りをする。 Viscuit、Springin’ など

ビジュアルプログラミングってなに?〜3タイプ分類でわかるScratchやViscuitの違い| 知りたい!プログラミングツール図鑑 より筆者作成)

世界のプログラミング言語にはどんなものがある?

プログラミング言語といえば通常、ビジュアル言語ではなくテキストで記述するものを指します。さまざまな種類の言語があり、それぞれの言語に得意分野があります。また同じ論理の記述でも、それぞれの言語によって文法が異なり、別の記述ルールを持っています。

現在世界ではどんなプログラミング言語がよく使われているのか、世界と日本のランキング調査を見てみましょう。

TIOBE Index(※1) レバテックルーキー

プログラミングトレンド調査(※2)

1位 Java Java
2位 C C/C++
3位 Python PHP
4位 C++ Python
5位 C# Javascript
6位 Visual Basic .NET その他
7位 JavaScript Ruby
8位 SQL Objective-C/Swift
9位 PHP Android Java/Kotlin
10位 Objective-C Go

※1:TIOBE Softwareの集計(2019年10月)による、検索エンジンで話題になっているプログラミング言語のランキング

※2:レバテックルーキーの調査(2019年8月)による、日本の2020年入社予定新卒エンジニアが就職先で携わる予定のプログラミング言語のランキング

(出典:TIOBE Index | TIOBE,2020年新卒エンジニアプログラミング言語トレンド発表|レバテックキャリア から筆者作成)

上位にランクインしているプログラミング言語から主なものを、以下で簡単に解説します。

  • Java

ハードウェアやOSの種類を選ばないプラットフォーム非依存性とバージョン間の互換性を重視している点が特徴で、特にシステム開発において高い信頼が寄せられています。家電機器や乗用車の組み込みシステムから、携帯機器、パソコン、スマートフォンなどさまざまな製品に使用。Android OS用のアプリ開発では、Javaが定番の言語です。

参考

Java|ウィキペディア

  • C/C++/C#

Cは1970年代に開発された歴史のあるプログラミング言語。プログラムの自由度が高く汎用性があり、目的に応じた拡張が容易であるため、あらゆる分野に普及しています。ただ記述がやや難解なところがあり、他のプログラミング言語も増えてきているため、使用シーンは相対的に減少傾向。特にソフトウェア開発などでは、Cから派生した後発言語のC++やC#、Javaなどの利用が多くなっています。

参考

C言語|ウィキペディア

  • Python(パイソン)

プログラマーの作業を容易にし、コードの信頼性を高めることを重視して設計された言語であるため、シンプルで読みやすく書きやすいことが特徴です。Webやデスクトップのアプリケーション開発をはじめ、システム用の記述、各種の自動処理、理工学、統計・解析など幅広い領域で活躍。最近では、AI開発と機械学習の分野で活用されるようになりました。

参考

Python|ウィキペディア

  • PHP

サーバー上で動くWebアプリケーション開発に利用されることが多く、動的なWebコンテンツを作る言語としては現在最もメジャーな言語です。企業のオウンドメディアにも使われる有名なサイト構築ツールWordPressも、PHPで作られています。

参考

PHP|ウィキペディア

まとめ

興味を持ったアプリはあったでしょうか。スマートフォンで使えるアプリならスタートしやすいでしょうし、家に眠っているタブレットがあるのならこの機会に有効利用してみましょう。親子で一緒に遊びながら、プログラミングに取り組んでみるのもおすすめです。子供の頭の柔軟性や新しい体験の吸収力に、うれしい驚きを覚えるかもしれません。

参考

小学校プログラミング教育に関する研修教材|文部科学省

グリコードの授業用キットで、小学校の授業でも家庭でも、おいしく楽しくプログラミングの基礎を学ぼう!|EdTechZine

「ビスケット」が目指すプログラミングの大衆化-生みの親・原田氏がその特徴と活用ポイントを解説|EdTechZine

プログラミング言語人気トップ8、過去15年間で安定-例外はPython | マイナビニュース

エンジニア志望の学生100名が回答した、プログラミング言語トレンド発表|EdTechZine

初心者向け】プログラミング言語の選び方-様々な種類の言語を一覧で紹介します|CREATIVE VILLAGE

この記事をかいた人

菊池とおこ

北海道大学文学部行動科学科卒。行政系広告代理店、医薬系広告代理店、地方自治体の結婚支援事業担当などを経て独立、ライターに。女性のライフイベントと生き方、働き方、ジェンダー教育などが主な関心分野。大学院進学を視野に入れて地元大学のゼミ(ジェンダー・スタディ)に参加中。趣味は音楽、中学より本格的に合唱を始め、現在も合唱団に所属。ネコのおかあさん。子供と接する時は、自由人の叔父ポジション。