窓の杜Logo
バックナンバー
・ 2006年5月 ・
最終回:めも理、2年生に進級!? (06/05/15)
・ 2006年4月 ・
第152回:NTPサーバーと電話の時報 (06/04/24)
第151回:アプリケーションの強制終了とサッカーのレッドカード (06/04/17)
第150回:サードパーティと車の改造 (06/04/10)
第149回:送るメニューとスタントマン (06/04/03)
・ 2006年3月 ・
第148回:ダウンロードのレジュームと長編マンガの読書 (06/03/27)
第147回:プレイリストとお菓子のレシピ (06/03/20)
第146回:ホットスポットと宅配便 (06/03/13)
第145回:ファイルの関連付けと専門医 (06/03/06)
・ 2006年2月 ・
第144回:SpeedStepとめも理のマラソン (06/02/27)
第143回:CC、BCCとクラス会の案内状 (06/02/20)
第142回:トラックバックと掲載誌の贈呈 (06/02/13)
第141回:ブログと首相の記者会見 (06/02/06)
・ 2006年1月 ・
第140回:ハッシュ値と人間の指紋 (06/01/30)
第139回:ヒューリスティックエンジンと実験室 (06/01/23)
第138回:ネットバンキングとラーメンの出前 (06/01/16)
・ 2005年12月 ・
第137回:グループウェアと職員室 (05/12/19)
第136回:モーフィングとお餅 (05/12/12)
第135回:GIFアニメーションとパラパラマンガ (05/12/05)
・ 2005年11月 ・
第134回:アスキーアートとビーズ細工 (05/11/28)
第133回:相対パスと上の階 (05/11/21)
第132回:アドミニストレーターと賃貸マンションの管理人 (05/11/14)
第131回:デスクトップ検索と専属探偵 (05/11/07)
・ 2005年10月 ・
第130回:パターンファイルと犯罪捜査 (05/10/31)
第129回:仮想メモリとコインロッカー (05/10/24)
第128回:アフィリエイトと販売代理店 (05/10/17)
第127回:アカデミックパッケージと子供料金 (05/10/03)
・ 2005年9月 ・
第126回:ブルースクリーンと朝礼の貧血 (05/09/26)
第125回:スタンバイとビデオの一時停止 (05/09/12)
第124回:ソースコードとペーパークラフト (05/09/05)
・ 2005年8月 ・
第123回:WYSIWYGとレストラン入り口の食品サンプル (05/08/29)
第122回:NASと庭の納屋 (05/08/22)
第121回:アルゴリズムとプラモデルの組み立て説明書 (05/08/08)
第120回:ストリーミングと電話の問い合わせ (05/08/01)
・ 2005年7月 ・
第119回:RAWデータと映画の原作 (05/07/25)
第118回:OCRと教科書の朗読 (05/07/11)
第117回:ベリファイと時間割の確認 (05/07/04)
・ 2005年6月 ・
第116回:マルチモニターと机の合体 (05/06/27)
第115回:ポートと駅の北口 (05/06/20)
第114回:ポップアップと漫画のフキダシ (05/06/13)
第113回:SNSと同窓会のお知らせ (05/06/06)
・ 2005年5月 ・
第112回:代打のバッターと仮想プリンター (05/05/30)
第111回:ルアー釣りとフィッシング詐欺 (05/05/23)
第110回:楽器屋さんと統合アーカイバプロジェクト (05/05/16)
第109回:手抜き感想文とテンプレート (05/05/09)
・ 2005年4月 ・
第108回:ダンボール箱とメディア (05/04/25)
第107回:詰め込みメモとCSV形式 (05/04/18)
第106回:車の免許とタイムスタンプ (05/04/11)
第105回:借りっぱなしの本とWebブラウザーのキャッシュ (05/04/04)
・ 2005年3月 ・
第104回:クロスサイトスクリプティングとかご抜け詐欺 (05/03/28)
第103回:GREPとアンケート調査 (05/03/14)
第102回:タスクトレイと腕時計 (05/03/07)
・ 2005年2月 ・
第101回:QRコードと学校の下駄箱 (05/02/28)
第100回:100回記念企画 窓の杜編集部に行ってみよう!(実写版) (05/02/21)
第99回:ログと学級日誌 (05/02/14)
第98回:マウスジェスチャーと変身ヒーロー (05/02/07)
・ 2005年1月 ・
第97回:Webメールと美人秘書 (05/01/31)
第96回:ごみ箱のデータと学食の下膳台 (05/01/24)
第95回:IMEと執事と国語辞典 (05/01/17)
・ 2004年12月 ・
第94回:エンコード、デコードとカップラーメン (04/12/20)
第93回:ポリゴンとお風呂のタイル (04/12/13)
第92回:RSSと電車の吊り広告 (04/12/06)
・ 2004年11月 ・
第91回:ファイヤーウォールと空港の持ち物検査 (04/11/29)
第90回:スパイウェア、アドウェアと盗聴器 (04/11/22)
第89回:デフォルトとご飯の大盛り (04/11/15)
第88回:PDFと設計図 (04/11/08)
第87回:タブレットとスケッチブック (04/11/01)
・ 2004年10月 ・
第86回:IEコンポーネントとスポンジケーキ (04/10/25)
第85回:共有フォルダと部室の雑誌置き場 (04/10/18)
第84回:スキャンディスクとダムの検査 (04/10/04)
・ 2004年9月 ・
第83回:デバイスのドライバーと車の運転手 (04/09/27)
第82回:サービスパックと家のリフォーム (04/09/13)
第81回:FAQとトイレの張り紙 (04/09/06)
・ 2004年8月 ・
第80回:黒板消し落としとブラクラ (04/08/30)
第79回:予防接種とWindows Update (04/08/23)
第78回:十徳ナイフとファンクション・キー (04/08/09)
第77回:狐や狸と差出人詐称ウイルスメール (04/08/02)
・ 2004年7月 ・
第76回:穴埋め問題とオートコンプリート (04/07/26)
第75回:内線電話とLAN (04/07/12)
第74回:めも理の将棋とアンドゥー (04/07/05)
・ 2004年6月 ・
第73回:始業の準備とスタートアップ (04/06/28)
第72回:バリアフリーとアンチエイリアス (04/06/21)
第71回:太陽と月とRGBとCMYK (04/06/14)
第70回:カタカナ言葉と通信の暗号化 (04/06/07)
 

