ソースプログラム入門

ITを学びたい
先生、「ソースプログラム」って、何ですか?

IT専門家
コンピュータにさせたい仕事を、コンピュータが理解できる言葉で書いた設計図のようなものだよ。人間でいうと、料理のレシピに似ているかな。

ITを学びたい
レシピですか?でも、コンピュータは日本語を理解できないですよね?

IT専門家
その通り!コンピュータ専用の言葉で書く必要があるんだ。その言葉で書かれた設計図が「ソースプログラム」だよ。人間が読むこともできるけど、コンピュータにわかる言葉で書かれているんだ。
source programとは。
『もととなるプログラム』(別の言い方では「ソースコード」ともいう)という、情報技術に関する言葉について
定義

計算機に指示を出すための言葉で書かれた文章を、元となる計画書と呼びます。この計画書は、人間が理解しやすい言葉で書かれていますが、計算機はそのままでは理解できません。計算機が理解できる言葉は、機械語と呼ばれる特別な言葉だけです。
このため、元となる計画書を機械語に翻訳する必要があります。この翻訳作業を行う道具として、翻訳機と通訳機があります。翻訳機は、元となる計画書全体を一度に機械語に翻訳します。一方、通訳機は、元となる計画書を一行ずつ機械語に翻訳しながら、計算機に実行させます。
元となる計画書は、計算機への指示書のようなものです。計算機は、この指示書に書かれた内容に従って、様々な作業を行います。例えば、画面に文字を表示したり、計算を行ったり、情報を保存したりといった作業です。これらの作業は、すべて元となる計画書によって制御されています。
元となる計画書を作る人は、様々な言葉を使って計画書を作成します。よく使われる言葉としては、シー言語、ジャバ、パイソンなどがあります。これらの言葉はそれぞれ特徴があり、用途に応じて使い分けられます。例えば、シー言語は機械に近い制御を行う計画書に適しており、ジャバは網の目のように繋がった応用計画の開発に適しています。パイソンは情報の分析や機械学習に適しています。
このように、元となる計画書は現代社会の様々な場所で利用されており、私たちの生活を支えています。計画書を作る人たちは、これらの言葉を使って、様々な機能を実現する計画書を作成しています。元となる計画書は、ただの文字の羅列ではなく、計算機を動かすための重要な指示書と言えるでしょう。
| 項目 | 説明 |
|---|---|
| 元となる計画書 | 計算機に指示を出すための言葉で書かれた文章。人間が理解しやすい言葉で書かれているが、計算機はそのままでは理解できない。 |
| 機械語 | 計算機が理解できる特別な言葉。 |
| 翻訳機 | 元となる計画書全体を一度に機械語に翻訳する道具。 |
| 通訳機 | 元となる計画書を一行ずつ機械語に翻訳しながら、計算機に実行させる道具。 |
| 元となる計画書を作る人 | 様々な言葉(例:C言語, Java, Pythonなど)を使って計画書を作成する人。 |
| C言語 | 機械に近い制御を行う計画書に適した言語。 |
| Java | 網の目のように繋がった応用計画の開発に適した言語。 |
| Python | 情報の分析や機械学習に適した言語。 |
役割

計算機は、自身で考えることができません。何をどのように処理するのかを、具体的に指示する必要があります。その指示を書き記したものが、源プログラムと呼ばれるものです。源プログラムは、計算機に対する命令をまとめたもので、一つ一つの命令が計算機の動作を決めます。これらの命令は、決められた書き方の規則に従って記述され、順番に実行されます。
源プログラムは、ただ命令を並べたものではありません。論理的な組み立てが不可欠です。複雑な処理を実現するために、プログラムは複数の機能単位に分割されます。それぞれの機能単位は、特定の役割を担い、全体として一つのプログラムを構成します。このような構造化によって、プログラムの見やすさや、修正のしやすさが向上します。大きな建物を作る際に、設計図に基づき、土台、柱、壁、屋根といった部品を組み立てていくように、プログラムも整理された構造を持つことで、複雑な処理を可能にします。
また、源プログラムは、繰り返し使える貴重な財産でもあります。一度作成したプログラムは、一部を書き換えることで、別の用途にも利用できます。また、部品のようにまとめて提供することで、他の開発者が利用することも可能です。家を作る際に、釘や木材といった既に作られた部品を使うことで、家をより早く、効率的に建てられるのと似ています。このように、源プログラムは、様々な場面で効率化を可能にします。
源プログラムは、仕組全体を作るための基礎となる重要なものです。効率的で信頼できるプログラムを作成することは、仕組全体の性能や安定性に大きく影響します。そのため、プログラムを作る人は、常に最適な源プログラムを作成するように努めています。
| 源プログラムの特性 | 説明 | 例え |
|---|---|---|
| 命令の集合体 | 計算機に対する具体的な指示を書き記したもの。一つ一つの命令が計算機の動作を決定。決められた書き方の規則と順番に従って実行される。 | – |
| 論理的な組み立て | 複雑な処理を実現するために機能単位に分割され、構造化されている。 | 建物の設計図に基づき、土台、柱、壁、屋根を組み立てていくようにプログラムも構造化されている。 |
| 繰り返し使える財産 | 一度作成したプログラムは、一部書き換えで別の用途にも利用可能。部品のようにまとめて提供することで他の開発者も利用可能。 | 家を作る際に、釘や木材といった既に作られた部品を使うことで、家をより早く効率的に建てられる。 |
| 効率化 | プログラムの再利用や部品化により、開発効率が向上する。 | – |
| 仕組全体の基礎 | 効率的で信頼できるプログラムは、仕組全体の性能や安定性に大きく影響する。 | – |
種類

