フルスタックエンジニアのノウハウ
2020.10.27    2020.10.28

ソースコードとは何か?【プログラミング未経験者向け】

この記事の動画版はこちら(画像クリックでYoutubeに飛びます)

チャンネル登録お願いします!


今回は、プログラミング初心者の方のために、そもそも「ソースコードとは何か?」ということを分かりやすくご説明していきたいと思います。


・ソースコードとは何か?
・プログラミング言語とは何か?
・コンパイラやインタープリタとは何か?
・オープンソースとは何か?


この辺りの言葉の意味がいまいちよく分からない、という方は是非最後までご覧ください。


プログラミングを学んでいく上で「ソースコード」という言葉は、これから当たり前のように出てきますので、ここでしっかり認識しておきましょう!



ソースコードとは?


ソースコードとは、何かのプログラムを作る際に、そのプログラムに「どんな動作をさせたいか」という処理の内容を書いたテキストファイルのことです。


プログラミングというと、英語の文字をたくさん打ち込んでいる画面が思い浮かぶと思いますが、あれがソースコードです。




略して「ソース」とか「コード」と言ったりもします。


例えば、

「このボタンが押されたら、この画面を表示する」


とか、Twitterなら

「最新ツイートを取得してタイムラインの画面に表示する」


とか、Amazonなら

「商品ページでカートに入れるボタンが押されたら、商品をショッピングカートに入れる」


といったようにアプリには様々な処理が実装されていますが、


これらは全て、そのアプリの「ソースコード」にその処理内容が細かく書かれています。


このソースコードを書くのがプログラマーの仕事です。



プログラミング言語とは?


ソースコードは英単語が多いので、一見英語で書いているように見えますが、英文を書いている訳ではなく「プログラミング言語」という決められた書式で書いています。


プログラミング言語には多くの種類があります。

例えば、C、Java、PHP、Python、Rubyといった言語です。




プログラマーは自分の好みや、会社やチームで決められた言語を使ってソースを書いていきます。


また、アプリの種類によっては、この言語じゃないと作れないといった場合もあります。


ソースコードは、機能ごとや、画面ごとにファイルを分けて作っていきます。

これら1つ1つのファイルを「ソースファイル」と呼びます。




ソースファイルの拡張子は、例えばPHPなら「.php」、Javaなら「.java」、Rubyなら「.rb」、Pythonなら「.py」といったようになっているため、拡張子を見れば、どのプログラミング言語で記述されているのかがある程度分かります。




たった1つのソースファイルで構成される小規模なアプリもあれば、数千、数万のソースファイルで構成される大規模なアプリまで様々な規模のものがあります。



ソースコードは「翻訳」される


このように、プログラミング言語にはいくつかの種類があり、どれもプログラマーが書きやすいように「人間にとって分かりやすい書式」になっています。


しかし、そのままではコンピューターはその内容を理解することは出来ません。


コンピューターが直接理解出来るのは「0」と「1」で表現された「機械語」という形式なため、人間がプログラミング言語で書いたソースコードを、機械語に翻訳する必要があります。




この「翻訳」を行ってくれるのが「コンパイラ」「インタープリタ」というものです。


両者の違いは、


「あらかじめ翻訳したものを待機させておくか」
「実行時に同時翻訳するか」


です。


各プログラミング言語は、基本的にどちらかのタイプに分類されます。



※分かりやすいように一部簡略化しています。


CやJavaといった言語は「コンパイル方式」となっており、プログラマーはソースコードを書いたら、コンパイルという作業を行い、機械語に翻訳したものをあらかじめ準備します。


コンピューターは、既に翻訳済みのものを実行するので、実行速度が速いですが、反面、開発の手間が増えるというデメリットもあります。


一方、PHP、Python、Rubyといった言語は「インタープリタ方式」となっており、書いたソースコードを設置しておくだけで、実行時に同時翻訳してくれます。


こちらは、コンパイル方式とは逆に、実行速度は下がりますが、修正したソースコードを手軽に差し替えられたりと、開発の手間が少なくなります。



オープンソースとは?


このように、ソースコードは「アプリそのもの」となりますので、基本的に一般には非公開です。


しかし、あえてソースコードを一般公開することで、世界中のプログラマーに開発に参加してもらい、アプリをよりよくしていこうという考え方もあります。


これを「オープンソース」と言います。


ソースコードをオープンにするためそう呼ばれています。


サーバー系のOSで有名な「Linux」や、Webサーバーの「Apache」、データベースサーバーの「MySQL」、AtomやVSCodeなどのエディタもオープンソースのアプリなんです。


プログラミングが出来るようになると、こういった世界中のオープンソースプロジェクトに参加することも出来ます。


以上、今回は「ソースコード」というものの基本についてご説明しました。


ソースコードとは何か?というイメージがお分かり頂けましたでしょうか?


おすすめ記事