これ以前の連載一覧

【第124回】

ソースコードとペーパークラフト

(05/09/05)

めも理 窓太 めも理と窓太
登場人物紹介

 窓の杜高校、超パソコン部の部室。

 あらあら、めも理ちゃん。今日は何かブツブツ言っています。

 一体、何をつぶやいているのでしょうか?

お好み焼きソース

めも理  フランス料理の話なのか、それともお好み焼きの話なのか。

窓太  どうしたんですか、めも理ちゃん。何かあったのですか?

めも理  ああ、窓太いいところに来たわ。ねえ、“ソースコード”って何?
 ソースってつくから料理の話だと思うんだけど、コードがいまいち謎なのよね。

窓太  えー、ソースコードは、お料理のソースとは関係ないですよ。

めも理  えっ、そうなの? それじゃあソースコードって、一体何なの?

窓太  そうですね。ペーパークラフトの型紙のようなものですよ。

めも理  ペーパークラフト? うーん、よく分からないわね。

窓太  そうですか。それでは少し、説明することにしましょう。


ソースコード

4コマまんが
めも理と窓太の4コマまんが
「ソースコード」

窓太  さて、めも理ちゃんに質問です。
 ペーパークラフトを作ったことはありますか?

めも理  小さい頃に作ったことがあるわよ。
 ペーパークラフトの部品が印刷された型紙を切って、のりづけすれば完成するのよね。窓の杜でもよく紹介されているわね。

窓太  実はパソコンでも、このペーパークラフトの型紙と完成品のような関係になっているものがあるのです。

めも理  そうなの? それは、何なの?

窓太  ソースコードとアプリケーションです。

めも理  ソースコードとアプリケーション?

窓太  型紙があれば、めも理ちゃんがペーパークラフトを作れるように、ソースコードがあれば、アプリケーションを作れるのです。
 そしてソースコードというのは、“プログラム言語”で書かれたテキストファイルになっています。

めも理  プログラム言語って何?

窓太  プログラム言語は、人間が理解できる文章としてプログラムを書いていくための言葉と規則のことです。
 英語とか、フランス語などは人間向けの言語ですよね。プログラム言語は、コンピューター向けの言語と思っておけばよいです。
 昔説明した、Javaなどのことですよ。

  □窓の杜 - 【めも理と窓太のパソコン講座】第45回:Javaと小学生とランドセル
http://www.forest.impress.co.jp/article/2003/10/27/madota45.html

めも理  そういえば、教えてもらったわね。
 それじゃあ、ソースコードがあれば、何もしなくてもアプリケーションができあがるの?

窓太  そういうわけではありません。
 型紙があっても、めも理ちゃんが紙を切ったりのりづけしたりしないとペーパークラフトが完成しないように、ソースコードをアプリケーションに完成させるには、組み立てる人が必要です。
 それが、“コンパイラー”というツールです。

めも理  コンパイラー?