計算機に指示を与えるための言葉、つまりプログラムの元となる文章には様々な種類があります。これは、使われる言葉の種類、つまりプログラム言語によって様々です。例を挙げると、ホームページを作る際に使われる「ジャバスクリプト」、学習する機械を作る際に使われる「パイソン」、会社で使う事務処理の仕組みを作る際に使われる「ジャバ」など、それぞれの用途に合った言葉があります。これらの言葉は、それぞれ異なる文法や持ち味を持っています。
ジャバスクリプトは、閲覧ソフト上で動く、見た目や動きのある内容を作るために使われます。画面に動きを与えたり、ボタンを押した時の反応を作ったりするのに優れています。パイソンは、情報の分析や学習する機械を作る分野で広く使われており、分かりやすい文法とたくさんの便利な道具が特徴です。複雑な計算を簡単に記述でき、様々な処理を効率的に行うことができます。ジャバは、大きな仕組み作りに向いており、高い信頼性と安定性を誇ります。多くの機能を組み合わせた、複雑で大規模な仕組みを安全に動かすことができます。
他にも、「シー言語」は機械の制御に向いた言葉であり、「シープラスプラス」は遊びの仕組み作りなどでよく使われます。このように、様々なプログラム言語があり、それぞれの言葉が異なる役割を担っています。これらの言葉を使い分けることで、様々な種類の計算機の仕組みを作ることができます。仕組みを作る人は、作ろうとするものの条件に合わせて適切な言葉を選び、プログラムの元となる文章を作成します。
プログラムの元となる文章は、ただの文字の羅列ではなく、様々な技術や知識が詰まった、例えるなら設計図のようなものです。そして、この設計図に基づいて、計算機は様々な動きを行い、私たちの生活を便利にする様々なサービスを提供しています。計算機を動かすための指示書、それがプログラムの元となる文章であり、様々な種類があることで、多様な働きを実現しているのです。
| 言語 | 用途 | 特徴 |
|---|---|---|
| ジャバスクリプト | ホームページ作成 (見た目や動きの実装) | 画面操作、ボタン反応の実装に優れている |
| パイソン | 情報分析、機械学習 | 分かりやすい文法、便利なツールが豊富、複雑な計算を簡単に記述可能 |
| ジャバ | 大規模システム開発 | 高い信頼性と安定性、複雑な機能の組み合わせが可能 |
| シー言語 | 機械制御 | (特徴は本文に明記なし) |
| シープラスプラス | ゲーム開発等 | (特徴は本文に明記なし) |
作成方法

