コンピュータで動かすものをプログラムって呼ぶよな。プログラムとは別にスクリプトってものもあるようですが、何が違うのでしょう。プログラミング言語によって違うものらしいが、そもそもプログラムってどうやって書くんでしょう。プログラムとスクリプトの違いや特徴をプログラマでもあるライターのwoinaryと一緒に解説していきます。

ライター/woinary

某社で社内向け業務システムの開発、運用を30年近くやっていたシステム屋さん。現在はフリーランス。ガジェットやゲーム、ラノベが大好きなおっさんです。

プログラムとスクリプトの違いは?

image by iStockphoto

コンピュータで動かすソフトウェアのことはアプリケーションやシステムなど様々な呼び方をします。その中でも一番よく出てくるのが「プログラム」です。プログラムを作る人を「プログラマー」プログラムを作ることを「プログラミング」と呼びます。

スクリプトとはそのプログラムの種類の1つです。スクリプトとプログラムは何が違い、どう使い分けるのでしょうか。まずはざっくりとその違いを見ていきます。

プログラム:コンピュータで実行するもの全般

プログラムとは一般的には「予定、計画、課程、式次第」を表します。コンピューターの世界では「コンピューターが処理する順番通りに、コンピューターが理解できる言葉で書かれたもの」です。コンピューターの機械を「ハードウェア」と呼ぶのに対して、プログラムのことを「ソフトウェア」とも呼びます。また「アプリケーション」を略して「アプリ」とも呼びますね。

このように様々な呼び方をされますが、一般的にはコンピューター上で実行するものをプログラムと呼びます。プログラムの中にも色々ありますが、それらを全部ひっくるめて「プログラム」と呼ぶのです。

スクリプト:簡単なプログラム

プログラムは巨大で複雑なものから、簡単で短いものまで様々です。プログラムの中でもさっと書いて手軽に使うものが「スクリプト」ですプログラムを書いて動かすには、いくつかの手順が必要です。それを省略して少ない手順で実行することができるのがスクリプト

これだけではよく分からないかと思いますが、おいおい説明していきますのでまずは簡単なプログラムがスクリプトと考えてください。

プログラムって何?どうやって動かすの?

image by iStockphoto

最初にプログラムは「コンピューターに理解できる言葉で書かれたもの」と説明しました。その理解できる言葉が機械語です。人間がいきなり機械語でプログラムを書くのは難しいため人間が理解できるものが必要になります。それがプログラミング言語。人間が理解できるけどコンピューターが理解できないプログラミング言語と、コンピューターは理解できるけど人間が理解できない機械語を変換する必要がありますね。

続いて、その「変換」について説明していきます。

\次のページで「プログラムはコンピュータが理解できるもの」を解説!/

プログラムはコンピュータが理解できるもの

パソコンでアイコンをダブルクリックしてプログラムを実行しますよね。このファイルをメモ帳で開いてみると、人間には理解できない英数字の羅列が出てきたり、エラーになったりします。これが機械語で書かれたプログラムです。人間には意味が分かりませんが、コンピューターはここに書かれている命令文の指示の通りに動きます。

この人間には理解できないものが「バイナリコード」や「バイナリファイル」と呼ばれるプログラムです。略して「バイナリ」と呼ぶこともあります。

プログラムの元、ソースコードとは?

人間は機械語でプログラム(バイナリコード)をいきなり書くのは難しいので、プログラミング言語でプログラムを書きます。そのプログラミング言語で書いたプログラムが「ソースコード」です。略して「ソース」とも呼びます。ソース(source)は出どころや源泉という意味です。料理のソース(sauce)とは違うので注意してください。

ソースコードは人間に理解できるものですので、普通の文字で書いたテキストファイルです。メモ帳で開いても中身が正常に表示されます。

スクリプトとスクリプト言語とは