窓太  コンパイラーというのは、『ソースコードからアプリケーションを作ること』を仕事とするツールのことです。
 ペーパークラフトの型紙や組み立て説明書に日本語で指示が書いてあったら日本人向け、英語だとアメリカやイギリス人向け、フランス語だとフランス人向けとなりますよね。コンパイラーも、ソースコードに書かれたプログラム言語の種類ごとに対応するコンパイラーが存在しているのです。
 言いかえれば、各コンパイラーは対応するプログラム言語で書かれたソースコードからのみ、アプリケーションを作ることができます。ですから、ソースコードに書かれているプログラム言語に、きちんと対応したコンパイラーを選ぶ必要があります。

めも理  へー、コンパイラーね。そういった、アプリケーションを作るツールがあるんだ。

窓太  そうです。
 そしてインターネット上には、ペーパークラフトの型紙にあたるソースコードの形式でソフトが配布されていることもあります。
 また、アプリケーションにソースコードが同梱されていることもあります。

めも理  へー。でも、なぜそういうことをするの?

窓太  これは、そのソフトの利用条件が関係している場合があります。
 ライセンスによっては、自分でソースコードを改変して別のアプリケーションを作成できることもあります。
 またアプリケーション使用中に問題が起こった場合、ユーザー自身がソースコードを直接確認し、不具合を修正できるように、ソースコードが同梱されている場合もあります。
 そのほか、特定のプログラム言語を普及させるためにソースコードを配布していることもあります。
 ソースコードは、開発者の考え方や方針によって、配布されていたり配布されていなかったりします。

めも理  ふーん。いろんな理由や方針があるのね。
 ソースコードの世界も、なかなか奥が深そうね。

窓太  ええ、深いと思いますよ。
 また、プログラム言語のなかには、ソースコードをアプリケーションに変換しないで、ソースコードのまま実行できる場合もあります。

めも理  それはどういった場合なの?

窓太  これは、“インタープリター型言語”と呼ばれる種類のプログラム言語の場合です。
 この形式の言語でソースコードが書かれている場合は、ソースコードをアプリケーションという形に完成させる必要がなく、専用ツールを利用することでアプリケーションの状態にせずプログラムを実行できます。
 型紙から使い捨てのペーパークラフトを作って、使い終わったら捨てるようなものです。

めも理  へー、プログラム言語にもいろいろと種類があるのね。少し教えてよ。

窓太  コンパイラーを必要とするプログラム言語の代表例としては、C、C++、Javaなどがあります。
 インタープリター型言語としては、Javaスクリプト、Perl、BASICなどがよく知られていますね。

めも理  うーん、聞いてはみたけど、私の知らない用語ばかりだわ。
 なんだか、ディープな世界に足を踏み入れてしまったようね。


ペーパークラフト

めも理  ペーパークラフトの話を聞いたから、実際にペーパークラフトの型紙を印刷してみたわよ!

窓太  へー、どんなペーパークラフトができるんですか?

めも理  できてからのお楽しみよ!

──2時間後

窓太  できましたか?

めも理  うーん、間違って関係ない場所を切ったり、変なところをのりづけしてしまったわ。

窓太  はぁ、めも理ちゃんは壊れたコンパイラーのようなものですね。

めも理  何、それ?

窓太  不器用なめも理ちゃんでは、ペーパークラフトは作れないと言っているのです。

めも理  むきーっ、じゃあ窓太が作りなさいよ!

窓太  えー! トホホ、なぜ私がめも理ちゃんのためにペーパークラフトを作らないといけないんですか。


今回出てきた用語の解説

【ソースコード】 アプリケーションのもとになるファイル。実態はプログラム言語で書かれたテキストファイル。各プログラム言語に対応したコンパイラーを利用することで、アプリケーションの実行ファイルを作成できる。インタープリター型言語で書かれている場合、実行ファイルを作成せずに、ソースコードを専用ツールに読み込ませてプログラムを実行する。

【プログラム言語】 人間が理解できる文章としてプログラムを書いていくための言葉とその規則。C、C++、Javaなどさまざまな種類のプログラム言語が存在する。

【コンパイラー】 ソースコードからアプリケーション実行ファイルを作成するツール。ソースコードのプログラム言語ごとに、それぞれ異なるコンパイラーを使い分ける必要がある。

【インタープリター型言語】 プログラム言語の1種。コンパイラーを利用して事前に実行ファイルを作成するのではなく、アプリケーションを実行するときに、専用のアプリケーションでソースコードを毎回読み込み、その場でソースコードに書かれた処理を実行する方式。

クロノス・クラウン:柳井 政和




トップページへ
めも理と窓太のパソコン講座 INDEX へ
Copyright ©2005 Impress Corporation, an Impress Group company. All rights reserved.
編集部への連絡は お問い合わせはこちらをクリック まで