何かを作り出すためには、まず何を実現したいのかを具体的に決める必要があります。例えば、計算機を作るなら、どのような計算をしたいのか、どのような数字を入力するとどのような結果が表示されるのかをはっきりさせなければなりません。これは家を作る時に設計図が必要なのと同じです。
次に、実現したい機能に合った道具を選びます。プログラムを作る場合は、プログラミング言語がその道具に当たります。計算機を作るのとゲームを作るのでは適した道具が違います。作りたいものに合わせて、使いやすい道具を選ぶことが大切です。
道具が決まったら、いよいよ作業に取り掛かります。プログラムの場合は、テキストエディタという文字を書くための道具を使って、プログラムの設計図を書きます。この設計図は、人間が理解できる言葉で書かれていますが、機械はそのままでは理解できません。そこで、翻訳機のような役割を持つ道具を使って、機械が理解できる言葉に翻訳します。この翻訳の作業を、コンパイルや解釈と言います。
翻訳が終わったら、実際に機械に設計図を渡して、正しく動くかを確認します。もしうまく動かない場合は、設計図のどこが間違っているのかを探し、修正します。そして、もう一度翻訳し、確認するという作業を繰り返します。この作業をデバッグと言い、完成に近づくための大切な作業です。
全てがうまく動くようになったら、最後に説明書を作成します。説明書には、どのように使えばいいのか、どのようなことができるのかなどを詳しく書きます。これで、他の人も作ったものが使えるようになります。
このように、プログラムを作ることは、複雑でたくさんの手順が必要な作業です。しかし、自分の考えを形にして、機械を思い通りに動かすことができるため、やりがいのある仕事でもあります。様々な問題を解決したり、新しいものを生み出したり、プログラムを作ることでたくさんの可能性が広がります。
| 段階 | 説明 | 具体例 |
|---|---|---|
| 1. 目標設定 | 何を実現したいのかを具体的に決める。 | 計算機を作るなら、どのような計算をしたいのか、どのような数字を入力するとどのような結果が表示されるのかを明確にする。 |
| 2. 道具選び | 実現したい機能に合った道具を選ぶ。 | プログラムを作る場合は、プログラミング言語を選ぶ。計算機とゲームでは適した言語が異なる。 |
| 3. 設計図作成 | テキストエディタを使って、プログラムの設計図(コード)を書く。 | 人間が理解できる言葉でプログラムを書く。 |
| 4. 翻訳 | 翻訳機(コンパイラ/インタプリタ)を使って、機械が理解できる言葉に翻訳する。 | コンパイルまたは解釈を行う。 |
| 5. 確認・修正 | 機械に設計図を渡し、正しく動くかを確認する。動かない場合は修正する。 | デバッグ作業を行う。 |
| 6. 説明書作成 | どのように使えばいいのか、どのようなことができるのかなどを説明する。 | 他の人が使えるように説明書を作成する。 |
将来展望

計算機を動かす設計図である原始記号の集まりは、これからもっともっと大切になっていくでしょう。知能を持った機械や、身の回りのあらゆる物が計算機につながる仕組み、そして大量の情報の集まりといった技術が進むにつれて、計算機を動かすための指示の集まりの必要性はますます高まっています。これらの技術を実現するためには、高性能で信頼できる原始記号の集まりがなくてはなりません。また、計算機に指示を出す言葉も進化し続けており、より高度な働きを実現するための新しい言葉や骨組みが次々と現れています。これらの新しい技術に対応するためには、指示を書く人は常に最新の知識を学び続ける必要があります。
さらに、自動的に指示を書く技術の研究も進展しており、将来は、人が直接記号を書かなくても、計算機が自動的に指示の集まりを作ってくれるようになるかもしれません。しかし、どんな技術が現れても、原始記号の集まりが計算機を動かすための基本的な指示書であることは変わりません。指示を書く人は、計算機と人をつなぐ橋渡し役として、より高度な技術を学び、より複雑な問題を解いていくことが求められるでしょう。
原始記号の集まりは、単なる技術ではなく、未来を作るための力強い道具と言えるでしょう。そして、その力は、指示を書く人の創造力と技術力によってさらに大きく広がっていくでしょう。
| 計算機を動かす設計図(原始記号の集まり)の重要性 | 根拠 |
|---|---|
| 重要性が増す | 知能を持った機械、IoT、ビッグデータ等の技術進展により、計算機への指示の必要性が高まっているため。 |
| 高性能・高信頼性が必要 | 新技術の実現には、高性能で信頼できる原始記号の集まりが不可欠なため。 |
| 指示を出す言葉も進化 | より高度な働きを実現するための新しい言語やフレームワークが登場しているため。 |
| 自動化技術の進展 | 将来的には、人が直接記号を書かなくても、計算機が自動的に指示を作ってくれる可能性があるため。 |
| 指示を書く人の役割 | 計算機と人をつなぐ橋渡し役として、高度な技術を学び、複雑な問題を解くことが求められるため。 |
| 原始記号の集まりの本質 | 未来を作るための力強い道具であり、その力は指示を書く人の創造力と技術力によってさらに広がるため。 |
