【ぷろぐらみんぐ】

プログラミング とは?

公開:
💡 コンピュータと会話するための"言葉づくり"
📌 このページのポイント
こうしたい! if (x > 0) {'{'} print (result) {'}'} for i in data: ソースコード ✓ 成功 結果: 42 設計 実行 設計 → コーディング → 実行 人間の考えをコンピュータに伝える手段
プログラミングとは、人間のアイデアをコードに変換しコンピュータに実行させること
ひよこ ひよこ
プログラミングってよく聞くけど、結局なにをすることなの?
ペンギン先生 ペンギン先生
コンピュータに「こういう順番でこう動いてね」って指示書を書くことだよ。人間の言葉だとコンピュータは理解できないから、専用の言語(プログラミング言語)を使って書くんだ
ひよこ ひよこ
「コーディング」とは違うの?同じ意味で使ってる人が多い気がするけど…
ペンギン先生 ペンギン先生
厳密には違うんだ。コーディングは「コードを書く作業」そのもの。プログラミングはそれに加えて、設計したりテストしたりバグを直したりする工程全体を含む、もっと広い意味の言葉だよ
ひよこ ひよこ
プログラミング言語っていっぱいあるよね?どれを選べばいいの?
ペンギン先生 ペンギン先生
目的によるね。Webサイトを作りたいならJavaScriptPython、スマホアプリならSwiftKotlin、ゲームならC#あたりが人気だよ。まずは「何を作りたいか」を決めると言語が絞られるんだ
ひよこ ひよこ
コンパイルとかインタプリタとか聞くけど、あれは何?
ペンギン先生 ペンギン先生
コンピュータが直接理解できるのは機械語(0と1の羅列)だけなんだ。コンパイル型はソースコードを事前にまとめて機械語に変換してから実行する方式、インタプリタ型は1行ずつその場で変換しながら実行する方式だよ
ひよこ ひよこ
じゃあコンパイル型のほうが速いってこと?
ペンギン先生 ペンギン先生
基本的にはそうだね。でもインタプリタ型は書いてすぐ試せるから開発のテンポがいいというメリットがあるよ。どっちが優れているという話ではなく、用途に応じた使い分けだね
ひよこ ひよこ
もっと深い話も聞きたいな。プログラミングの「パラダイム」って何?
ペンギン先生 ペンギン先生
いい質問だね。パラダイムはプログラムの書き方の"流派"みたいなもの。大きく分けると「命令型」と「宣言型」があって、命令型は「まずこれをやって、次にこれをやって」と手順を細かく書くスタイル。宣言型は「こういう結果がほしい」とゴールだけ伝えるスタイルだよ
ひよこ ひよこ
それってベテランのエンジニアでも意識してるの?
ペンギン先生 ペンギン先生
実はベテランでも意外と意識できていない人がいるんだ。たとえばSQLは宣言型、ReactのJSXも宣言的なアプローチなんだけど、「なぜそう書くのか」をパラダイムの観点で説明できる人は少ないよ。パラダイムを理解すると、新しい言語を学ぶスピードが格段に上がるんだ
ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「プログラミング」って出てきたら「コンピュータへの指示書を書くこと」と思えればだいたいOK!
📖 おまけ:英語の意味
「Programming」 = プログラム(計画・手順)を作ること
💬 もともと「program」はギリシャ語の「pro(前もって)+ graphein(書く)」が語源で、事前に手順を書き出すという意味だよ。放送の番組表も「プログラム」と呼ぶけど、やることを順番に並べるという本質は同じだね
← 用語集にもどる