2020年度から小学校にプログラミング教育が導入されました。
コンピュータが仕事でもプライベートでも我々に多くの有益性をもたらしてくれるようになったこの時期に、
主体的にコンピュータと関わるために、プログラミングはますます重要なスキルとなっています。
今回は、これからプログラミングの世界に飛び込もうと考えている方へ向けて、
- プログラミングとは何か
- 多くのプログラミング言語に共通の基礎的な概念
についてお話します。
※この記事のマンガ内の文字が読みづらい場合は、端末を横に向けて画面を回転させてからご覧いただくと改善される場合がございます。
プログラミングとは
プログラミングができると、コンピュータに命令を与えて動かすことができるようになります。
ウェブサイトやアプリケーションを作ったり、サーバやデータベースを管理したりできるのです。
オリジナルのゲームやロボットも作れますよ。
このブログでもの記事を書いているので、興味があればぜひのぞいてみてください。
多くのプログラミング言語に共通の基礎概念
どんなプログラミング言語を学ぶにしても、ほとんどのものはある程度共通した考え方を持っています。
言語によって単語や文法は変わりますが、考え方は同じです。
まずはこれらの概念を覚えておくと、いろんな言語の学習にスムーズに入っていきやすくなります。
変数
特定の値に名前をつけて、あとから呼び出して使うことができるというものです。
言語によっては最初に宣言することがあります。
代入
あるもの(だいたいは左のもの)を別のもの(だいたいは右のもの)に「置き換える」操作です。
ひとつの「=」記号が使われることが多いですが、両辺が等しいというような意味はありません。
# Python の例x = 3 # 変数 x に 3 を代入string = "This is a string." # 変数 string に文字列を代入x = string # 変数 x に 変数 string を代入
// JavaScript の例var x = 3;var string = "This is a string.";var x = string;
配列
いくつかの数値やデータがまとめられた入れ物のようなものです。
番号などを指定することでそれぞれの値を呼び出すことができます。
数値を指定することで呼び出せるものと、文字列など数値以外のもので呼び出せるもの(連想配列)とがあることが一般的です。
# Python の例l = [1, 2, 3] # 配列(リスト)l[0] # 配列に格納されている値を呼び出す.数値は 0 から始まることが多い# -> 1d = {"key1": "value1", "key2": "value2"} # 連想配列(ディクショナリ)d["key2"] # キーを指定することで値を呼び出すことができる# -> value2
// JavaScript の例const l = [1, 2, 3];l[0] // -> 1const d = {key1: "value1", key2: "value2"};d["key2"] // -> value2d.key2 // -> value2
条件分岐
指定した条件を満たすときのみコードを実行させることができます。
多くは「if」を使います。
# Python の例x = 5if x == 3:# x が 3 であるときの処理a = 1elif x < 3:# x が 3 より小さいときの処理a = 2else:# それ以外のときの処理a = 3a # -> 3
// JavaScript の例const x = 5;if (x === 3) {var a = 1;} else if (x < 3) {var a = 2;} else {var a = 3;}a // -> 3
繰り返し(ループ)処理
反復処理、イテレーションともいいます。
多くの場合、ある特定の条件を満たす限り実行する「while」文と、
指定された回数だけ実行する「for」文があります。
# Python の例x = 1while x <= 3:# x が 3 以下である限り繰り返すx = x + 1x # -> 4x = 1for i in range(3):# 0 ~ 2 の値のそれぞれを i として取り出して繰り返すx = x + ix # -> 4
// JavaScript の例var x = 1;while (x <= 3) {x = x + 1;}x // -> 4var x = 1;for (var i = 0; i < 2; i = i + 1) {// 初期値 0,毎回のループ後に i = i + 1 の処理をし// これを i < 2 である限り繰り返すx = x + i;}// 次のように書くこともできるvar x = 1;for (var i of [0, 1, 2]) {// 配列[0, 1, 2] の各要素のそれぞれを i として取り出して繰り返すx = x + i;}x // -> 4
関数
いくつかの処理がまとめられた入れ物のようなものです。
関数の内部の処理に使うために引数をとることがあります。
返り値という何らかの値を返すこともできます。
# Python の例def func(arg1, arg2):return arg1 + arg2func(2, 3) # -> 5func(func(1, 2) + 3) # -> 6
// JavaScript の例function func(arg1, arg2) {return arg1 + arg2;}// 次のように書くこともできるvar func = (arg1, arg2) => arg1 + arg2;func(2, 3); // -> 5func(func(1, 2) + 3, 4); // -> 10
プログラミングができるようになると世界が広がります。
ここで紹介した基本の考え方をおさえたら、さっそく実際の言語を使ってプログラムを動かしてみましょう!
参考になれば幸いです。
では