ここまでプログラムは「ソースコード」と「バイナリコード」があることを説明してきました。ソースコードのままではコンピューターは動かないので、内容を変更するたびにバイナリコードに変換する必要があります。プログラムが完成すれば変換したバイナリコードだけあれば良いですが、作成中など手直しが必要になるたびに毎回変換していたのでは面倒ですよね。

そこで生まれたのがスクリプト言語というプログラミング言語です。スクリプト言語のソースコードを特に「スクリプト」と呼びます。スクリプトとは芝居の台本や脚本のこと。これを見て役者が演じますよね。また、脚本家がその場で直して内容が変わると、役者も演技を変えます。このようにさっと書き直してすぐに動かすのがスクリプトです。

プログラミング言語の種類と特徴は?

image by iStockphoto

プログラムはソースコードを変換してバイナリコードにします。では、その「変換」はどのようにするのでしょう。また、スクリプトはなぜ簡単に実行できるのかを見ていきます。ざっくり言えば、映画の吹き替えと同時通訳の違いです。

インタープリタとコンパイラ

ソースコードからバイナリコードへの変換は英語から日本語への翻訳に似ています。翻訳にも映画の吹き替えや翻訳した書籍などのあらかじめ翻訳したものと、同時通訳のような翻訳しながら話すものがありますよね。プログラムも同じです。あらかじめソースコードを翻訳してから実行する方式と、ソースコードを翻訳しながら実行する方式があります

ソースコードを変換してから実行するものがコンパイラ変換しながら実行するものがインタープリタです。コンパイラは編集者。編集には資料を集めてまとめるという意味があります。プログラムも複数のソースコードを集めて1つのバイナリコードにまとめることが由来です。インタープリタは通訳。ソースコードを通訳しながら実行するためです。

\次のページで「さっと書いて手軽に使えるスクリプト言語」を解説!/

さっと書いて手軽に使えるスクリプト言語

ソースコードをバイナリコードに変換しながら実行するのがインタープリタで、そのようなプログラミング言語がインタープリタ言語です。またソースコードをさっと書いてすぐに使えることから「台本、脚本」を意味するスクリプトからスクリプト言語とも呼ばれています。

スクリプト言語はソースコードを変更してもすぐに動かすことができるため、さっと書いて手軽に使えるのが最大のメリット。初期のスクリプト言語はあまり難しいことはできませんでしたが、最近のものは複雑で大きなプログラムに使うことも。例えばInstagramはPython、WikipediaはPHPというスクリプト言語が使われています。他にもブラウザで動きのあるWebを表示するためのJavaScriptや、日本人が開発したRubyが有名です。

複雑なシステムで使うコンパイル言語

一方、規模が大きく複雑なプログラムはスクリプト言語ではなく、コンパイラ言語が使われることが多いです。例えば、Twitter。初期はRubyを使っていましたが、現在はJavaとScalaというコンパイラ言語を使っています。また、ブラウザのChromeで使っているのはC++言語です。

大きくて複雑なプログラムを作るためのプログラミング言語には、プログラマが作りやすくするための機能や問題を事前に知らせる機能が用意されています。プログラムをさっと書いてすぐに動かすよりも、プログラムの不具合を見つけるデバッグのための機能が重視されるのです。

スクリプトとプログラム、どちらが速い?

スクリプトはソースコードを変換しながら動きます。そのため、あらかじめバイナリコードに変換済みのプログラムに比べると実行時間がかかるのです。また、あらかじめ時間をかけて変換するコンパイラ言語に比べ、その場で変換するインタープリタ(スクリプト)言語では、変換したプログラムの効率も劣ってしまいがち。ニュースの同時通訳でも、英語の話を聞きながら通訳するので日本語の文章としては分かりにくいこともありますよね。

スクリプト言語は手軽である反面、どうしてもプログラムが遅いのがデメリット。そのため、大きなプログラムではコンパイラ言語とインタープリタ(スクリプト)言語を使い分けることもあります。

