ソースコード:プログラムの設計図
ICTを知りたい
先生、「ソースコード」って、どんなものですか? プログラムと関係あるって聞いたんですけど。
ICT研究家
良い質問だね! 「ソースコード」は、プログラマーがコンピュータに指示を出すための言葉で書かれたものなんだ。 例えば、コンピュータに「こんにちは」と表示させたい場合、 それを実現するための命令を、プログラミング言語を使って書いていくんだ。その書いたものがソースコードだよ。
ICTを知りたい
なるほど。つまり、コンピュータに理解できる言葉で書かれた指示書みたいなものなんですね! でも、コンピュータの種類によって使う言葉が違うんですか?
ICT研究家
その通り! コンピュータに指示を出すための言葉は色々あってね。 それぞれ特徴があるから、作るものに合わせて使い分けるんだ。 例えば、「C言語」や「Java」など、色々な言葉があるんだよ。
ソースコードとは。
コンピュータやインターネットに関係する言葉で「ソースコード」というものがあります。これは、プログラムの動作をコンピュータに指示する命令を、プログラミング言語と呼ばれる特別な言葉で書いたものです。この命令書は、テキストファイルという形式で保存され、ファイル名の最後には、使っているプログラミング言語によって「.c」や「.js」といった目印が付けられます。例えば、C言語なら「.c」、JavaScriptなら「.js」といった具合です。BASICやPython、JavaScriptなど、いくつかのプログラミング言語では、このソースコードから直接プログラムを動かすことができます。一方、C言語やJavaなど、別の種類のプログラミング言語では、ソースコードをコンピュータが理解しやすい形に変換する「コンパイル」という作業が必要です。この作業を終えて初めて、プログラムを動かすことができるようになります。かつて、ソースコードは企業の重要な秘密として厳重に守られていました。現在でも、この考え方は変わりません。しかし最近では、ソースコードを積極的に公開することで、多くの開発者に開発に参加してもらいやすくする「オープンソース」という考え方が広まっています。MicrosoftやGoogleといった大企業も、自社製品の一部でソースコードを公開するようになっています。
プログラムの設計図
コンピュータプログラムは、人間が作成した指示書に従って様々な処理を行います。この指示書は、コンピュータが理解できる特殊な言葉で書かれており、これをソースコードと呼びます。人間が普段使用している言葉と違い、コンピュータ向けの言葉は厳密なルールに従って記述する必要があります。このルールをプログラミング言語と呼び、様々な種類が存在します。
ソースコードは、コンピュータへの指示を順番に記述したものです。例えば、画面に特定の文字を表示させる、数値を計算する、他のプログラムを起動するといった指示を、プログラミング言語のルールに従って記述していきます。これらの指示は、コンピュータによって一行ずつ解釈され、実行されます。
つまり、ソースコードはプログラムの設計図と言えるでしょう。建築家が設計図に基づいて家を建てるように、プログラマーはソースコードに基づいてコンピュータプログラムを組み立てていきます。ソースコードは、プログラムの構造や動作を理解する上で非常に重要な役割を果たします。
用語 | 説明 |
---|---|
コンピュータプログラム | 人間が作成した指示書に従って様々な処理を行うもの |
指示書 | コンピュータが理解できる特殊な言葉(ソースコード)で書かれたもの |
ソースコード |
|
プログラミング言語 | ソースコードを記述するための厳密なルール、様々な種類が存在 |
テキストファイル形式と拡張子
私たちが普段コンピュータ上で扱うファイルには、画像や動画、音楽など様々な種類が存在しますが、これらのファイルの中でも、文字情報のみで構成され、人間が直接内容を理解・編集できる形式を「テキストファイル形式」と呼びます。例えば、コンピュータプログラムの命令を記述した「ソースコード」も、このテキストファイル形式で作成されます。
テキストファイル形式のファイルは、Windowsに標準搭載されている「メモ帳」や、より高機能な「TeraPad」などのテキストエディタを用いることで、開いたり編集したりすることが可能です。これらのエディタでは、文字の色や大きさなどを変更したり、行番号を表示したりと、様々な機能を利用することができます。
また、ファイルの種類を識別するために、ファイル名の最後に「.」(ドット)に続いて短い文字列を付加することが一般的です。この文字列を「拡張子」と呼びます。拡張子は、ファイルの種類を示す役割を担っており、例えば、C言語のソースコードであれば「.c」、Javaであれば「.java」といったように、使用するプログラミング言語によって異なります。
このように、テキストファイル形式と拡張子は、コンピュータ上で情報を適切に管理するために重要な役割を担っています。
項目 | 説明 |
---|---|
テキストファイル形式 | 文字情報のみで構成され、人間が直接内容を理解・編集できるファイル形式 |
テキストエディタ | テキストファイル形式のファイルを開いたり編集したりするためのソフトウェア(例:メモ帳、TeraPad) |
拡張子 | ファイル名の最後に付加される「.」(ドット)に続く短い文字列。ファイルの種類を示す。 |
拡張子の例 | – C言語:.c – Java:.java |
インタプリタ言語とコンパイラ言語
コンピュータプログラムを作成する際に使用するプログラミング言語には、大きく分けて二つの種類があります。それが、「解釈する」言語であるインタプリタ言語と、「翻訳する」言語であるコンパイラ言語です。
インタプリタ言語は、人間が書いたプログラムを一行ずつコンピュータが理解できる言葉に翻訳しながら、同時に実行していく方式です。この方式は、プログラムを変更した場合でも、すぐにその結果を確認できるという利点があります。例として、BASICやPythonなどが挙げられます。
一方、コンパイラ言語は、プログラムを実行する前に、事前にプログラム全体をコンピュータが理解できる機械語に翻訳する必要があります。この翻訳作業を「コンパイル」と呼びます。コンパイルによって作成されたファイルを実行することで、プログラムが動作します。この方式は、一度コンパイルを済ませてしまえば、実行速度が速いという利点があります。例として、C言語やJavaなどが挙げられます。
どちらの言語にもそれぞれ利点と欠点があるため、開発するプログラムの目的や規模に応じて使い分けることが重要です。
項目 | インタプリタ言語 | コンパイラ言語 |
---|---|---|
翻訳方式 | 一行ずつ翻訳しながら実行 | プログラム全体を事前に翻訳(コンパイル) |
実行速度 | 遅い | 速い |
変更の確認 | 容易 | コンパイルが必要 |
例 | BASIC, Python | C言語, Java |
企業秘密とオープンソース
これまで、コンピュータープログラムの設計図にあたるソースコードは、企業にとって重要な財産であり、厳重に管理されてきました。なぜなら、ソースコードは企業の競争力を左右する重要な秘密情報とみなされてきたからです。しかし近年、ソフトウェア開発の世界では、従来の考え方とは全く異なる、新しい動きが注目されています。それは「オープンソース」と呼ばれる考え方です。オープンソースとは、ソースコードを広く一般に公開し、誰でも自由に使用、変更、再配布することを可能にするという、画期的な考え方です。
オープンソースの考え方に基づいて開発されたソフトウェアは、「オープンソースソフトウェア」と呼ばれ、現在、世界中で広く普及しています。例えば、パソコンやサーバー用の基本ソフトとして広く利用されている「Linux(リナックス)」や、スマートフォン用の基本ソフトとして高い人気を誇る「Android(アンドロイド)」などは、いずれもオープンソースソフトウェアの代表例です。
オープンソースソフトウェアは、誰でも自由に改良を加えることができるため、多くの開発者によってその機能や性能が向上していくという利点があります。また、無償で利用できる場合が多いことも、オープンソースソフトウェアが広く普及している理由の一つと言えるでしょう。
従来のソフトウェア開発 | オープンソースソフトウェア開発 |
---|---|
ソースコードは非公開 | ソースコードを一般公開 |
企業の重要な秘密情報として厳重に管理 | 誰でも自由に使用、変更、再配布が可能 |
開発はクローズドな環境で行われる | 多くの開発者によって開発が進められる |
Linux, Android 等 |
大企業によるソースコード公開
近年、マイクロソフトやグーグルといった巨大な情報技術企業が、自社製品の一部のプログラムの設計図を公開する動きが広がっています。これは、誰でも自由にプログラムを利用したり、改良したりできるという考え方が世界的に広まったこと、そして、プログラムを作る人たちの集団との連携を強めることで、より優れた製品開発につなげたいという狙いがあります。
これまで、企業が開発したプログラムは企業秘密として厳重に守られてきました。しかし、近年はプログラムを公開することで、世界中の開発者からプログラムの誤りに関する報告や、機能改善の提案を受けられるようになり、結果としてソフトウェアの品質向上や開発速度の加速につながることが分かってきました。
例えば、あるプログラムにセキュリティ上の欠陥が見つかったとします。プログラムが公開されていれば、世界中の開発者がその欠陥を見つけて修正することができます。一方、プログラムが非公開であれば、開発元の企業だけがその欠陥に対処しなければならず、修正に時間がかかってしまう可能性があります。
このように、巨大企業がプログラムの設計図を公開する動きは、ソフトウェア開発のあり方を変え、より良い製品やサービスを生み出す力となりつつあります。
巨大IT企業のプログラム公開 | 従来のプログラム開発 |
---|---|
プログラム設計図を公開 | 企業秘密として厳重に管理 |
誰でも利用・改良が可能 | 企業内での開発に限定 |
世界中の開発者と連携 | 開発は自社のみ |
品質向上・開発速度向上 | 修正に時間・コストがかかる |