情報と地域
2007.07.06
プログラミング
とは何をすることか,ということを考えてみましょう.
プログラミングは人に買い物を頼む場合に似てい
るかも知れません.たとえば,人に頼んで自動販売機で飲み物を買ってもらうとします.その場
合に想定するのは,次のようなことでしょうか.
このような流れを図1のように記述することもよく行われます.このような図を
「フローチャート」と言います.
図1 自販機でのお使いの図
オープンソースソフトウェア(OSS)であるRubyですが,学習する環境や方法はいくつも
あります.今週の授業では,こちらもOSSの代表であるLinux上でプログラミング
を学習してみましょう.次週はWindows上で同じような作業を行って行きます.
ディレクトリを作る方法は2つあり,グラフィカルユーザインターフェイス(GUI)
を活用する方法とコマンドによる方法です.ここではとりあえずGUIを使って見
ましょう.画面(デスクトップ)の左の方にいくつかアイコンがありますが,その
中に「ホーム」とあるフォルダがあります.それをダブルクリックすると「ホー
ムディレクトリ」の中身を表示してくれるウィンドウが立ち上がります.これを
「ファイルマネージャー」と言いますが,そこでディレクトリ内容を示している
エリアで右クリックしたり,上部の「ファイル」メニューにある「フォルダを作
成」を選択したりして新しいディレクトリ(フォルダ)を作ってください.フォル
ダ名は何でも良いですが,英数字だけを使ったシンプルなものがUNIXの伝統です
ので,「ruby_script」とでもしておきましょう.
コマンド入力を促す記号を「コマンドプロンプト」と言いますが,今起動したター
ミナルではドルマーク$がそれに当たります.黒い四角が点滅しているところに
あります.ドルマークの左側はホスト名やユーザ名,ディレクトリ名など管理者
が必要と思われるものを表示するように設定したものですので,参考にしてくだ
さい.なお,ティルダ(~)は「ホームディレクトリ」を表す記号です.
今回は簡単なプログラムを作成していくだけですので,テキストエディタを使っ
て行く方法で十分でしょう.
他にも,自販機や飲料水のメーカを指定する場合があるかも知れませんが,とりあえず,
上のようなことが当然考えられます.ここで,重要なことは,あらかじめ想定さ
れる場合を漏れなくあげることと,必要に応じて処理を繰り返すことです.
本日,プログラミング作業を行うといくつかプログラムファイルができます.それ
らを保存するディレクトリ(Appleはこれを「フォルダ」というメタファを用いて
初心者に分かりやすく階層ディレクトリ構成を呈示しました)を作っておきましょ
う.「ホームディレクトリ」と呼ばれる,自分がファイルを置いたり作業したりす
る権限を持っているディレクトリがまずありますが,なんでもかんでもそこにファ
イルを置くのは見苦しいので,きちんと整理整頓するためにもディレクトリを作っ
ておくことが大切です.
Linuxを始めとするUNIXは,本来はコマンドにより各種作業を実行することが中
心でした.そのためにコマンドを入力すると,その意味を解釈してCPUに処理を
伝えるアプリケーションが必要です.それをUNIXでは「シェル」(shell)と言い
ます.この善し悪しが操作感を決めるので,好みに合わせていくつかのシェルが
開発されています.教室の環境ではbash(バッシュと呼びます)というbsh(ビーシェ
ル)系のシェルがデフォルトです.今日はこのシェルを使っていろいろな作業を
行うことになります.画面の上部に「タスクバー」と呼ばれる灰色の帯がありま
す.その中からコンピュータ画面のアイコンをクリックして起動します.起動さ
れるのは,gnomeターミナルと呼ばれる「ターミナル」です.名前の由来は大型
計算機の時代に,計算機はどこか見えない部屋の中にあって,ユーザには操作するための画
面と入力装置だけ
が用意されていたため,そのような操作する画面を持つ機械を「端末」と呼んで
いたことにあります.今は目の前の計算機をそのまま使用しているので「端末」
ではありませんが,gnomeターミナルのようなウィンドウはその当時のような操作環境をそのまま残しているので「仮想端末」
と言います.とにかく起動して見ましょう.
プログラムを作成するには,いくつかのパターンがあります.そのもっとも素朴
な形式は,「テキストエディタ」を利用して,自分でプロ
グラム(ソースともいいます)を入力して行き,あるファイル名で保存したものを
実行環境で実行するというものです.一方,これに対して,Microsoftの提供する
Visual Basic や Visual C++,また,BorlandのDelphiのように,プログラムを
作成するために専用のツール(アプリケーション)があり,その中で実行ができた
り,エラー検出と修正(デバッグ)の機能があったりするものもあります.後者を
統合開発環境 (IDE, Integrated Development Environment) ということもあり
ます.また,RDA (Rapid Development Application) とも呼ばれることがありま
す.