\次のページで「プログラムはコンピュータで実行するもの、スクリプトはその中で手軽なもの」を解説!/

プログラムはコンピュータで実行するもの、スクリプトはその中で手軽なもの

プログラムは機械が理解できる言葉、機械語のバイナリコードを実行します。人間には分かりにくいのでプログラミング言語で書いたソースコードからバイナリコードへの変換が必要です。この時、あらかじめ変換してから実行するのがコンパイラ言語変換しながら実行するのがインタープリタ言語インタープリタ言語は台本を意味するスクリプト言語とも呼ばれます。

スクリプト言語はさっと書いてすぐ動かせるのがメリットです。逆にコンパイラ言語は変換したものを動かすので実行時間が短いのがメリットになります。それぞれ特徴があるので、プログラムによって使い分けたり、組み合わせるのです。最近はスクリプト言語も進化しており、有名で利用者の多いサービスでも使われています。

" /> プログラムとスクリプトの違いとは?バイナリやソース・プログラムの種類もプログラマーがわかりやすく解説 – Study-Z
IT・プログラミング雑学

プログラムとスクリプトの違いとは?バイナリやソース・プログラムの種類もプログラマーがわかりやすく解説

コンピュータで動かすものをプログラムって呼ぶよな。プログラムとは別にスクリプトってものもあるようですが、何が違うのでしょう。プログラミング言語によって違うものらしいが、そもそもプログラムってどうやって書くんでしょう。プログラムとスクリプトの違いや特徴をプログラマでもあるライターのwoinaryと一緒に解説していきます。

ライター/woinary

某社で社内向け業務システムの開発、運用を30年近くやっていたシステム屋さん。現在はフリーランス。ガジェットやゲーム、ラノベが大好きなおっさんです。

プログラムとスクリプトの違いは?

image by iStockphoto

コンピュータで動かすソフトウェアのことはアプリケーションやシステムなど様々な呼び方をします。その中でも一番よく出てくるのが「プログラム」です。プログラムを作る人を「プログラマー」プログラムを作ることを「プログラミング」と呼びます。

スクリプトとはそのプログラムの種類の1つです。スクリプトとプログラムは何が違い、どう使い分けるのでしょうか。まずはざっくりとその違いを見ていきます。

プログラム:コンピュータで実行するもの全般

プログラムとは一般的には「予定、計画、課程、式次第」を表します。コンピューターの世界では「コンピューターが処理する順番通りに、コンピューターが理解できる言葉で書かれたもの」です。コンピューターの機械を「ハードウェア」と呼ぶのに対して、プログラムのことを「ソフトウェア」とも呼びます。また「アプリケーション」を略して「アプリ」とも呼びますね。

このように様々な呼び方をされますが、一般的にはコンピューター上で実行するものをプログラムと呼びます。プログラムの中にも色々ありますが、それらを全部ひっくるめて「プログラム」と呼ぶのです。

スクリプト:簡単なプログラム

プログラムは巨大で複雑なものから、簡単で短いものまで様々です。プログラムの中でもさっと書いて手軽に使うものが「スクリプト」ですプログラムを書いて動かすには、いくつかの手順が必要です。それを省略して少ない手順で実行することができるのがスクリプト

これだけではよく分からないかと思いますが、おいおい説明していきますのでまずは簡単なプログラムがスクリプトと考えてください。

プログラムって何?どうやって動かすの?

image by iStockphoto

最初にプログラムは「コンピューターに理解できる言葉で書かれたもの」と説明しました。その理解できる言葉が機械語です。人間がいきなり機械語でプログラムを書くのは難しいため人間が理解できるものが必要になります。それがプログラミング言語。人間が理解できるけどコンピューターが理解できないプログラミング言語と、コンピューターは理解できるけど人間が理解できない機械語を変換する必要がありますね。

続いて、その「変換」について説明していきます。

\次のページで「プログラムはコンピュータが理解できるもの」を解説!/

次のページを読む
1 2 3 4
Share: